LAMP的安裝與配置
圖-LAMP
1、LAMP的安裝
我的畢業(yè)論文是linux下的服務(wù)配置及數(shù)據(jù)庫管理,經(jīng)過一段時(shí)間搜集資料的準(zhǔn)備工作后,我決定選擇LAMP配置和管理。(注意本文系統(tǒng)環(huán)境是REDHAT LINUX 9.0)LAMP即LINUX、APACHE、MYSQL、PHP的整合,簡稱LAMP。自1998年,Michael Kunze為德國計(jì)算機(jī)雜志c‘t寫作一片關(guān)于Free 軟件如何成為商業(yè)軟件替代品的文章時(shí),創(chuàng)建了LAMP這個(gè)名詞,隨之LAMP技術(shù)成為了自由軟件業(yè)的一盞真正的明燈。LAMP通過幾年的迅速發(fā)展,目前已經(jīng)成為Web 服務(wù)器的事實(shí)標(biāo)準(zhǔn)。
LAMP有以下幾大特性:
★ 時(shí)尚組合?;ヂ?lián)網(wǎng)和B/S 軟件的盛行,LAMP構(gòu)成了一個(gè)強(qiáng)大的Web應(yīng)用程序平臺(tái),可以架設(shè)***的動(dòng)態(tài)WEB服務(wù)器。
★ 免費(fèi)+開源。這種免費(fèi)和開源的方式對于全世界用戶都具有很強(qiáng)的吸引力,無論企業(yè)和個(gè)人開發(fā)者,無需再付費(fèi)購買“專業(yè)”的商用軟件。特別是在互聯(lián)網(wǎng)方面,不需要為軟件的發(fā)布支付任何許可證費(fèi)就可以開發(fā)和應(yīng)用基于LAMP的工程。同時(shí)開源社區(qū)的潛力更在于資源共享 。上百萬的志愿開發(fā)者為開源軟件貢獻(xiàn)自己的力量,保證了LAMP技術(shù)的不斷進(jìn)步和升級。開源的特性也使企業(yè)和開發(fā)人員可以隨意的修改源程序?yàn)槲宜?,提升專有軟件或者商業(yè)軟件的限制中所沒有的靈活性,放大了項(xiàng)目的衍生性。
★ 市場占有率持續(xù)攀升。據(jù)相關(guān)資料統(tǒng)計(jì),不管是在WEB服務(wù)器市場,還是BBS社區(qū),LAMP的市場占有率成逐年攀升趨勢,遠(yuǎn)遠(yuǎn)超過了Microsoft平臺(tái)。
LAMP的安裝步驟這里不再詳述,我只強(qiáng)調(diào)一下在安裝APACHE服務(wù)器時(shí),必須要把相關(guān)的服務(wù)器組件選擇上。如圖:
上圖的對PHP、MYSQL等相關(guān)的服務(wù)器組件必須選擇上。然后將PHP、MYSQL服務(wù)器安裝上,LAMP的安裝就基本完成了。
#p#
2、APACHE的配置
在實(shí)際的網(wǎng)絡(luò)服務(wù)器的構(gòu)建中,通過一個(gè)域名或者一個(gè)IP就可以關(guān)聯(lián)到一個(gè)Web站點(diǎn),并通過該站點(diǎn)交互信息。作為Web站點(diǎn)的服務(wù)器設(shè)備,就可以是一臺(tái)運(yùn)行Apache服務(wù)的系統(tǒng),但一個(gè)服務(wù)器設(shè)備并非只能為一個(gè)Web站點(diǎn)提供Web服務(wù),特別是在硬件環(huán)境性能飛速提升的情況下。一個(gè)Apache服務(wù)器中除一個(gè)默認(rèn)的主機(jī)服務(wù)之外,還可以建立多個(gè)虛擬主機(jī)或者虛擬目錄。每個(gè)虛擬主機(jī)都是一個(gè)Web站點(diǎn),并對應(yīng)一個(gè)網(wǎng)頁等信息的主目錄,使用主機(jī)別名與IP的組合來區(qū)別它們。這樣用戶就可以在單一的Web服務(wù)器上擁有多個(gè)Web站點(diǎn),并通過它們各自得域名對這些站點(diǎn)進(jìn)行訪問。
下面是一個(gè)基于IP的虛擬主機(jī)配置例子:
假設(shè)我們主機(jī)的IP地址為192.168.1.2(www.media.com),另外有個(gè)IP地址為192.168.1.5,可以配置如下:
- ServerAdmin webmaster@ business..com
- DocumentRoot /var/www/html/business
- ServerName www.business.com
- ErrorLog /var/www/html/business/logs/error_log
- TransferLog /var/www/html/business/logs/access_log
在一臺(tái)主機(jī)中,有多個(gè)用戶,他們均想建立自己的站點(diǎn),并希望別人能訪問他們的站點(diǎn)網(wǎng)頁。而有些站點(diǎn)的某文件夾中有一定的機(jī)密性內(nèi)容,只能給某些享有特權(quán)的用戶訪問。這就牽涉到Apache的授權(quán)問題。一個(gè)例子:在用戶主目錄/home/用戶名中建立“pulic_html”目錄,將各個(gè)目錄的屬性設(shè)置好,/用戶名文件夾的屬性為711,子文件夾的屬性為755。將各自的網(wǎng)頁放入自己的Pulic_html文件夾中。
◆修改httpd.conf文件
#UserDir disable 注銷此句。
◆修改/etc/httpd/conf/httpd.conf文件,在相應(yīng)位置添加如下內(nèi)容 :
allowoveride none
authtype basic //定義使用的認(rèn)證方式
authname “jamond” //定義受保護(hù)領(lǐng)域的名稱
authuserfile /etc/httpd/password/jamond
require valid-user //授權(quán)用戶名
◆重啟服務(wù)
service httpd restart //重啟apache服務(wù)
cd /etc/httpd/password //進(jìn)入定義密碼文件的目錄
htpasswd –c jamond osmond //在目錄下生成文件jamond,用戶名為osmond
chown apache:apache jamond //將文件jamond目錄的屬主改為apache
進(jìn)入存放網(wǎng)頁的目錄
cd /var/www/htlm/private
并在該文件夾中創(chuàng)建一個(gè)網(wǎng)頁文件,文件名為index.html
◆測試效果:http://127.0.0.1/private
#p#
3、MYSQL的安裝
通過過在x-window選擇左下角“主菜單”—“系統(tǒng)設(shè)置”—“添加/刪除程序”—“SQL服務(wù)器”— 右邊的“詳細(xì)”彈出窗口.
★將圖中的內(nèi)容全部選中,就可以將Mysql的全部模塊安裝完畢。
在Mysql中添加用戶和設(shè)置用戶權(quán)限
一個(gè)例子:
格式:grant select on 數(shù)據(jù)庫.* to 用戶名@登錄主機(jī) identified by “密碼”
例1、增加一個(gè)用戶user_1密碼為123,讓它可以在任何主機(jī)上登錄,并對所有數(shù)據(jù)庫有查詢、插入、修改、刪除的權(quán)限。首先用以root用戶連入MySQL,然后鍵入以下命令:
mysql> grant select,insert,update,delete on *.* to user_1@“%” Identified by “123”;增加的用戶是十分危險(xiǎn)的,如果知道了user_1的密碼,那么它就可以在網(wǎng)上的何一臺(tái)電腦上登錄你的MySQL數(shù)據(jù)庫并對你的數(shù)據(jù)為所欲為了,解決辦法見例2。
例2、增加一個(gè)用戶user_2密碼為123,讓此用戶只可以在localhost上登錄,并可以對數(shù)據(jù)庫aaa進(jìn)行查詢、插入、修改、刪除的操作(localhost指本地主機(jī),即MySQL數(shù)據(jù)庫所在的那臺(tái)主機(jī)),這樣用戶即使用知道user_2的密碼,它也無法從網(wǎng)上直接訪問數(shù)據(jù)庫,只能通過MYSQL主機(jī)來操作aaa庫。
- mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by “123”;
用新增的用戶如果登錄不了MySQL,在登錄時(shí)用如下命令:
mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登錄主機(jī)的ip地址)
#p#
4、PHP服務(wù)介紹
PHP 是能讓你生成動(dòng)態(tài)網(wǎng)頁的工具之一。PHP 代表:超文本預(yù)處理器(PHP:Hypertext Preprocessor)。PHP 是完全免費(fèi)的,不用花錢,可以從PHP 官方站點(diǎn)(http://www.php.net/)自由下載。PHP 遵守GNU 公共許可(GPL),在這一許可下誕生了許多流行的軟件諸如Linux和Emacs。可以不受限制的獲得源碼,甚至可以從中加進(jìn)你自己需要的特色。PHP 在大多數(shù)Unix 平臺(tái),GUN/Linux和微軟Windows平臺(tái)上均可以運(yùn)行。怎樣在Windows環(huán)境的PC 機(jī)器或Unix機(jī)器上安裝PHP 的資料可以在PHP 官方站點(diǎn)上找到,也可以去查看相關(guān)的文章。php的特色和優(yōu)點(diǎn)有很多為人稱道,但這里只需了解它是一種制作網(wǎng)頁的腳本語言就可以了。因?yàn)樗情_源和免費(fèi)的,在功能上跟Asp.net或者Asp腳本差不多,所以它能夠給與人們足夠地理由相信php的明天會(huì)更好;PHP軟件的安裝可以不用再次安裝了,系統(tǒng)自動(dòng)安裝了php套件。
#p#
5、LAMP服務(wù)的整合
◆php與apache服務(wù)的整合
一個(gè)例子:
在/etc/conf.d/httpd.conf中找到DirectoryIndex行并將它改成:
- DirectoryIndex index.php index.html default.phtml default.php3 default.html default.htm.接著在Addtype application這句后面添加:
- AddType application /x-httpd-php.php.phtml.php3
然后重啟Apache服務(wù)(service httpd restart),在根目錄下添加一個(gè)以php為擴(kuò)展名的文件,內(nèi)容如下:
再在瀏覽器中輸入:http://127.0.0.1.
說明PHP腳本組件能夠在APACHE服務(wù)器中啟動(dòng)了。LAMP的***步宣告成功。接下來看第二步,PHP+MYSQL與APACHE服務(wù)器的整合。
一個(gè)例子:
***步先在“終端窗口”輸入命令mysql(mysql服務(wù)器需先啟動(dòng))進(jìn)入mysql服務(wù)器。接著打入下面命令:create employees (id tinyint(4) DEFAULT ‘0' NOT NULL AUTO_INCREMENT,first varchar(20),last varchar(20),
- address varchar(255),position varchar(50),PRIMARY KEY (id), UNIQUE id (id));
- insert into employees(1,'Bob','Smith',’hello’,’ngsb’);insert into employees(2,’huang’,’sm’,’dd’,’ngdsd’);
//建立一個(gè)數(shù)據(jù)表aa,定義了表的字段。
第二步是在Apache服務(wù)器的根目錄下建立一個(gè)index.php文件,內(nèi)容為:
- $db = mysql_connect("127.0.0.1", "root");mysql_select_db("aa",$db);
- $result = mysql_query("SELECT * FROM employees",$db);
- printf("First Name: %s", mysql_result($result,0,"first"));
- printf("Last Name: %s", mysql_result($result,0,"last"));
- printf("Address: %s", mysql_result($result,0,"address"));
- printf("Position: %s", mysql_result($result,0,"position"));
- ?>
完成后,重新啟動(dòng)服務(wù)器,效果見下圖:
如果root設(shè)置了口令,則在上面的$db = mysql_connect("127.0.0.1", "root");中加入口令:
$db = mysql_connect("127.0.0.1", "root","yourpasswd");
至此,LAMP服務(wù)的安裝與簡單配置基本完成了。此前,在撰寫這個(gè)課題時(shí),參考了很多資料,學(xué)到了許多知識(shí),但網(wǎng)絡(luò)上有的東西在實(shí)際操作起來并不是能夠被應(yīng)用的;我曾經(jīng)就很惱火的稱它們?yōu)槔?**,還請讀者注意下:在每次配置完LAMP服務(wù)器的相關(guān)組件后,都必須重新啟動(dòng)相關(guān)的服務(wù)器,如APACHE、MYSQL。方法為(如重新啟動(dòng)apache服務(wù)器):service httpd restart。
通過文章詳細(xì)的描述,我們清楚的掌握了LAMP安裝和配置及一些LAMP的簡單知識(shí),希望本文對大家有幫助!
【編輯推薦】
- 網(wǎng)站技術(shù)中的一個(gè)帶頭人——LAMP
- LAMP 靈活多變性能強(qiáng)
- LAMP 系統(tǒng)性能調(diào)優(yōu)之網(wǎng)絡(luò)文件系統(tǒng)調(diào)優(yōu)
- LAMP 系統(tǒng)性能調(diào)優(yōu)之配置磁盤
- LAMP 系統(tǒng)性能調(diào)優(yōu)之內(nèi)核調(diào)優(yōu)措施
- LAMP 系統(tǒng)性能調(diào)優(yōu)之度量性能
- LAMP 系統(tǒng)性能調(diào)優(yōu)之理解 LAMP 架構(gòu)
- LAMP網(wǎng)站架構(gòu)方案解剖