LAMP是一個縮寫,它指一組常用於來搭建動態網站或者服務器的開源軟件,包括:Linux操作系統,Apache網絡服務器,MySQL數據庫,PHP、Perl或者 Python編程語言(本文以php爲例)。
下面就介紹一下如何基於rpm包的形式構建LAMP。
前提簡介:本例是使用虛擬機完成的。虛擬機IP地址爲:192.168.0.72。物理主機IP爲192.168.0.237。
一、安裝Apache網絡服務
1、下載Apache軟件包。它的包名爲:httpd
2、安裝軟件包
#yum -y install httpd
3、關閉SELinux後,啓動httpd服務
#service httpd start
4、在瀏覽器中測試。
只需在瀏覽器中輸入http://192.168.0.72即可。服務啓動後會自動搜索並運行網頁文件中以ingdex.html命名的文件。如果沒有配置相應的index.html文件,則會顯示默認的歡迎頁面。如下所示:
此時說明web服務安裝成功。
5、配置文件
web服務的配置文件至關重要。我們所做的每一步都依賴於配置文件,如建立路徑別名,CGI別名,虛擬主機等都需要在配置文件中進行說明。web的配置文件有兩個:一個是在/etc/httpd/conf.d/路徑下的所有以.conf結尾的文件;另一個是/etc/httpd/conf/httpd.conf。而且後者爲主配置文件。下面就介紹一下主配置文件中比較重要的參數。
主配置文件主要分爲三段:
### Section 1: Global Environment //全局配置段
### Section 2: 'Main' server configuration //主配置段
### Section 3: Virtual Hosts //虛擬主機段
A.在全局配置段中主要的參數有以下幾個:
ServerRoot "/etc/httpd" //定義了httpd服務的工作路徑,默認在/etc/httpd
Timeout 120 //設置超時時間
KeepAlive Off //定義是否開啓長連接
KeepAliveTimeout 1 //長連接的超時時間
MaxKeepAliveRequests 100 //最大長連接請求數目
Listen 80 //監聽的地址和端口
另外, 它還定義了MPM、如何加載Apache模塊等。
B.主配置段
(1)DocumentRoot選項指定網頁文件的所在位置,默認在/var/www/html目錄下
(2)每目錄的屬性配置即<Directory "path"></Directory>。在這個目錄中定義了path中文件的許多重要屬性。httpd的默認網頁文件path爲/var/www/html。
Options選項後跟參數有:
Indexes : 當沒有主頁面時,是否允許顯示其他頁面
FollowSymLink :是否跟蹤連接(最好關閉)
ExecCGI:是否允許在當前目錄中執行CGI
MultiViews:最好關閉影響服務器性能
none:不設置
如若此項的設置爲:Options indexes FollowSymLinks。查看/var/www/html目錄下的文件:
此時可知/var/www/html目錄中沒有index.html文件,而且還有一個鏈接文件。在瀏覽中訪問web服務。
此時顯示了網頁文件中的所有文件,這就是indexes的效果。但這是很不安全的,所以最好不要開啓此項。再驗證一下 FollowSymLink的效果。
當訪問test鏈接時顯示了aa.html的內容。這也是很不安全的選項。所以none參數就剛好可以派上用場了。把OPtions設置爲none。再次查看效果。
這就是none的效果。其他幾個參數不再做演示。下面接着說每目錄中的指令。
Order allow deny選項定義了簡單的訪問控制。allow和deny是兩個參數,兩者位置可以調換。但位置靠後者爲默認設置。
Allow from :後跟網段或主機,表示允許誰訪問。其中all表示所有。
Deny from:同上
AllowOverride選項定義了是否允許覆蓋。覆蓋的就是上述列出的控制
none :不覆蓋
AuthConfig :基於賬號密碼的方式訪問。做認證時可以用到。
還可定義認證訪問。
AllowOverride AuthConfig:說明輸入賬號密碼才能登陸
AuthType Basic:任何的方式爲Basic
AuthName "stuff only":認證名字
AuthUserFile /etc/httpd/conf/.htpasswd:用戶賬號密碼的存放文件的位置
Require valid-user:可以訪問的用戶
每目錄中可以定義選項基本如此。下面介紹主配置段的其他選項
(3)自定義定義日誌格式
LogFormat
referer:記錄訪問入口,即訪問的來源是哪裏
CustomLog 訪問日誌,自定義日誌
combined,common,agent:定義日誌的格式
ErrorLog 錯誤日誌
(4)定義可路徑別名和CGI別名:Alias,ScriptAlias
此內容詳見博文“如何建立路徑別名”。
(5) HostnameLookups:是否允許名稱解析
(6) DirectoryIndex:定義服務器識別的目錄默認主頁
默認爲: DirectoryIndex index.html index.html.var,系統會自動搜索第一個網頁,找不到後再找第二個。所以它們有先後次序。
(7)EnableSendfile On:是否允許Sendfile。其實就是當web請求文件時,內核直接把請求的內容提交給web,而不是再次轉交給用戶空間。此項大大提高了系統性能。建議開啓。
還有很多選項,但是不常用,在此就不多做介紹。下面介紹虛擬主機段。
C、虛擬主機段
在創建虛擬主機時,需把DocumentRoot註釋掉。詳細描述在“輕鬆創建虛擬主機”博文中。
二、安裝MYSQL
MYSQL的運行進程爲mysqld,它監聽在tcp協議的3306端口上。
1、下載MYSQL軟件包。它分爲客戶端包和服務器端包。
2、安裝軟件包
#yum -y install mysql mysql-server
3、啓動mysql服務。
#service mysqld start
4、使用mysql命令查看數據。首次使用mysql命令會產生許多配置信息。之後便會進入命令行界面:
此時便可使用管理數據庫的相應命令進行管理。
5、MYSQL已安裝成功。
三、安裝php
1、下載php軟件包。本例以php53.i386爲例,另外還安裝了兩個擴展包php53-mbstring.i386和php53-mysql.i386。這兩個包前者提供語言轉換功能,後者則負責與MYSQL連接。
2、安裝包
#yum -y install php53.i386 php53-mysql.i386 php53-mbstring.i386
3、安裝完後,重啓web服務。
4、在/var/www/html目錄下創建一個index.php頁面。在頁面中輸入下面的代碼:
- <?php
- phpinfo();
- ?>
這是php的信息頁面。此時說明php也安裝成功。
6、安裝包時我們還安裝了一個與MYSQL連接的包,那麼現在演示php如何與mysql連接。
在此修改上述的index.html網頁。修改它爲:
- <?php
- $link=mysql_connect('localhost','root','123456');
- if ($link)
- echo "Success...";
- else
- echo "Failure";
- mysql_close();
- ?>
結果表明連接成功。
至此,LAMP已成功建立。此時便可以在LAMP平臺上安裝相應的軟件,如數據庫管理軟件phpMyAmin,日誌管理軟件Awstats等等。博文中也對這兩種軟件的安裝做了詳細的講解,希望可以起到很好的參考作用。