LAMP - Linux + Apache + MySQL + PHP
參考書籍:
大部份的系統管理者都己習慣使用各套件廠商所準備的套件式,因為它們都很貼心的為客戶們設想週到,把所有套件的功能都附加上去,但是我想應該也會有像小弟一樣想要一個簡單的環境,而不是需要所有的功能,此時就只能拿 source code 來編譯了。
這次,小弟所寫的是 Apache 2、MySQL 5 和 PHP 5 的編譯筆記,小弟的需求不多,所以很多額外的進階選項都沒有加進去,如此對我來說也算是減少付擔 :)
以下就是這次安裝的過程:
安裝 Apache 2:
在安裝之前,請先確認你的 apache 要裝在那裡,在這裡是安裝到 /usr/local/httpd 這個目錄,並使用了一些選項,在 configure 好了之後,就可以開始編譯。
開始 configure
0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 |
root # ./configure --prefix=/usr/local/httpd --enable-isapi --enable-file-cache > --enable-echo --disable-charset-lite > --enable-charset-lite --enable-cache --enable-disk-cache --enable-mem-cache > --enable-example --enable-case-filter --enable-case-filter-in --enable-dumpio > --enable-ldap --enable-auth-ldap --enable-ext-filter --enable-deflate --enable-log-forensic > --enable-logio --enable-mime-magic --enable-headers --enable-proxy --enable-proxy-connect > --enable-proxy-ftp --enable-proxy-http --enable-ssl --enable-optional-hook-export > --enable-optional-hook-import --enable-optional-fn-import --enable-http --enable-cgi > --enable-cgid --enable-speling --enable-rewrite --enable-so --with-suexec-uidmin > --with-suexec-gidmin --with-suexec-logfile --with-suexec-safepath --enable-static-htpasswd > --enable-static-htdigest --enable-static-rotatelogs --enable-static-logresolve |
configure 無誤的話就開始編譯:
root # make |
安裝:
root # make install |
啟動 Apache:
root # /usr/local/httpd/bin/apachectl start |
安裝 MySQL 5:
跟 Apache 一樣,我們需要先 configure 一次,建立 Makefile 檔案,然後才可以編譯。
configure MySQL 並加入對中文 big5 的支援:
root # ./configure --prefix=/usr/local/mysql --with-charset=big5 --with-extra-charsets=all |
編譯無誤後安裝:
root # make && make install |
建立 mysql 使用者:
root# useradd -s /bin/false -d /usr/local/mysql mysql |
初始化 MySQL 資料庫並設定權限:
root # cd /usr/local/mysql root # bin/mysql_install_db --user=mysql root # chown -Rf mysql var; chgrp -Rf mysql . |
啟動 MySQL:
root # bin/mysqld_safe --user=mysql & |
廣 告 |
安裝 PHP 5 模組:
安裝 PHP 模組時,需要先知道 Apache 和 MySQL 的安裝目錄,這樣才可以被支援,在本例中,Apache 是安裝在 /usr/local/httpd,而 MySQL 是安裝在 /usr/local/mysql 裡。
root # ./configure --with-apxs2=/usr/local/httpd/bin/apxs
--enable-debug \ > --enable-magic-quotes --enable-libgcc --enable-ftp --enable-mbstring \ > --with-mysql=/usr/local/mysql --enable-sockets --with-gnu-ld |
編譯無誤後安裝 PHP 5
root # make && make install |
設定 httpd.conf:
root # /usr/local/httpd/conf/httpd.conf ___________________________________ #加入 php 模組 LoadModule php5_module modules/libphp5.so #加入 php 類別 AddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps ___________________________________ root # |
更新 PEAR 套件:
root # pear install HTML_Template_IT root # pear upgrade PEAR root # pear upgrade Date root # pear upgrade DB root # pear upgrade Mail |
重新啟動 Apache:
root # /usr/local/httpd/bin/apachectl stop root # /usr/local/httpd/bin/apachectl start |
注意事項:
以上範例為安裝 Apache 2 和 PHP 5 的結合,並不適用於 PHP 4 或其它版本的設定,而在 PHP 5 裡,更新了 PEAR 這個套件,所以在安裝完成之後還需要設定 PEAR 才可以使用 PEAR 的功能(最明顯的地方在於 DB 的連線)。而編譯 PHP 時,記得是要使用 --with-apxs2 而不是 --with-apxs,因為我們是使用 Apache 2 版本。
要得知 configure 有那一些選項可以使用,請使用 --help 選項即可:
root # ./configure --help |
測試:
要測試 Apache 是否已和 PHP 整合在一起,只要寫一下 PHP 程式就可以了。
root # touch /usrc/local/httpd/htdocs/phpinfo.php root # vi /usrc/local/httpd/htdocs/phpinfo.php ---------------------------- <? phpinfo(); ?> ---------------------------- root # |
之後,請選擇任一 Browser 開啟就好了。
04/09/2006