LAMP 架構是目前成熟的企業網站應用模式之一,可以提供動態 Web 站點服務及其應用開發環境。
LAMP 是一個縮寫詞,具體包括:
一、Linux 操做系統
二、Apache 網站服務器
三、MySQL 數據庫服務器
四、PHP/Perl/Python 網頁編程語言
這四個組件都是同類中的佼佼者,體如今:
一、成本低廉
二、可定製
三、易於開發
四、方便易用
五、安全和穩定
在構建 LAMP 平臺時,各組件的安裝順序依次爲:Linux、Apache、MySQL、PHP。其中 Apache 和 MySQL 的安裝沒有嚴格順序;PHP通常放在最後,負責溝通 web 服務器和數據庫系統。
http://www.javashuo.com/article/p-hvssibro-md.html Apache 服務安裝
http://www.javashuo.com/article/p-ktgnavmj-be.html MySQL 服務安裝(供參考,可自行選擇)
https://pan.baidu.com/s/1bvWgs6--P_ja2QNf6E7IrQ 安裝所需源碼包
提取碼: u3me
準備工做:
照舊先檢查一下系統當前有無 rpm 安裝的PHP包 rpm -qa | grep php ,若是有卸載掉
首先咱們須要安裝幾個依賴包: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:html
[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:mysql
[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:linux
[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:web
[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 配置文件,可是在源碼包裏面提供了兩種樣例配置文件:sql
/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 配置調整:vim
[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