FreeBSDApache
一、安裝mysql51 #因為很多文章有提到mysql在php之後安裝配置會麻煩一些,所以首先安裝(不過與apache誰先誰後無所謂,不管那麼多了,我是這麼做的)
安裝前最好先添加mysql組和mysql用戶
QUOTE: pw addgroup mysql
pw adduser mysql
開始安裝
QUOTE: cd /usr/ports/databases/mysql51-server/
make install clean # n長的編譯過程
rehash
cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf #服務器內存1G,但是與apache在一起
/usr/local/share/mysql下面有5個my-xxxx.cnf文件
my-small.cnf 最小配置安裝,內存<=64M,數據數量最少
my-large.cnf 內存=512M
my-medium.cnf 32M<內存<64M,或者內存有128M,但是數據庫與web服務器公用內存
my-huge.cnf 1G<內存<2G,服務器主要運行mysql
my-innodb-heavy-4G.cnf 最大配置安裝,內存至少4G
QUOTE: mysql_install_db -u mysql ; mysqld_safe -u mysql & #建立數據庫目錄
二、安裝apache22+php5
QUOTE: cd /usr/ports/www/apache22/
make install clean
cd ../mod_php5
make install clean
配置/usr/local/etc/apache/httpd.conf:
加入
QUOTE: AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps #可不加
*注意:第二行主要為查看php代碼用,加上的話web目錄下的所有擴展名為.phps的文件在被浏覽器訪問時都顯示其源代碼,我安裝的時候就加了,但少了.phps的s,之後郁悶了半天
QUOTE: DocumentRoot "/usr/local/www/apache22/data"
<Directory "/usr/local/www/apache22/data">
這兩個是你的主頁目錄,可以根據自己需要跟改,要一致。
QUOTE: Options Indexes FollowSymLinks
去掉Indexes可以限制浏覽你的主頁目錄
QUOTE: rehash
apachectl start
echo "<?php phpinfo() ?>" > /usr/loacl/www/data/info.php
可能你的apache啟動的時候和我一樣會報這樣的錯誤:
QUOTE: [Wed Apr 12 21:48:09 2006] [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
我在google上找到了解決辦法,執行如下操作:
QUOTE: kldload accf_http
grep accf /boot/defaults/loader.conf
accf_data_load="NO" # Wait for data accept filter
accf_http_load="
NO" # Wait for full HTTP request accept filter #將這個"
NO"改成"
YES"
但是為什麼這樣做還不知道,而且這個accf是做什麼用的也不知道,還請大俠們來解釋一下。
訪問http://服務器的IP/info.php,如果有php的說明文件說明基本的php+apache2已經工作正常!
php5擴展功能安裝
QUOTE: cd /usr/port/lang/php5-extensions/
make install clean #如果第一次安裝會出現提示框,否則先make conf設置
選擇需要的模塊,當然也可以選擇必須的,日後再添加。
apachectl restart
如果http://服務器ip/info.php有改動,恭喜你!安裝成功!!
後續工作:
QUOTE: echo ' mysql_enable = "YES" ' >> /etc/rc.conf
echo ' apache22_enable="YES" ' >> /etc/rc.conf
以便開機後自動啟動mysql apache