linux下apache+mysql+php開發環境純原始碼編譯搭建(轉)

ba發表於2007-08-15
linux下apache+mysql+php開發環境純原始碼編譯搭建(轉)[@more@]   記錄一下我在fedora core 1下透過原始碼編譯出來的apache+mysql+php開發環境的全部過程

通常安裝一臺伺服器當然使用rpm是最方便的,不需要考慮太多配置的問題,就可以輕鬆獲得需要的環境了。不過rpm包互相關聯的問題也不是這麼容易解決。 apache,mysql,php這三個應用從原始碼編譯安裝還是比較簡單的,配置引數不算複雜,而且沒有太多的依賴關係,從原始碼編譯出來的系統也比較穩定一些,方便未來打補丁和升級工作。

編譯安裝的前提是,系統已經安裝了相應的編譯工具,一般我的習慣是在安裝系統的時候,選擇自定義系統並且只選擇開發工具包這一項,其他所有軟體包均不安裝。如果您沒有選擇安裝所有的開發工具,那麼之前您至少需要安裝下面的rpm包

autoconf-2.57-3.noarch.rpm
automake-1.7.8-1.noarch.rpm
binutils-2.14.90.0.6-3.i386.rpm
bison-1.875-5.i386.rpm
byacc-1.9-26.i386.rpm
cpp-3.3.2-1.i386.rpm
flex-2.5.4a-30.i386.rpm
gcc-3.3.2-1.i386.rpm
gcc-c++-3.3.2-1.i386.rpm
glibc-devel-2.3.2-101.i386.rpm
glibc-headers-2.3.2-101.i386.rpm
glibc-kernheaders-2.4-8.36.i386.rpm
libstdc++-devel-3.3.2-1.i386.rpm
m4-1.4.1-14.i386.rpm

下面介紹步驟

1、mysql安裝
下載一個目標版本
tar -xzvf mysql-4.0.xx.tar.gz
cd mysql-4.0.xx
./configure --prefix=/usr/local/mysql make
make install
在support-files目錄中,選擇一個適當的.cnf檔案,cp到/etc/my.cnf
cd /usr/local/mysql/bin
./mysql_install_db
../share/mysql/mysql.server start
./mysqladmin -uroot password 'xxxx' ./mysql -uroot -p 嘗試登陸mysql,應該是沒有問題的了

mysql.server這個檔案可以copy到/etc/rc.d/init.d目錄下,設定系統啟動的時候自動啟動mysql服務

2、apache安裝
下載一個目標版本
tar -xzvf httpd-2.0.xx.tar.gz
cd httpd-2.0.xx
./configure --prefix=/usr/local/apache --enable-so make
make install
cd /usr/local/apache/conf
修改httpd.conf,因為一會兒還要配置php,這裡可以暫時簡單設定一下,主要配置User,Group,ServerName,DocumentRoot,DirectoryIndex這些引數就可以了
cd /usr/local/apache/bin
./apachectl start 啟動apache服務,這時候在客戶端瀏覽器裡面輸入ip,因該可以看到apache預設的頁面出現

apachectl這個檔案也可以copy到/etc/rc.d/init.d目錄下,設定系統啟動的時候自動啟動apache服務


3、php安裝
下載一個目標版本
tar -xzvf php-4.3.xx.tar.gz
cd php-4.3.xx
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs make
make install
將原始碼目錄中php.ini-recommended這個檔案copy到/usr/local/php/lib/下,改名為php.ini
回到apache的配置檔案中,確認是否自動新增了LoadModule php4_module modules/libphp4.so這一行。然後再新增下面的程式碼,我一般習慣新增在#AddHandler cgi-script .cgi這一行後面。
AddType application/x-httpd-php .php

使用apachectl重新啟動apache服務
./apachectl restart

在設定的DocumentRoot目錄下,新增一個phpinfo.php的檔案來測試系統,程式程式碼如下:

//filename: phpinfo.php
phpinfo();
?>

這時候在客戶端瀏覽器中訪問應該出現php的參數列,至此所有系統安裝完畢。

當然還有一些細節需要考慮,比如將
/usr/local/mysql/bin
/usr/local/apache/bin
/usr/local/php/bin
三個目錄加入到系統的PATH裡面,這樣所有的操作指令在任何路徑都可以執行了

配置php.ini檔案,將include_path設定成include_path = ".:/usr/local/php/lib/php",這樣就可以在程式碼裡面使用pear程式碼庫了。

上述是這三個應用的基本最簡配置,如果需要額外的擴充套件功能,就要在./configure後面的引數中進行配置了,具體配置的格式可以參考各自的./configure --help幫助選單。

建議保留原始碼的目錄,這樣在需要新增擴充套件的時候,只需要修改configure引數,並且make, make install一下,重新啟動服務,就可以更新了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-958652/,如需轉載,請註明出處,否則將追究法律責任。

相關文章