起因
無語的百度檢測給了網站安全檢測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就好了。
文章的排版不好看。。諒解