使用urpmi將sendmail換成POSTFIX
背景
阿維原本在大陸的主機是沒有安裝sendmail的,
因為原本的功能需求並不需要,所以阿維也乾脆連PORT 25都一併關掉.
後來公司的大陸企業網站也架在這台主機上後,
負責企業網站的那組人需要寄發郵件的功能.
於是阿維就將PORT 25打開,並且讓他們使用PEAR MAIL的方式去寄信.
可是今天他們跟我反應說,功能無法正常執行.
阿維自己測試了一下,的確每次寄信的response都很久.
於是就想說乾脆重新編譯PHP,將sendmail的功能也編進去.
可是重新編譯完PHP之後,response緩慢的情形一樣沒有改善.
再和阿凱討論之後,決定使用POSTFIX取代sendmail
主機的Linux版本 : Mandriva Linux release 2006.0 (Official) for i586
設定urpmi
首先我們必須先將安裝過程中的urpmi先清除掉,這樣我們使用urpmi的時候,他才不會去找CDROM
指令 urpmi.removemedia -a
到 Easy Urpmi找出離你最近的主機做更新
Easy Urpmi
基本上只需要做main的部份.
主機的話就選離你最近的,因為列表中沒有大陸的主機,
所以阿維就選台灣,想說應該不會太慢.
選擇完之後它會顯示更新的網址.
阿維得到的結果是
指令 urpmi.addmedia main ftp://mdk.linux.org.tw/pub/mandrakelinux/official/2006.0/i586/media/main
with media_info/hdlist.cz
輸入這段結果後,系統會進行更新.
阿維昨天在更新的時候,速度還蠻快的,平均在200K~203K,只花兩分半鐘就做完更新了
安裝POSTFIX
指令 urpmi postfix
因為阿維一開始有安裝sendmail,因此在安裝postfix的時候,他會問要不要移除sendmail.
為了讓系統乾淨一點,所以當然是選擇移除sendmail.
安裝的時候會出現syslog的錯誤,
阿維在安裝完嘗試將syslog restart可是一樣會有問題.
不過在最後重起POSTFIX的時候,POSTFIX是可以正常運作的.
所以阿維就也先不去理會它了
指令 postfix restart
測試
阿維在啟動POSTFIX之後,將原本執行很慢的PEAR MAIL和使用PHP MAIL function的程式又重新跑了一次.
效能果然好很多,程式很快就有response,而且信件也都正常寄達
系統操作歷程
[root@localhost etc]# urpmi.removemedia -a
<br>removing medium "Installation Free CD1 (cdrom1)"
<br>removing medium "Installation Free CD2 (cdrom2)"
<br>removing medium "updates"
<br>removing medium "main"
<br>removing medium "contrib"
<br>found 0 headers in cache
<br>removing 0 obsolete headers in cache
<br>wrote config file [/etc/urpmi/urpmi.cfg]
<br>[root@localhost etc]# urpmi.addmedia main ftp://mdk.linux.org.tw/pub/mandrakelinux/official/2006.0/i586/media/main with media_info/hdlist.cz
<br>added medium main
<br>wrote config file [/etc/urpmi/urpmi.cfg]
<br>computing md5sum of existing source hdlist (or synthesis)
<br>retrieving source hdlist (or synthesis) of "main"...
<br> ftp://mdk.linux.org.tw/pub/mandrakelinux/official/2006.0/i586/media/main/media_info/hdlist.cz
<br>found probed hdlist (or synthesis) as media_info/hdlist.cz
<br>...retrieving done
<br>examining hdlist file [/var/cache/urpmi/partial/hdlist.main.cz]
<br>examining pubkey file of "main"...
<br>performing second pass to compute dependencies
<br>
<br>examining hdlist file [/var/lib/urpmi/hdlist.main.cz]
<br>built hdlist synthesis file for medium "main"
<br>found 0 headers in cache
<br>removing 0 obsolete headers in cache
<br>wrote config file [/etc/urpmi/urpmi.cfg]
<br>[root@localhost etc]# urpmi postfix
<br>The following packages have to be removed for others to be upgraded:
<br>sendmail-8.13.4-6mdk.i586 (due to conflicts with postfix) (y/N) y
<br>
<br> ftp://mdk.linux.org.tw/pub/mandrakelinux/official/2006.0/i586/media/main/postfix-2.2.5-7mdk.i586.rpm
<br>installing postfix-2.2.5-7mdk.i586.rpm from /var/cache/urpmi/rpms
<br>removing sendmail-8.13.4-6mdk.i586
<br>Preparing... #############################################
<br> 1/1: postfix #############################################
<br>Shutting down kernel logger: [ OK ]
<br>Shutting down system logger: [ OK ]
<br>Starting system logger: /etc/init.d/syslog: line 41: 25192 Terminated $*
<br>[FAILED]
<br>Starting kernel logger: [ OK ]
<br>
<br>[root@localhost etc]# /etc/rc.d/init.d/syslog restart
<br>Shutting down kernel logger: [ OK ]
<br>Shutting down system logger: [ OK ]
<br>Starting system logger: /etc/rc.d/init.d/syslog: line 41: 25568 Terminated $*
<br> [FAILED]
<br>Starting kernel logger: [ OK ]
<br>
<br>[root@localhost etc]# rc.d/init.d/postfix restart
<br>Shutting down postfix: [ OK ]
<br>Starting postfix: [ OK ]
<br>[root@localhost etc]
» 引用網址

.png)
.png)
.png)
_513_507.png)
.png)
