Postfix安裝

Sendmail 在 Un*x系統已行之久遠,是一套功能強大的 MTA 郵件系統(Mail Transfer Agent),但設定的複雜程度,使人望之怯步,也因為常容易被找到漏洞,所以市面上也推出一些新的 MTA 軟體,如 QMail 跟 Postfix。我個人覺 得Postfix是目前在效能上也是相當出色的,設定也較容易,如果您也覺得 sendmail 太複雜,倒是可考慮用 postfix 來當作MTA。

Step 1 停止 Sendmail 運作:

> /etc/rc.d/init.d/sendmail stop
> kill -9 `cat /var/run/sendmail.pid`
> killall sendmail

Step 2 備份Sendmail 設定:

> mkdir /root/sendmail-old
> cp /etc/aliases /root/sendmail-old/
> cp /etc/sendmail.cf /root/sendmail-old/
> cp /etc/sendmail.cw /root/sendmail-old/
> cp /etc/mail/* /root/sendmail-old/

Step 3 取得postfix的rpm:

可至 rpmfind 網站搜尋適合的版本

Step 4 安裝 rpm:

> rpm -ivh postfix-xxx-x.i386.rpm

Preparing… ######################################## [100%]
1:postfix ######################################### [100%]
postalias: fatal: My hostname proxy is not a fully qualified name – set myhostname or mydomain in /etc/postfix/main.cf

Step 5 修改 /etc/postfix/main.cf 主要設定檔:

> vi /etc/postfix/main.cf

把myhostname、mydomain改成自己機器的hostname跟domain name。另外,postfix預設值只會接受localhost的smtp,如果要對外服務,記得修改inet_interfaces=all

Step 6 啟動 Postfix:

> /usr/sbin/postfix start

or

> service postfix start

以上是大致的安裝流程,細節部份可再參考下列網站:

初始化相關資料庫:

postmap hash:/etc/postfix/access
postalias hash:/etc/postfix/aliases

安裝 phpMyAdmin 遇到的問題

MySQL 4.1 以上版本為了提高安全性,使用了新的密碼驗證機制,所以,MySQL 的 Client Library 需要 4.0 版本以上。

但目前在 Client 端所使用的 PHP 版本若為 5.0 以下(如 4.3.9),內建的 MySQL Library 大都為 3.23,並不支援新版的密碼驗證機制。

解決方案

一、將 PHP 升級為 5.0版以上:

但是大部份的伺服器,包括諸多 Blog 平台,尚未支援 PHP5,這點倒是挺麻煩。

二、MySQL console 下,更新密碼形式改為 OLD_PASSWORD() (設回原來舊版的密碼驗證機制)。

mysql> UPDATE mysql.user SET Password = OLD_PASSWORD(’新的密碼’) WHERE Host = 'localhost' AND User = 'root'
mysql> FLUSH PRIVILEGES;

參考文件

  • MySQL Manual - A.2.3 Client does not support authentication protocol