CentOS 預設的 postfix 是不支援 mysql 的 , 到 G 大那邊查了很多幾乎都是說明怎麼編譯 , 真是給他有點麻煩 ... 我已經很久不去搞編譯這東西了 ...
後來我找到了 CentOS Wiki 的一個文件
裡面有說到 centosplus 這個 repo 有包好一個 postfix 並且支援 mysql 及 postgresql 的套件
我就直接照步驟來做了
首先就是要先移除舊版的 postfix , 直接執行 yum remove postfix 就可以把 postfix 及相依套件一併移除
然後要修改 /etc/yum.repos.d/CentOS-Base.repo 這個設定檔 , 其中有三個區段 [base] [update] [centosplus] 都要新增一些東西 , 我就把我自己修改的部份貼上 , 並用粗體來標示新增的地方
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
exclude=postfix-*
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
exclude=postfix-*
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
includepkgs=postfix-*
接著再用 yum 重新安裝 , 執行 yum --enablerepo=centosplus install postfix , 安裝成功後執行 postconf -m , 就會多出 mysql 的模組 ^^ 大功告成
說明一下粗體的部分 , [base] [update] 中的 exclude 指令就是要讓 yum 去忽略這兩個 repo 的 postfix 套件 ,意思是若以後執行 install 或 upgrade 指令的時候都不會去找 [base] 或 [update] 區段了, 由於 centosplus 裡面包的 postfix 版本編號較舊 , 所以這樣做的用意是為了避免我們安裝好 centosplus 的版本之後 , 不會在更新時去安裝到沒有支援 mysql 的 postfix
yum –enablerepo=centosplus install postfix
少了一個 "-" before enablerepo