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