搭建LAMP平臺配置詳解

LAMP架構是目前最成熟的企業網站應用模式之一,指的是協同工做的一整套系統和相關軟件,可以提供動態web站點服務及其應用開發環境。與之並肩的還有LNMP,LAMP說白了就是Linux操做系統上安裝Apache網站服務,構建php/perl/Python運行環境來鏈接mysql數據庫,四個組件合起來就簡稱「LAMP」。 LNMP只不過是用Nginx來搭建了這個httpd服務。php

開始搭建LAMP運行環境的準備工做:html

  1. Linux系統來一個;
  2. Apache網站搭建搞起來,以前詳細寫過搭建Apache網站的博文,這裏就不囉嗦了,能夠參考 http://www.javashuo.com/article/p-qamvjqdc-mt.html, 來搭建Apache。
  3. MySQL數據庫一樣搞起來,搭建MySQL數據庫的參考博文:http://www.javashuo.com/article/p-qaybanfr-dp.html ,Apache和MySQL的前後安裝順序無所謂,可是PHP的運行環境必定要放在最後搭建。
  4. 準備一堆所需的源碼包,這裏準備了一套(包括了Apache和MySQL的源碼包),能夠拿來用:https://pan.baidu.com/s/15OrNm9o91xAH5iTFumu0DA
    提取碼:finx

在Apache和MySQL數據庫都搞好後,開始搭建建PHP的運行環境(php源碼包能夠從 https://www.php.net/ 官網下載):mysql

一、爲避免發生程序衝突等現象,先將rpm方式安裝的php及相關依賴包(若是已存在)卸載:linux

[root@localhost ~]# yum -y erase php*

二、安裝php所需的依賴包(在系統盤的Packages目錄):web

[root@localhost Packages]# rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm
[root@localhost Packages]# rpm -ivh xz-devel-5.2.2-1.el7.x86_64.rpm 
[root@localhost Packages]# rpm -ivh libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm

三、將準備好的源碼包依次解壓出來備用:sql

[root@localhost media]# tar zxf libmcrypt-2.5.8.tar.gz -C /tmp
[root@localhost media]# tar zxf mhash-0.9.9.9.tar.gz -C /tmp
[root@localhost media]# tar zxf mcrypt-2.6.8.tar.gz -C /tmp
[root@localhost media]# tar zxf php-5.5.38.tar.gz -C /tmp
[root@localhost media]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /tmp
[root@localhost media]# tar zxf phpMyAdmin-4.7.2-all-languages.tar.gz -C /tmp

三、安裝擴展工具庫(用來數據加密的工具libmcrypt、mhash、mcrypt等,能夠從 https://sourceforge.net/ 進行下載):
1)安裝libmcrypt:數據庫

[root@localhost media]# cd /tmp/libmcrypt-2.5.8/             #進入libmcrypt源碼目錄
[root@localhost libmcrypt-2.5.8]# ./configure && make && make install    #配置及編譯安裝
[root@localhost libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/          #建立軟連接

2)安裝mhash:vim

[root@localhost libmcrypt-2.5.8]# cd /tmp/mhash-0.9.9.9/           #進入mhash源碼目錄
[root@localhost mhash-0.9.9.9]# ./configure && make && make install       #配置及編譯安裝
[root@localhost mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib/         #建立軟連接

3)安裝mcrypt:瀏覽器

[root@localhost mhash-0.9.9.9]# cd /tmp/mcrypt-2.6.8/          #進入mcrypt源碼目錄
[root@localhost mcrypt-2.6.8]# ./configure              #開始配置

注意:編譯會報錯,以下所示(變量的問題):服務器

搭建LAMP平臺配置詳解

解決configure配置報錯並繼續安裝:

[root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
[root@localhost mcrypt-2.6.8]# ./configure && make && make install

4)編譯安裝PHP:

[root@localhost mcrypt-2.6.8]# cd /tmp/php-5.5.38/        #進入PHP源碼目錄
[root@localhost 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@localhost php-5.5.38]# make && make install        #編譯安裝

上述配置命令中,各個選項的配置命令以下:
搭建LAMP平臺配置詳解

至此,若是沒有報錯,安裝就完成了,接下來須要對LAMP組件環境進行適當的配置,並驗證是否可以協同工做。

一、調整php.ini配置文件:

安裝好PHP軟件包後,服務器並不會自動建立php.ini配置文件,可是在源碼目錄下提供了兩個樣例配置文件,以下所示:

/tmp/php-5.5.38/php.ini-development         #開發版樣例,用於學習、測試
/tmp/php-5.5.38/php.ini-production          #生產版用於實際運營

開發版和生產版並無太大的區別,甚至開發版更方便些,我在測試鏈接數據庫時,若php代碼寫的有語法上的錯誤,它會詳細提醒我第幾行的代碼有錯誤,而生產版只是給我報了個ERROR :500的錯。不過若是真的在實際運營環境中,仍是老老實實的使用生產版吧!

選擇一個樣例文件,複製到PHP的配置文件目錄/usr/local/php5下,並更名爲php.ini。在php.ini配置文件中,以分號開頭的爲註釋信息。

[root@localhost php-5.5.38]# cp /tmp/php-5.5.38/php.ini-production /usr/local/php5/php.ini

二、修改php.ini文件中的配置內容,能夠控制php網頁的執行特性,以下所示(經過在vim編輯器的末行模式下使用「/關鍵字」來定位到相應的配置項,須要注意的是,在末行模式下查找「short_open_tag」時,查找到的第一個不是,按「n」鍵繼續查找下一個,默認存在「short_open_tag = Off」,只需將off該爲On便可,若是這行不改,那麼將會衝突):

[root@localhost php-5.5.38]# vim /usr/local/php5/php.ini 

[PHP]

.................
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添加Zend公司開發的ZendGuardLoader優化模塊,若須要加密PHP代碼以限制未經受權的分發,還能夠購買該公司的ZendGuard軟件。
ZendGuardLoader優化模塊使用於PHP 5.3到PHP 5.6系列,該模塊能夠從官方站點:http://www.zend.com/ 進行下載。若使用PHP 5.2系列的版本,應該用較早的ZendOptimizer。

進入解壓後的源碼目錄,將目錄內的模塊文件複製到php程序的模塊文件夾中:

[root@localhost php-5.5.38]# cd /tmp/zend-loader-php5.5-linux-x86_64/
[root@localhost zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php/

修改php.ini配置文件,添加加載及啓用ZendGuardLoader模塊的配置語句(下面兩行配置項就須要純手打了,寫在開頭「 [PHP] 」下便可,以下所示):

[PHP]
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1
..................

四、調整httpd.conf配置:

[root@localhost /]# vim /usr/local/httpd/conf/httpd.conf

...........................
LoadModule php5_module        modules/libphp5.so           #末行模式下執行 /php5 定位到該行
#如果沒有查找到上面該行,那麼恭喜你,php環境搭建失敗,砸電腦吧!(從新編譯安裝PHP吧)
<IfModule dir_module>
    DirectoryIndex index.html index.php       #執行/index,定位到該行,添加index.php配置項
</IfModule>
     AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php             #添加該行,以便對.php網頁文件的支持
        #不要定位錯了,上面AddType的配置項大概在397行左右
[root@localhost /]# systemctl restart httpd                  #重啓httpd服務

五、LAMP基本搭建完成了,如今寫兩個簡單的php測試文件,用來測試LAMP協同工做:

#test1用來測試PHP網頁可否正常顯示:
[root@localhost /]# vim /usr/local/httpd/htdocs/test1.php

<?php
phpinfo();
?>

#test2用來測試php網頁可否訪問MySQL數據庫:
[root@localhost /]# vim /usr/local/httpd/htdocs/test2.php

<?php
$link=mysqli_connect('localhost','root','123');
if($link) echo "恭喜你,數據庫鏈接成功!!!";
mysqli_close($link);
?>

經過瀏覽器分別訪問test1.php和test2.php:

1、訪問test1會顯示PHP環境的詳細信息,包括版本號、配置命令、運行變量等。以下所示,則表示此web服務器已經可以正常顯示php網頁;若還能看到Zend引擎相關信息,則表示ZendGuardLoader模塊也已成功啓用:
搭建LAMP平臺配置詳解

2、訪問test2,若可以輸出如下信息,則表示可以經過PHP網頁訪問MySQL數據庫:

搭建LAMP平臺配置詳解

最後一步,也是大多數網站必備的一步,就是網站的後臺,經過web網頁來管理MySQL數據庫的,使用的是PHPMyadmin管理套件,源碼包能夠從官方站點 https://www.phpmyadmin.net/ 進行下載:

開始配置:

一、將解壓後的源碼包目錄,移動到網站目錄下,並更名爲phpadmin:

[root@localhost /]# mv /tmp/phpMyAdmin-4.7.2-all-languages/ /usr/local/httpd/htdocs/phpadmin

二、複製到網站目錄之後,還須要建立配置文件纔可正常使用,可使用樣板config.sample.inc.php進行修改,把該文件名改成config.inc.php便可,文件內有一行「blowfish_secret」配置項,默認已經設置了一個短語密鑰(此密鑰用於網頁cookie認證,不需咱們記憶),可根據須要本身修改,我在這裏只把文件名改一下,能夠正常使用便可:

[root@localhost /]# cd /usr/local/httpd/htdocs/phpadmin/
[root@localhost phpadmin]# mv config.sample.inc.php   config.inc.php#移動到同一個目錄下,就是改文件名
#若是是LAMP不在同一臺服務器搭建,須要更改config.inc.php中的如下字段:
# $cfg['Servers'][$i]['host'] = '這裏指定MySQL數據庫的IP地址';

測試phpmyadmin系統是否可以正常使用:

搭建LAMP平臺配置詳解

搭建LAMP平臺配置詳解

OK,大功告成,如今就可使用該web頁面來對咱們的MySQL數據庫進行管理了(建立庫、表等)。再不須要使用SQL語句來管理咱們的數據庫了。

洗洗睡覺去........................

相關文章
相關標籤/搜索