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