作者:dasda | 来源:互联网 | 2014-05-28 09:06
之前买了一个vps,全新安装了apache,php,mysql,vsftpd,subversion。花了不少时间,遇到问题就请教baidu/google,从中也学了不少东西,在安装过程中把每个步骤都做了笔记,并且在必要的地方辅以说明,以备自己或有幸到来的朋友不时之需。首先做个约定,
之前买了一个vps, 全新安装了apache, php, mysql, vsftpd, subversion。
花了不少时间,遇到问题就请教baidu/google,从中也学了不少东西,在安装过程中把每个步骤都做了笔记,并且在必要的地方辅以说明,以备自己或
有幸到来的朋友不时之需。
首先做个约定,这个不是必须的,但一般大家都会遵守这个习惯
1. 所有要下载的源码包放在 /usr/local/src 下
2. 所有程序安装在 /usr/local 下
一. 准备编译安装环境
yum install gcc
yum install cpp
yum install gcc-c++
yum install ncurses
yum install ncurses-devel
# 由于是新装的系统,缺少c编译器,先使用yum工具安装之
yum install gd-devel php-gd
yum install zlib-devel
yum install freetype-devel freetype-demos freetype-utils
yum install libpng-devel libpng10 libpng10-devel
yum install libjpeg-devel
yum install ImageMagick
yum install flex
yum install ImageMagick-devel
yum install curl
yum install curl-devel
yum install libxml2-devel
# 用于安装php的库
yum install expat
yum install expat-devel
# 用于安装subversion的库
二. 安装mysql
wget
http://mysql.he.net/Downloads/MySQL-5.1/mysql-5.1.44.tar.gz
# 下载mysql源码包。
grep mysql /etc/group
# 查询系统中是否有mysql这个用户组,没有则添加。
groupadd mysql
# 增加一个名为mysql的用户组。
grep mysql /etc/passwd
# 查询系统中是否有mysql这个用户,没有则添加。
useradd mysql -g mysql -M -s /sbin/nologin
#增加一个名为mysql的用户。
-g:指定新用户所属的用户组 (group)
-M:不建立根目录
-s:定义其使用的shell,/sbin/nologin代表用户不能登录系统。
cd /usr/local/src
tar -zxvf mysql-5.1.44.tar.gz
cd mysql-5.1.44
./configure --prefix=/usr/local/mysql
--with-unix-socket-path=/tmp/mysql.sock
--localstatedir=/usr/local/mysql/data --with-charset=utf8
--without-debug --enable-assembler
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static
make
make install
./scripts/mysql_install_db
# 初始化系统库。
cp support-files/my-medium.cnf /etc/my.cnf -fv
# 设置mysql配置文件。-f,删除目标中同名的文件或目录,并且不给任何提示。
cp support-files/mysql.server /etc/init.d/mysqld
# 添加到起动脚本
chmod 700 /etc/init.d/mysqld
cd /usr/local
chmod 750 mysql -R
chown -R mysql.mysql /usr/local/mysql
# 设置所有者,mysql起动时会以mysql用户的身份运行,这样可以提高系统的安全性。
chown -R mysql.mysql /usr/local/mysql/data
cd /usr/local/mysql/libexec
cp mysqld mysqld.old
strip mysqld
chkconfig --add mysqld
# 添加一个服务
chkconfig --level 345 mysqld on
# 设置开机时起动
service mysqld start
# 启动mysql服务
ln -s /usr/local/mysql/bin/mysql /sbin/mysql
ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin
ln -s /usr/local/mysql/bin/mysqldump /sbin/mysqldump
mysqladmin -uroot password "**************"
# 设置root帐户的密码
mysql -uroot -p
mysql>use mysql;
mysql>delete from user where password="";
# 删除用于本机匿名连接的空密码帐号
mysql>flush privileges;
mysql> show databases;
三. 安装apache
cd /usr/local/src/
wget http://archive.apache.org/dist/httpd/httpd-2.2.14.tar.gz
chmod +x httpd-2.2.14.tar.gz
tar -zxvf httpd-2.2.14.tar.gz
# 下载并解压apache源文件
cd httpd-2.2.14
./configure --prefix=/usr/local/apache2 --enable-so
--enable-rewrite=share --enable-dav=share --enable-dav-fs
--enable-so
指定允许DSO(动态共享对像)
--enable-rewrite=share
开启Rewrite支持,以实现URL静态化,建议开启。
--enable-dav-fs
开启WebDAV支持,svn服务器等需要
make
make install
# 如果没有错误的话,那么Apache就已经安装在/usr/local/apache2目录中了
/usr/local/apache2/bin/apachectl start
# 启动服务
cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
vim /etc/rc.d/init.d/httpd
在 #!/bin/sh 下增加如下两行
# chkconfig: 35 70 30
# description: Apache
chkconfig --add httpd
service httpd stop
service httpd start
# 将apache添加为随机启动
四. 安装php
cd /usr/local/src
wget http://cn.php.net/distributions/php-5.2.13.tar.gz
tar -zxvf php-5.2.13.tar.gz
# 下载并解压php源文件
cd php-5.2.13
./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql
--with-apxs2=/usr/local/apache2/bin/apxs
--with-config-file-path=/usr/local/php5 --with-gd --with-jpeg-dir
--with-png-dir --with-ttf --with-zlib --enable-mbstring
--enable-ftp --with-freetype-dir --with-libxml-dir --with-curl
make
make test
make install
# 编译安装php
cp php.ini-dist /usr/local/php5/php.ini
vi /usr/local/apache2/conf/httpd.conf
加上:
AddType application/x-httpd-php .php
查找DirectoryIndex,修改为
DirectoryIndex index.html index.php
# 修改php配置文件
yum install autoconf
cd /usr/local/src/php-5.2.13/ext/pdo_mysql
/usr/local/php5/bin/phpize
./configure --with-php-cOnfig=/usr/local/php5/bin/php-config
--with-pdo-mysql=/usr/local/mysql
make
make install
# 安装php的pdo_mysql扩展
五. 安装vsftpd
yum -y install vsftpd*
yum -y install pam*
yum -y install db4*
# 安装vsftpd
chkconfig vsftpd on
useradd vsftpd -M -s /sbin/nologin
userdel -r ftp
useradd ftp -M -s /sbin/nologin
更多centos下vsftpd安装与配置请参考
http://os.51cto.com/art/201002/184610.htm
六. 安装subversion
cd /usr/local/src
tar -zxvf apr-1.3.9.tar.gz
cd apr-1.3.9
./configure --prefix=/usr/local/apr
make
make install
cd /usr/local/src
tar -zxvf apr-util-1.3.9.tar.gz
cd apr-util-1.3.9
./configure --prefix=/usr/local/apr-util
--with-apr=/usr/local/apr
make
make install
tar -zxvf subversion-1.5.7.tar.gz
tar -zxvf subversion-deps-1.5.7.tar.gz
./configure --prefix=/usr/local/subversion
--with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util
make
make install