在linux下面,使用源碼包編譯的方式安裝LAMP,可以對內部的編譯機制和php的模塊加載等方面有更加深入的了解。
所謂LAMP指的是Linux+Apache+Mysql+Php,這些軟件安裝完畢了之後,就算是成功搭建了進行php開發的環境了。
首先則是要下載源碼包:
apache:wget http://apache.dataguru.cn//httpd/httpd-2.4.7.tar.bz2mysql:直接用apt-get安裝好了,這個源碼新版本的比較難找。php:wget http://cn2.php.net/distributions/php-5.5.7.tar.bz2
下載完了源碼包之後,要進行解壓縮,基本的解壓縮命令如下:
http://www.cnblogs.com/eoiioe/archive/2008/09/20/1294681.html
針對.tar.bz2就是 tar jxvf
針對.tar.gz 就是tar zxvf
1 安裝mysql
首先說安裝mysql。因為對於mysql來說,源碼包比較難找,其實也沒必要通過編譯的方式安裝。所以最方便的方式就是直接使用apt-get的安裝方式。
sudo apt-get install mysql-client
sudo apt-get install mysql-server
按照提示操作了之後,就完成了安裝的大部分。在提示中要求設定用戶名和密碼,這個是連接數據庫主要所需要的參數。
接下來就用這個命令進行一下檢測:
mysql -u
username -p
password
把username和password換成本來設置的值,然後看一下mysql是否安裝成功了。
正常情況下mysql應該是被注冊為linux的服務了。可以通過如下命令察看一下:
chkconfig --list
查看所有已注冊的服務。
2 安裝apache
安裝apache的時候,首先解壓縮並且進入源碼目錄:
tar jxvf apache-version.tar.bz2
cd apache-version/
然後對apache進行配置:
./configure –prefix=/usr/local/apache –enable-module=so –enable-module=rewrite –enable-shared=max –htdocsdir=/var/www &&
這裡給出的prefix參數代表安裝的目錄。htdocsdir參數代表apache服務器的localhost文件位置。enable-module參數則啟動和so和rewrite兩個模塊。so是用來提供DSO支持的apache核心模塊。rewrite是實現地址重寫的模塊。像這些模塊都是不能動態的加載進去的,以後需要的話還得重新編譯源碼,所以推薦都加載進去。
enable-shared=max參數是指定把so以外所有的apache標准模塊都編譯成DSO模塊,而不是apache核心內。
然後就開始:
make
make install
接下來需要把apache設定為linux的服務:
首先復制啟動文件到服務目錄下:
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
然後打開服務文件:
vim /etc/init.d/httpd
在#!/bin/sh 後面加上下面兩行:
#chkconfig:345 85 15
#description: Start and stops the Apache HTTP Server.
chkconfig:後面定義的使啟動服務的運行級別(例子中使2345啟動改服務),以及關閉和啟動服務的順序,(上例中關閉服務的順序使8,啟動的順序使92)
descriptions:對改服務的描述
接下來更改文件的執行權限,並且增加服務:
chmod +x /etc/rc.d/init.d/httpd
chkconfig –add httpd
這樣對apache的配置就完成了。
注意:在apache配置的時候可能會出現出現缺包的情況,我之前碰到的是zlib,可以通過下載zlib的源碼包,並且同樣進行配置安裝的形式,在配置的時候可以指定安裝目錄,比如是/usr/local/zlib
那麼再次配置apahce的時候就要加上
--with-zlib=/usr/loca/zlib
來把這個依賴添加上。
別的包也是同樣的道理。
3 php安裝
同樣要執行解壓縮和進入目錄的操作。
接下來是配置的過程:
./configure --prefix=[php安裝目錄] --with-config-file-path=[php安裝目錄] --with-apxs2=[apache安裝目錄]/bin/apxs --with-mysql=[mysql安裝目錄] --enable-debug --enable-maintainer-zts
如果還想要添加別的庫的話,就用--with-庫名=[庫安裝目錄]
--enable-debug參數會在出錯的時候輸出很多有用的信息,從而快速定位錯誤。
而-enable-maintainer-zts則會讓PHP思考在多線程環境中的行為,並且可以讓你捕獲常見的程序錯誤,這些錯誤在非線程環境中不會引起問題,但在多線程環境中卻使你的擴展變得不可用。
接下來進入
make
make install
常見的錯誤可以看下面這個鏈接:
http://lyp.cn/350_how-to-fix-php-compile-errors
如果沒有yum包的話,找到相應的apt-get包也ok的。
接下來在apache中進行配置:
vim /usr/local/apache/conf/httpd.conf
然後在AddType中添加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
在DirectoryIndex增加 index.php,以便Apache識別PHP格式的index
DirectoryIndex index.html index.php
重啟apache服務使更改生效:
sudo /etc/init.d/httpd restart
再之後,要拷貝php的配置文件:
cp ../php-5.2.10/php.ini.dist /usr/local/php/lib/php.ini
然後就可以進行驗證了,在網絡文件夾下建立info.php:
接著打開浏覽器,輸入localhost/info.php
如果輸出正常,那麼配置就完成了。