httpd-2.2.16# ./configure -prefix=/usr/local/apache -enable-so -enable-rewrite -enable-expires –enable-cache -enable-mem-cache
解释一下configure指令。–prefix 是按照目录。enable后面模块选项。这里选择一些常用的模块,so是支持动态链接机制上加载DSO模块。后面装PHP时就会创建一个so的php模 块。rewrite就是常用到的重写。expires是控制HTTP 的”Expires:”和”Cache-Control:”头内容,PHP用 header控制缓存时要用到。其他的就不都说了,具有可以参考Apache
4> 安装httpd-2.2.16#make
httpd-2.2.16#make install
5> 启动apache2
#sudo /usr/local/apache/bin/apachectl -k start
然后在浏览器打开 http://localhost
如果安装成功则 上面写着:it works!
6> 安装mysql
sudo yum install mysql* , 将所有的mysql组件安装完成,默认安装位置为 /usr/share/mysql
7> 安装php5
从php官方网站下载php-5.3.3.tar.bz2,将其解压到php-5.3.3
# cd php-5.3.3
编译phpphp-5.3.3#./configure –prefix=/usr/local/php -with-config-file-path=/usr/local/lib -with-apxs2=/usr/local/apache2/bin/apxs -with-mysql=/usr/share/mysql -with-zlib -enable-mbstring -enable-xml
安装
php-5.3.3#make
php-5.3.3# make install8> 将php配置文档复制到/usr/local/lib
php-5.3.3# sudocp php.ini-development /usr/local/lib/php.ini
将libphp5.so复制到apache目录下。
php-5.3.3# sudocp /libs/libphp5.so /usr/local/apache2/moudules/libphp5.so
php安装完成
9> 重启apache2
# #sudo /usr/local/apache/bin/apachectl -k restart
此时你可能会得到如下错误
httpd: Syntax error on line 54 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
意思是说此时服务器不能加载php模块,Permission denied说明这是一个权限问题,使用下面的命令可以解决该问题# sudo chcon /usr/local/apache2/modules/libphp5.so -t texrel_shlib_t
此时可以启动apache2
10> 测试php页面
当经过上述步骤之后,有可能出现服务器无法解析php页面,例如
test apache2home page
for($i=0;$i<10;$i++){
echo "good
";
}
?>
在页面上原样显示出来,没有解析。
现在你需要在/usr/local/apache2/conf/httpd.conf中添加如下两行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
重启服务器,现在你可以得到正常显示页面
11 > 将apache2添加到系统服务#sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
现在可以使用
# sudo service httpd restart 来重启服务器。