CentOS6.5下安裝Apache2.4+PHP7php
http://blog.csdn.net/along602/article/details/42695779html
http://www.th7.cn/Program/php/201511/691594.shtmlmysql
http://jingyan.baidu.com/article/d2b1d10299bda55c7f37d466.htmllinux
1,準備工做,首先要下載所需軟件的源碼包,有以下這些:c++
apr-1.5.1.tar.bz2正則表達式
apr-util-1.5.4.tar.bz2sql
pcre-8.36.tar.bz2apache
httpd-2.4.10.tar.bz2bash
php-7.0.20.tar.gz
把全部的源碼包上傳到服務器上/var/lamp目錄下服務器
cd /var/lamp
首先要安裝Apache的依賴庫
tar jxvf apr-1.5.1.tar.bz2
tar jxvf apr-util-1.5.4.tar.bz2
tar jxvf pcre-8.36.tar.bz2
tar jxvf httpd-2.4.10.tar.bz2
tar zxvf php-7.0.20.tar.gz
cd apr-1.5.1
./configure --prefix=/usr/local/apr
make && make install
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
cd pcre-8.36
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
2,安裝Apache2.4
首先要安裝Apache的依賴庫
apr-1.5.2.tar.gz
apr-util-1.5.4.tar.gz
pcre-8.36.tar.gz
tar zxvf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr
make && make install
tar zxvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
tar zxvf pcre-8.36.tar.gz
cd pcre-8.36
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
安裝PCRE的時候遇到以下錯誤:
You need a C++ compiler for C++ support
解決方案是:
yum install -y gcc gcc-c++
注意:這個-y千萬不能少。
能夠開始安裝Apache了,
解壓縮
cd httpd-2.4.17
./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util -with-pcre=/usr/local/pcre --enable-so--enable-rewrite
make && make install
注意:--enable-so--enable-rewrite 中間不能有空格
cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
service httpd start
cd /usr/local/apache2/bin
./httpd -v 出現版本號
http://www.xxx.com 訪問出現
測試是否安裝成功
2,安裝PHP7
cd /var/lamp/php-7.0.20
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/apache2/conf --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip
make && make install
錯誤1 若是你在執行./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli --with-pdo-mysql --enable-mbstring時,出現這樣的錯誤
configure:error:xml2-config not found.Please check your libxml2 installation.
說明須要libxml2,用yum裝一下:yum -y install libxml2 libxml2-devel
裝完libxml2後,就能夠正常地進行php的源碼安裝了
錯誤2 解決 Cannot find OpenSSL's <evp.h>
yum install openssl openssl-devel
錯誤3 Please reinstall the libcurl distribution -
easy.h should be in <curl-dir>/include/curl/
其實就是curl的dev包沒有安裝, 解決方案:yum -y install curl-devel
錯誤4 error: png.h not found.
yum install libpng libpng-devel
錯誤5 error: freetype-config not found.
yum install freetype-devel
錯誤6 error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
yum
install
libxslt-devel
出現
Thank you for using PHP.
config.status: creating php7.spec
就表明安裝成功了。
1,在Vim中搜索」DirectoryIndex「字符串,你們能夠看到已經有index.html了,在index.html後面添加你想讓apache識別的DirectoryIndex
在/user/local/apache2/conf/httpd.conf配置文件中再添加一段指令:
<FilesMatch "\.ph(p[2-6]?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
這段指令告訴apache,碰到文件名以
.php, .php2, .php3, .php4, .php5, .php6或phtml結尾的文件使用
libphp7.so模塊進行解析。
其中"\.ph(p[2-6]?|tml)$"爲正則表達式,你能夠隨意更改,只要符合PCRE正則表達式語法,均可以。
2,接下來,在Vim中搜索」DirectoryIndex「字符串,你們能夠看到已經有index.html了,在index.html後面添加你想讓apache識別的DirectoryIndex
<IfModule dir_module>
DirectoryIndex index.html index.php index.phtml
</IfModule>
3,修改PHP的配置文件php.ini
進入php源碼目錄,選擇php.ini-development複製一份到/usr/local/apache2/conf,並更名爲php.ini使用vi打開,查找extension_dir,修改成extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20131226",讀者根據本身的PHP安裝目錄結構配置,目的是找到PHP的擴展庫。
查找extension=php_,去掉extension=php_curl.dll,extension=php_gd2.dll,extension=php_mbstring.dll,extension=php_mysql.dll,extension=php_mysqli.dll,extension=php_pdo_mysql.dll,extension=php_xmlrpc.dll前面 的分號。查找short_open_tag = Off把它修改爲short_open_tag = On,讓其支持短標籤(我看註釋這個默認是打開的)。
從別人的服務器上我還拷貝了以下文件放到
/usr/local/php/lib/php/extensions/no-debug-zts-20131226目錄,
文件以下:
Imap.so
Mcrypt.so
Memcache.so
Openssl.so
Zip.so
而後在php.ini的最後增長以下配置文字:
extension=memcache.so
extension=openssl.so
extension=mcrypt.so
extension=zip.so
4,修改Apache配置文件httpd.conf相關修改以支持PHP
vi /usr/local/apache/conf/httpd.conf
Ø 添加php支持。
【添加字段一】
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
【添加字段二】
<FilesMatch /.php$>
SetHandler application/x-httpd-php
</FilesMatch>
Ø 添加默認索引頁面index.php,再找到「DirectoryIndex」,在index.html後面加上「 index.php」
DirectoryIndex index.html index.php
Ø 3. 不顯示目錄結構,找到「OptionsIndexes FollowSymLinks」,修改成
Options FollowSymLinks
Ø 4. 開啓Apache支持僞靜態,找到「AllowOverride None」,修改成
AllowOverride All
重啓Apache
service httpd restart
提醒:實在不知道怎麼配置,就找個已經搭建成功的服務器把配置文件弄過來對比一下。
此時還會遇到以下報錯:
httpd: Could not reliably determine the server's fully qualified domain name
解決辦法:
linux : /usr/local/apache/conf
用記事本打開httpd.conf
將裏面的#ServerName localhost:80註釋去掉便可。
啓動apache遇到錯誤:httpd: Could not reliably determine the server's fully qualified domain name
[root@server httpd-2.2.4]# /usr/local/apache/bin/apachectl start
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
1)進入apache的安裝目錄:(視我的安裝狀況而不一樣) [root@server ~]# cd /usr/local/apache/conf
2)編輯httpd.conf文件,搜索"#ServerName",添加ServerName localhost:80
到此,整個Apache+PHP5.6的環境搭建完畢。