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

來源:互聯網
上載者:User
apache|mysql|編譯|原始碼 記錄一下我在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 <--這裡需要找到apache安裝路徑的apxs這個檔案,如果是apache 1.3版本的話,參數是--with-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();
?>

這時候在用戶端瀏覽器中訪問http://serverip/phpinfo.php應該出現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一下,重新啟動服務,就可以更新了。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.