0.前言 sendmail雖然廣為使用,但其bug也相對得較多. 官方網站: 1.安裝新版本 a.透過cvsup更新ports tree b.路徑:/usr/ports/mail/sendmail 檢查Makefile中sendmail的版號是否為新版本( 此範例版本為更新 8.12.8 版本 ) c.路徑:/usr/ports/mail/sendmail 安裝:make install 由於大部分系統遇到的問題,都是在現有狀態下,更新 Sendmail 版本. 在沒有解除安裝之下,要安裝新版本.通常.. 最後通常會顯示一個訊息.. An older version of www/mod_php4 is alredy installed (安裝的軟體版名稱.號) You may wish to ``make deinstall'' and install this port again by ``reinstall'' to upgrade it properly. If you really wish to overwrite the old port of 安裝的軟體版名稱.號 without deleting it first, set the variable "FORCE_PKG_REGISTER" in you environment or the "make install" command line. ***Error code 1 此訊息告訴你說你必須要解除安裝舊版本 或是 設定 FORCE_PKG_REGISTER 變數,強制安裝. 通常採用的是強制安裝,因為服務不能停太久. d.設定 FORCE_PKG_REGISTER , *重新*強制安裝. 路徑:/usr/ports/mail/sendmail 安裝:make reinstall FORCE_PKG_REGISTER="yes" e.安裝的過程中,*某些版本*會看到類似的敘述. e1.設定檔source的位置.當然在/usr/ports/mail/sendmail/work 下也有!! e2.OS版本若小於 4.6 請在/etc/rc.conf中加入 e3.sendmail服務啟動(除了系統提示的sendmail.sh.sample之外,還有sm-clIEnt.sh.sample 將這兩個檔案分別更名為,sendmail.sh及sm-client.sh 話說回來,就算更名了也作用不大,應為這兩個shellsript還需要有參數(restart | start | stop)才能夠啟動. 所以更不更名隨便吧!! e1~e3 看過就算,先做下一步驟! 2.更新sendmail設定檔 由於透過ports tree安裝後,sendmail設定檔仍會停留在原先更新前的版本. 若此時重新執行新版本程式,則會發現sendmail執行檔版本為新版,而設定檔維持不變. 紅色框為:執行檔版本 ; 藍色框為:設定檔版本. 路徑:/usr/ports/mail/sendmail/work/sendmail-8.12.8/cf/cf (請自行變更sendmail版號,此例為8.12.8) 方法:複製預設的generic-bsd4.cf 為 sendmail.cf 建立新的設定檔: ./Build sendmail.cf 安裝新的設定檔: ./Build install-cf 3.mail.local 路徑:/usr/libexec/ 檢查mail.local的權限 (此程式用來遞送本地端的信件.) 若與上圖不符,請透過chmod變更相關權限;權限不對會收不到信件喔^^" 4.重新啟動sendmail 啟動新版本的sendmail之前,務必要將舊版的停掉!! 可以發現,不管是程式或是設定檔都變成新的版本了. 5.後續提醒 0.各個版本的安裝都大同小異.參照上方說明,只要改變版號即可. 1.新版本的sendmail執行檔位置在/usr/local/sbin/sendmail 與系統裝機預設的/usr/sbin/sendmail 不同!! 2.若直接下sendmail -bd -q15m 啟動sendmil,則啟動的是舊版本!! 因為/usr/sbin/ 在搜尋順序上高於 /usr/local/sbin/ 3.若要一開機就啟動新版本,請修改/etc/rc.conf中相關部分!! 參考e.2步驟! 4.重新啟動sendmail 若無法啟動,自動啟動,請透過/usr/local/etc/rc.d/自己寫一個簡單的啟動shell ex:start-sendmail.sh /usr/local/sbin/sendmail -bd -q15m
标签: