LAMP (Linux + Apache + MySQL + PHP/Perl/Python) 近幾年來,已經成為Web 社區的事實標准。本文我們將介紹LAMP組合的安裝,本文假定你的機器上已經安裝了Linux ,如果你對Linux 的安裝還有什麼問題的話,可以去相關的一些開放源碼站點論壇上發表貼子,向其他網友尋求幫助。
也可以向相關的廠商尋求技術支持。本文的LAMP中的 P,暫時解釋為PHP,因為本站是基於 Zope + Python 結構架構的,所以本站在以後的文章中將著重向這方面傾斜。
所有LAMP組合中的軟件都是開放源代碼產品,所以您不必擔心產品的價格以及版權問題。相反,有廣大的開放源碼社區開發人員的不斷努力,這些產品的版本更新速度反而比那些昂貴的專有軟件更快。雖然Linux 因為界面問題,會讓您望而卻步,但是您不必擔心,現在,這些軟件都采用了浏覽器管理界面,好多都提供phpMyAdmin(一個利用PHP 語言在浏覽器上管理MySQL的程序)以及WebMin(通過浏覽器來管理系統)來讓您方便的管理系統。
PHP現在的版本已經到了4.0.4pl1,是一門面向對象的交叉平台的服務器端腳本語言。可以嵌入HTML語言中,可以作為Apache 的模塊來運行。下面我們以 tarball(.tar.gz)格式(和它相對的是RPM 格式)的版本為例子,來介紹安裝過程。
首先,去對應的網站下載最新版本的源碼。為了保持系統目錄分布的一致性,建議把他們解開到/usr/local/src 目錄:
#cd /usr/local/src
#tar xvfz filename.tar.gz
◆先介紹MySQL的安裝:
# cd /usr/locl/src/mysql-3.23.35
# ./configure --prefix=/usr/local/mysql
這樣就把MySQL 的安裝目錄設置為 /usr/local/mysql ,然後運行make 來編譯源代碼,接下來就可以用 make install 來安裝了。
安裝完畢後,需要把MySQL 庫加入系統,采用ldconfig 命令來實現:
#echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
#ldconfig -v | grep libmysqlclient
然後可以看到系統返回:
libmysqlclient.so.10 => libmysqlclient.so.10.0.0
讓MySQL 在啟動時自動運行:
#echo "/usr/local/mysql/bin/safe_mysqld > /dev/null &" >> /etc/rc.d/rc.local
接下來初始化數據庫(切換到/usr/local/mysql 目錄):
# ./scripts/mysql_install_db
啟動MySQL 服務:
# bin/safe_mysqld > /dev/null &
增加路徑:
# PATH="$PATH:/usr/local/mysql/bin"
測試 MySQL:
#mysqladmin version
如果能返回MySQL 的所有信息,就表示您的MySQL 已經安裝成功了。下面為了安全起見,需要給root用戶(數據庫中的超級用戶),設置口令:
#mysql -h -u root -p
按照提示輸入口令以後,MySQL 的設置就算大功告成了。
接下來的部分就是 Apache 和 PHP 的安裝了。如果你的系統已經存在Apache ,那麼需要首先做好備份。然後進入Apache 的源代碼目錄:
#cd /usr/local/src/apache_1.3.19
輸入配置命令:
#./configure --prefix=/usr/local/apache
然後改變到 PHP 的源代碼目錄:
#cd /usr/local/src/php-4.0.4pl1
配置PHP 的編譯命令:
#./configure --with-apache=../apache_1.3.19 --with-mysql=/usr/local/mysql
運行 make 和 make install , PHP就安裝成功了。
改變目錄到 Apache 源代碼所在:
#cd ../apache_1.3.19
因為增加了 PHP 模塊,所以需要重新配置Apache 的編譯文件。
#./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a (注意這裡的路徑,後面的文件確實是不存在的,不要擔心。)
然後運行make 和 make install 您就可以在 /usr/local/apache 目錄下看到apache 的幾個目錄了。為了讓Apache 能認識那些以 PHP 結尾的文件,我們需要修改 /usr/local/apache/conf/httpd.conf
找到下面的行,把行首用作注釋的#號去掉:
AddType application/x-httpd-php .php
這樣,Web 服務器就能認識那些 .php 結尾的文件,否則當您浏覽網站時,浏覽器會提示您存盤。為了讓Apache 自動認識 index.php 作為首頁我們還必須修改DirectoryIndex 行,添加 index.php:
DirectoryIndex index.html index.php
然後,重新啟動 Apache:
#killall -HUP httpd
可以在 /usr/local/apache/htdocs 目錄下,建立一個 testphp.php 的文件,內容為:
?php
phpinfo();
?〉
然後在浏覽器上輸入 http://localhost/testphp.php 就應該看到你當前的 PHP 設置情況。
以上介紹的 Apache/PHP 安裝方法為靜態編譯的方法。以後每次有新的版本出來或者添加新的模塊時,必須重新編譯Apache ,需要花費較長的時間,我們不推薦這種方法,Apache 1.3 以後的版本采用了 DSO(動態共享對象)技術,實現了模塊的動態安裝,這種方法不僅適用於PHP ,對其他模塊,例如 mod_perl,mod_python 都適用,因此,筆者推薦采用這種方法:
編譯Apache:
#./configure --prefix=/usr/local/apache --enable-module=most --enable-shared=max
#make
#make install
然後編譯PHP:
#./configure --with-apxs=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql
#make
#make install
之後的步驟和靜態部分一樣,主要就是修改httpd.conf 。 區別兩種安裝方法最簡單的辦法就是使用命令:
#httpd -l
看輸出結果,靜態編譯沒有 mod_so.c 模塊。
筆者相信 LAMP ,作為一個廉價的,開放源碼的,高性能的Web 開發平台,在我國相對落後的互聯網建設中,在這些年“政府上網”、“企業上網”、“金字工程”的號召下,會發出璀璨的光芒,照亮Web 平台。在這光芒的後面,只有兩個字來襯托:“服務”。
FreeLAMP 將會為這兩個字而努力,再努力!