- 下载Apache文件:wget http://archive.apache.org/dist/httpd/httpd-2.2.20.tar.gz
解压缩,然后:
./configure --prefix=/data/system/apache --enable-so --enable-modules=all --enable-mods-shared=all --enable-cache --enable-file-cache --enable-mime-magic --with-ssl --with-mpm=worker --enable-mem-cache --enable-disk-cache --enable-static-support --enable-static-htpasswd --enable-static-htdigest --enable-static-rotatelogs --enable-static-logresolve --enable-static-htdbm --enable-static-ab --enable-static-checkgid --enable-mod_cgi --enable-ssl --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-scgi --enable-proxy-ajp
make WITH_PROXY_MODULES=yes
make install.
- 将apache加入自启动:
一般情况,如果是手动编译的话,apache是没有启动脚本的,也就是说用户不能通过简单的/etc/init.d/httpd(start|stop|restart)来启动/关闭/重新启动。
其实在源码里已经有启动的脚本,我们要修改下即可,把Apache加入系统SysV服务中来。
在源码httpd-2.x.x/build/rpm中存在httpd.init
拷贝命令如下:
cp httpd.init /etc/init.d/httpd
拷贝之后,注意其中有三处主要的地方需要修改下的:
httpd=${HTTPD-/usr/local/apache/bin/httpd} pidfile=${PIDFILE-/usr/local/apache/logs/${prog}.pid} CONFFILE=/usr/local/apache/conf/httpd.conf
请根据自己的实际情况更改相应的路径!
然后运行如下命令:
chmod +x /etc/init.d/httpd chkconfig --add httpd chkconfig --level 2345 httpd on
chkconfig --list|grep httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
这样一来,启动、停止、重启Apache就可以用以下方式了:
/etc/init.d/httpd start /etc/init.d/httpd stop /etc/init.d/httpd restart
-Install PHP-----
- 下载php5.3.18文件(wget http://us2.php.net/get/php-5.3.18.tar.gz/from/ar2.php.net/mirror)
解压缩,然后:
cd src/php-5.3.18/
./configure --prefix=/usr/local/php5.3.18 --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php5.3.18/etc --with-mysql=/usr/local/mysql5 --with-mysqli=/usr/local/mysql5/bin/mysql_config --with-mysql-sock=/usr/local/mysql5/tmp/mysql.sock --with-iconv --with-gettext --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir= --enable-xml --with-layout=GNU --with-pcre-regex --enable-filter --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-simplexml --enable-libxml --enable-dom --enable-ftp --enable-shmop --enable-sysvsem --enable-json --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-mcrypt --enable-ctype --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --enable-fileinfo --enable-pdo --with-pdo-mysql=/usr/local/mysql5/ --enable-fastcgi --enable-cgi --enable-gd-native-ttf --with-ldap --with-ldap-sasl
(可能额外要加的命令:
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib
cd extra/phar/
cp ./phar.php ./phar.phar
)
*如果是编译支持mysqlnd,MySQL本地的支持库,那么不需要安装好MySQL就可以安装PHP,把上面编译参数中的对应的3个替换成:
--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd,这样编译出来mysql客户端库版本只和php源码中提供的mysql库一致。
(可能额外要加的命令:
tar -zxvf libmcrypt-2.5.7.tar.gz 或者yum install libmcrypt libmcrypt-devel
cd libmcrypt-2.5.7
cd libltdl
./configure --enable-ltdl-install
make&&make install
)
*运行configure命令时间较短,10秒结束。
make&&make install
*运行make命令时间较长,8分钟结束。
#拷贝生成php.ini文件,上面默认编译是不会生成的.
cp src/php-5.3.18/php.ini-production /usr/local/php5.3.18/etc/php.ini
----------
- 编辑 httpd.conf
LoadModule php5_module lib/modules/libphp5.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php5
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php-source .php5s
DirectoryIndex index.php
DirectoryIndex index.php5
PHPIniDir "/usr/local/php5.3.18/etc/" //必须手工指定php.ini文件的目录,才能生效
添加虚拟主机配置:
Include conf/vhosts.conf
--------
- 添加PHP其他子模块,比如:curl
cd /php-5.3.18/ext/curl/
/usr/local/php5.3.18/bin/phpize
./configure --with-php-config=/usr/local/php5.3.18/bin/php-config
make
make install
生成curl.so在目录
编辑/usr/local/php5.3.18/etc/php.ini,加上
extension_dir = "/usr/local/lib/php/extensions/no-debug-zts-20090626/curl.so"
- 搭建vsftpd服务器
yum install vsftpd.
通常我们要apache+wordpress建站,那么要建立的ftp帐号要能写到网站主目录,这种情况下,一般都是: 产生1个webuser用户,加入apache的daemon组,这样当后台产生目录的时候,owner是webuser:daemon,当把webuser加入到daemon组,同把目录的组写权限打开(777),那么webuser就能写文件到目录,apache自身运行用户也能写文件到目录, 所以执行顺序是 :
1)增加用户webuser,加入到组daemon,主目录为ftp要上船的目录
adduser -d /data/www/ -g daemon webuser
passwd webuser
chown -hR webuser:daemon /data/www/
2)时刻保持目录为可写,在cronjob里加入定时任务,这样在wordpress后台创建的目录就是有可写权限了.
crontab -e
30 * * * * chmod -cR 777 /data/www/
3)其他可以能需要运行的命令:
sudo -P setsebool allow_ftpd_full_access on
give SELinux permissions to that directory:
chcon -R -h -t httpd_sys_content_t /data/www/
本文参考了:
http://hi.baidu.com/travel981cn/item/bd198c578cdb269509be172f
http://blog.sina.com.cn/s/blog_6238358c0100hhog.html
http://teddysun.com/147.html