起因
无语的百度检测给了网站安全检测12分的低分,说是apache2.2.27有巴拉巴拉多的漏洞,你赶快升级吧。我假装没看到,然后被催了好几天,终于开始动手更新了。
第一步,安装新的apache
首先将/etc/httpd.conf备份一份。
然后下载一份最新的稳定版apache,开始安装。原先的2.2.27安装在/usr/local/apache2,这次新的就安装在/usr/local/apache3好了。
configure如下
./configure --prefix=/usr/local/apache3 --with-mpm=worker --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache --enable-nonportable-atomics --enable-mods-shared=most --enable-so --enable-rewrite --enable-ssl --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre
ps:安装过程中会提示缺少apr,apr-util,pcre等等。要先安装这些。
然后复制粘贴httpd.cong,注意因为php还没安装,所以在httpd.cong中,先不加载php,以及版本提升后输入的变化,我的修改如下
<IfModule dir_module> DirectoryIndex index.html index.php index.htm </IfModule> <VirtualHost *:80> DocumentRoot /var/www/ ServerName 123.com <Directory "/var/www/"> Options FollowSymLinks (不显示目录列表,改为Options Indexes FollowSymLinks 显示目录列表) AllowOverride none Require all granted </Directory> </VirtuAlHost>
好了,关掉apache2.2.27打开apache2.4.29看看吧
/usr/local/apache2/bin/httpd -k stop
/usr/local/apache3/bin/httpd -k start
第二步,安装php
一开始我直接把apache2/modules/下的libphp5.so复制过来直接用,哈哈,果然不行呢,还得重新编译一份。
找到或重新下载一份php文件,再通过<?php echo phpinfo();?>获取到原来的安装命令
复制粘贴,修改下php的安装位置与apache的地址
'./configure' '--prefix=/usr/local/php4' '--with-apxs2=/usr/local/apache3/bin/apxs' '--with-mysql=/usr/local/mysql' '--with-gd=/usr/local/libgd' '--enable-gd-native-ttf' '--with-ttf' '--enable-gd-jis-conv' '--with-freetype-dir=/usr/local/freetype' '--with-jpeg-dir=/usr/local/libjpeg' '--with-png-dir=/usr/local/libpng' '--with-libxml-dir=/usr/local/libxml2' '--with-zlib-dir=/usr/local/zlib' '--enable-xml' '--enable-mbstring' '--enable-sockets'
好了,php就安装好了,回到apache3/modules/下会发现新生成了libphp5.so
再在apache的配置文件中添加
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
重新启动一下apache
/usr/local/apache3/bin/httpd -k stop
/usr/local/apache3/bin/httpd -k start
哈哈,完美。这就算升级成功了,如果需要切换回去的话,只需要关闭正在运行的apache3/bin/httpd,启动apache2/bin/httpd就好了。
文章的排版不好看。。谅解