LAMP 架構是目前成熟的企業網站應用模式之一,能夠提供動態 Web 站點服務及其應用開發環境。
LAMP 是一個縮寫詞,具體包括:
1、Linux 操作系統
2、Apache 網站服務器
3、MySQL 數據庫服務器
4、PHP/Perl/Python 網頁編程語言
這四個組件都是同類中的佼佼者,體現在:
1、成本低廉
2、可定製
3、易於開發
4、方便易用
5、安全和穩定
在構建 LAMP 平臺時,各組件的安裝順序依次爲:Linux、Apache、MySQL、PHP。其中 Apache 和 MySQL 的安裝沒有嚴格順序;PHP一般放在最後,負責溝通 web 服務器和數據庫系統。
https://blog.51cto.com/14227204/2424170 Apache 服務安裝
https://blog.51cto.com/14227204/2425596 MySQL 服務安裝(供參考,可自行選擇)
https://pan.baidu.com/s/1bvWgs6--P_ja2QNf6E7IrQ 安裝所需源碼包
提取碼: u3me
準備工作:
照舊先檢查一下系統當前有無 rpm 安裝的PHP包 rpm -qa | grep php ,如果有卸載掉
首先我們需要安裝幾個依賴包:
[root@mysql /]# mount /dev/sr0 /media/ # 掛載系統光盤
mount: /dev/sr0 is write-protected, mounting read-only
[root@mysql /]# cd /media/Packages/
[root@mysql Packages]# rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm
xz-devel-5.2.2-1.el7.x86_64.rpm
libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm
安裝擴展工具庫,數據加密工具 libmcrypt、mhash、mcrypt 等
安裝 libmcrypt:
[root@mysql media]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/
[root@mysql media]# cd /usr/src/libmcrypt-2.5.8/
[root@mysql libmcrypt-2.5.8]# ./configure && make && make install # 一氣呵成
[root@mysql libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/ # 創建鏈接文件方便系統識別
安裝 mhash:
[root@mysql media]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
[root@mysql media]# cd /usr/src/mhash-0.9.9.9/
[root@mysql mhash-0.9.9.9]# ./configure && make && make install
[root@mysql mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.* /usr/lib/
安裝 mcrypt:
[root@mysql media]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
[root@mysql media]# export LD_LIBRARY_PATH=/usr/local/lib
:$LD_LIBRARY_PATH # 此條命令解決 configure 配置錯誤
[root@mysql media]# ./configure && make && make install
接下里編譯安裝 PHP:
[root@mysql media]# tar zxf php-5.5.38.tar.gz -C /usr/src/
[root@mysql media]# cd /usr/src/php-5.5.38/
[root@mysql php-5.5.38]# ./configure --prefix=/usr/local/php5 \
> --with-mcrypt \
> --with-apxs2=/usr/local/httpd/bin/apxs \
> --with-mysql=/usr/local/mysql \
> --with-mysqli=/usr/local/mysql/bin/mysql_config \
> --with-config-file-path=/usr/local/php5 \
> --enable-mbstring
[root@mysql php-5.5.38]# make && make install # 編譯並安裝
上述配置命令含義:
--prefix:指定將 PHP 程序安裝到那個目錄下
--with-mcrypt:加載數據加密等擴展工具支持
--with-apxs2:設置 Apache 提供的 apxs 模塊支持程序的文件位置
--with-mysql:設置 MySQL 數據庫服務程序的安裝位置
--with-mysqli:添加 mysqli 擴展支持
--with-config-file-path:設置 PHP 的配置文件 php.ini 將要存放的位置
--enable-mbstring:啓用多字節多字符串功能,以便支持中文等代碼
設置 LAMP 環境:
安裝好 PHP 軟件包後,服務器不會自動創建 php.ini 配置文件,但是在源碼包裏面提供了兩種樣例配置文件:
/usr/src/php-5.5.28/php.ini-development // 開發版樣例文件,用於學習、測試
/usr/src/php-5.5.28/php.ini-production // 生產版樣例文件,用於實際運營
選擇其中一個將其複製到 PHP 配置目錄中
[root@mysql php-5.5.38]# cp php.ini-development /usr/local/php5/php.ini
[root@mysql /]# vim /usr/local/php5/php.ini # 編輯配置文件
…… // 省略部分內容
default_charset = "utf-8" //設置默認的字符集爲 utf-8
file_uploads = On // 允許通過 PHP 網頁上傳文件
upload_max_filesize = 2M //允許上傳的文件大小
max_file_uploads = 20 //每個 HTTP 最多允許請求上傳的文件數
post_max_size = 8M // 每次通過表單 post 提交的數據量限制
short_open_tag = On // 允許識別 PHP 短語法標記,即<?......?>
extension=php_mysqli.dll // 添加 MySQL 支持
ZendGuardLoader 優化模塊,他可以提高 PHP 程序的執行效率、優化頁面加載速度
這塊可自行選擇,不安裝也不影響 PHP
添加 ZendGuardLoader 優化模塊:
[root@mysql media]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src/
[root@mysql media]# cd /usr/src/zend-loader-php5.5-linux-x86_64/
[root@mysql zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php/ # 複製到 PHP 配置目錄下
[root@mysql /]# vim /usr/local/php5/php.ini
…… // 省略部分內容
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1
httpd.conf 配置調整:
[root@mysql /]# vim /usr/local/httpd/conf/httpd.conf
…… // 省略部分內容
LoadModule php5_module modules/libphp5.so # 確認配置文件中有此行
<IfModule dir_module>
DirectoryIndex index.html index.php # 添加語句 index.php
</IfModule>
AddType application/x-httpd-php .php # 添加此語句
注意:上述配置均不在同一處地方,需要查詢
至此,PHP 基本安裝完成了,接下來測試一下
編寫一個 .php的測試網頁文件,存放到網頁文件根目錄下
[root@mysql /]# vim /usr/local/httpd/htdocs/test1.php
<?php
phpinfo();
?>
測試 PHP 網頁能否訪問 MySQL 數據庫:
[root@mysql /]# vim /usr/local/httpd/htdocs/test2.php
<?php
$link=mysqli_connect('localhost','root','123'); # 用於連接數據庫的用戶和密碼
if($link) echo "koko!!"; # 此處是訪問成功的顯示文本
mysqli_close($link);
?>
最後一步,也是大多數網站必備的一步,就是網站的後臺,通過web網頁來管理MySQL數據庫的,使用的是PHPMyadmin管理套件,源碼包可以從官方站點 https://www.phpmyadmin.net/ 進行下載:
將解壓後的源碼包目錄,移動到網站目錄下,並改名爲phpadmin:
[root@mysql media]# tar zxf phpMyAdmin-4.7.2-all-languages.tar.gz -C /usr/local/httpd/htdocs/
[root@mysql media]# cd /usr/local/httpd/htdocs/
[root@mysql htdocs]# mv phpMyAdmin-4.7.2-all-languages phpmyadmin
複製到網站目錄以後,還需要創建配置文件纔可正常使用,可以使用樣板config.sample.inc.php進行修改,把該文件名改爲config.inc.php即可,文件內有一行“blowfish_secret”配置項,默認已經設置了一個短語密鑰(此密鑰用於網頁cookie認證,不需我們記憶),可根據需要自己修改,我在這裏只把文件名改一下,可以正常使用即可:
[root@mysql htdocs]# cd phpmyadmin/
[root@mysql phpmyadmin]# mv config.sample.inc.php config.inc.php