2009年1月21日 星期三

FreeBSD 下安裝 Apache2.2 + PHP 5.2 + MySQL 5.0

[MySQL 5.0 with InnoDB & UTF-8]

# cd /usr/ports/databases/mysql50-server
# make WITH_CHARSET=utf8 WITH_XCHARSET=all WITH_COLLATION=utf8_unicode_ci BUILD_OPTIMIZED=yes BUILD_STATIC=yes --with-plugins=innobase install clean


安裝好之後,我們要產生 MySQL 一開始所要用的 Database,預設會裝在 /var/db/mysql 裡 ( 若不想裝在預設的地方,安裝時下參數 --localstatedir=/path/to/your/location )

# rehash
# mysql_install_db


複製 MySQL 的系統設定檔到 /etc 下,這裡使用的是 InnoDB 設定檔,需記得修改 INNODB 相關設定值

# cp /usr/local/share/mysql/my-innodb-heavy-4G.cnf /etc/my.cnf


或者做最簡單設定

# vi /etc/my.cnf


寫入以下設定:

[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
default-collation=utf8_unicode_ci
default_table_type = innodb


設定 MySQL 資料庫權限,並且啟動它

# chown -R mysql:mysql /var/db/mysql
# mysqld_safe &


啟動無誤的話,畫面會出現此訊息

Starting mysqld daemon with databases from /var/db/mysql


確認是否正常執行中

# ps -aux | grep mysql
mysql 53989 0.0 13.3 66404 16868 p0 IN 10:17PM 0:00.62 /usr/local/libexec/mys
mysql 53990 0.0 13.3 66404 16868 p0 SN 10:17PM 0:00.00 /usr/local/libexec/mys
mysql 53991 0.0 13.3 66404 16868 p0 IN 10:17PM 0:00.00 /usr/local/libexec/mys


設定 MySQL Root 的密碼

# mysqladmin -u root password 新密碼


增加新使用者

# mysql -u root -p
# GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON 資料庫.* TO '帳號'@'localhost' IDENTIFIED BY '密碼';
# FLUSH PRIVILEGES;




[Apache2.2]

# cd /usr/ports/www/apache22
# make install clean
在此可選擇所需要的模組,完成後自動繼續進行編譯





[PHP 5.2]

# cd /usr/ports/lang/php5
# make config install clean
在此可選擇所需要的模組,完成後自動繼續進行編譯


記得要勾選此選項,不然 Apache 會不認得 PHP

APACHE Build Apache module


再安裝 PHP Extensions

# cd /usr/ports/lang/php5-extensions
# make config install clean
在此可選擇所需要的模組,完成後自動繼續進行編譯



[Configure]
首先設定 PHP 的設定檔,以後就是設定 php.ini 這檔

# cp /usr/local/etc/php.ini-dist php.ini


修改 Apache 的設定

# vi /usr/local/etc/apache22/httpd.conf

在最上面加入
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

找到
DirectoryIndex index.html
把它變成
DirectoryIndex index.php index.html index.htm


設定一開機啟動 Apache & MySQL

# vi /etc/rc.conf

加入這三行
apache22_enable="YES"
apache22_http_accept_enable="YES"
mysql_enable="YES"


啟用服務

/usr/local/etc/rc.d/apache22 start
/usr/local/etc/rc.d/mysql-server start


參考來源:
http://www.centerbbs.com/redirect.php?tid=24380&goto=lastpost
http://forum.shareget.com/t115314/