Linux安裝Apache 2.4 + PHP 7 + Mysql筆記

準備

因爲服務器不能連接外網,所以在安裝之前,我已經將所有相關的安裝包上傳至服務器,文件列表如下:

apr-1.5.2.tar.gz
apr-util-1.5.4.tar.gz
httpd-2.4.9.tar.gz
libxml2-2.7.8.tar.gz
pcre-8.10.tar.gz
php-7.1.0.tar.gz

如果能連接外網,也可直接下載。

1. 安裝PCRE

安裝Apache之前需要安裝Perl-Compatible Regular Expressions Library (PCRE), 否則會發生類似下面的錯誤:

apache/bin/httpd: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory  

1) 解壓pcre

$ tar -zxvf pcre-8.10.tar.gz

2) 安裝pcre

$ cd pcre-8.10
$ ./configure --prefix=/usr/local/pcre
$ make
$ sudo make install 

2. 安裝libxml2

安裝PHP之前,需要先安裝libxml2,否則可能會發生類似下面的錯誤:

configure error xml2-config not found. please check your libxml2 installation

1) 解壓

$ tar -zxvf libxml2-2.7.8.tar.gz

2) 安裝libxml2

$ cd libxml2-2.7.8
$ ./configure --prefix=/usr/local/libxml2
$ make
$ sudo make install 

3. 安裝Apache

安裝Apache,需要安裝APR and APR-Util。否則安裝Apache時會報下面的錯誤:

configure: error: APR not found.  Please read the documentation.  

1) 解壓

$ tar -zxvf apr-1.5.2.tar.gz
$ tar -zxvf apr-util-1.5.4.tar.gz
$ tar -zxvf httpd-2.4.9.tar.gz

2) 將解壓後的apr and apr-util包複製到Apache的安裝目錄的srclib目錄下

$ cp ./apr-1.5.2 ./httpd-2.4.9/srclib/apr -r
$ cp ./apr-util-1.5.4 ./httpd-2.4.9/srclib/apr-util -r

3) 安裝Apache

$ cd httpd-2.4.9
$ ./configure --prefix=/usr/local/apache --with-included-apr --with-pcre=/usr/local/pcre/
$ make  
$ sudo make install 

4. 安裝GD

GD安裝可以直接使用YUM進行安裝

1) 檢查系統是否有GD

$ rpm -qa | grep -i gd

如果沒有則需要安裝

2) 安裝

$ sudo yum install gd-devel

如果需要還需要FreeType支持,則還需要安裝FreeType

$ sudo yum install freetype*

3) 檢查

安裝完成之後,可以使用以下命令檢查

$ rpm -qa | grep -i gd

5. 安裝MySql

同樣的,可以使用YUM安裝Mysql

1) 檢查

$ rpm -qa | grep -i mysql 

mysql-server和mysql都需要,還有mysql-devel開發包也需要,不然PHP無法使用MYSQL。

2) 安裝

安裝系統中不存在的包

$ sudo yum install mysql
$ sudo yum install mysql-devel
$ yum install mysql-server

3) 啓動

$ sudo /etc/init.d/mysqld start

# 設置密碼
$ mysqladmin -u root -p password 123456;

6. 安裝PHP

1) 解壓

$ tar -zxvf php-7.1.0.tar.gz

2) 安裝

通過Apache的模塊來安裝,
apxs: APache eXtenSion tool, 爲編譯和安裝Apache模塊的工具,以下爲比較基礎的安裝

$ cd php-7.1.0
$ ./configure --prefix=/usr/local/php7 --with-libxml-dir=/usr/local/libxml2 --with-apxs2=/usr/local/apache/bin/apxs --with-mysql

$ make
$ sudo make install 

$ cp ~/php-7.1.0/php.ini-development /usr/local/php7/lib/php.ini

如果是需要使用GD + FreeType,則按照下面的編譯安裝(推薦)

$ ./configure --prefix=/usr/local/php7 --with-libxml-dir=/usr/local/libxml2 --enable-mbstring --with-apxs2=/usr/local/apache/bin/apxs  --with-gd --with-mysql --with-mysqli --with-pdo-mysql --with-zlib --with-freetype-dir=/usr/include/freetype2/freetype/ 

$ make
$ sudo make install 

$ cp ~/php-7.1.0/php.ini-development /usr/local/php7/lib/php.ini

7. 在Apache中配置PHP

在LoadModule處添加

LoadModule php7_module modules/libphp7.so

末尾添加

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

8. 啓動Apache

sudo /usr/local/apache/bin/apachectl start

或者

sudo /usr/local/apache/bin/apachectl -f /usr/local/apache/conf/httpd.conf

9. 常見問題

1) no acceptable C compiler found in $PATH

...
configure: error: in `/home/buyabs.corp/kt94/pcre-8.10':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

解決方法:安裝開發軟件包組以及gcc

$ yum groupinstall "Development Tools"
$ sudo yum install gcc

2) g++: command not found

./libtool: line 990: g++: command not found
make[1]: *** [pcrecpp.lo] Error 1

解決方法:安裝g++

$ sudo yum install gcc-c++

參考資料

http://blog.csdn.net/yonggang7/article/details/22607721
http://blog.csdn.net/jungsagacity/article/details/7620839
http://jingyan.baidu.com/article/7082dc1ca83a2ee40a89bd9b.html
http://www.178linux.com/61405
http://stackoverflow.com/questions/19816275/no-acceptable-c-compiler-found-in-path-when-installing-python
http://stackoverflow.com/questions/36609291/installing-packages-on-centos-6-5
http://stackoverflow.com/questions/19816275/no-acceptable-c-compiler-found-in-path-when-installing-python
http://sharadchhetri.com/2013/06/19/make-command-not-found-in-linux-centos-red-hat-ubuntu-debian/
http://yhqlzz.blog.51cto.com/2557314/1058977

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章