歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Qmail的安裝調試

Qmail的安裝調試

日期:2017/2/27 14:15:57   编辑:更多Linux
  軟件的正確安裝與調試是構築系統的第一步,同時,簡單的評測也是必不可少的。如果你的系統中以前曾安裝過Sendmail,那麼請不要錯過本篇中關於Sendmail向Qmail遷移的內容。    下載Qmail    可以通過訪問www.qmail.org或Mirror站點下載qmail-1.03.tar.gz。在http://em.ca/~brUCeg/qmail+    patches/上有一個很好的補丁包,裡面有若干針對Qmail的POP3d及其他問題的補丁,筆者建議您把它下載過來。    安裝Qmail    獲得Qmail-1.03.tar.gz後,用tar命令解包:    #tar xzvf qmail-1.03.tar.gz    進入Qmail目錄後,請仔細閱讀Readme和Install文件。    在進行編譯前,可根據需要選擇安裝補丁程序:    root:/usr/local/src/qmail-1.03# patch -p1 < /path/to/qmail-    103.patch    接下來,開始安裝Qmail。    1. 建立Qmail 根目錄    # mkdir /var/qmail    2. 按照Install.ids中的方法建立Qmail用戶和組    我們需要一一建立Qmail各後台進程運行所要用到的用戶名和用戶組:    # groupadd nofiles    # useradd -g nofiles -d /var/qmail/alias -s /bin/false alias    # useradd -g nofiles -d /var/qmail -s /bin/false qmaild    # useradd -g nofiles -d /var/qmail -s /bin/false qmaill    # useradd -g nofiles -d /var/qmail -s /bin/false qmailp    # groupadd qmail    # useradd -g qmail -d /var/qmail -s /bin/false qmailq    # useradd -g qmail -d /var/qmail -s /bin/false qmailr    # useradd -g qmail -d /var/qmail -s /bin/false qmails    3. 編譯 Qmail 及相關軟件    這一步是軟件編譯及建立Qmail 的目錄結構:    root:/usr/local/src/qmail-1.03# make setup check    4. 配置Qmail    開始配置Qmail之前,請認真閱讀Install.ctl和FAQ,配置Qmail最簡單的方法是:    #./config    或者:    #./config-fast your.full.home.name    5. 建立系統別名    root:/usr/local/src/qmail-1.03# cd ~alias    root:/var/qmail/alias# echo adam > .qmail-root    root:/var/qmail/alias# echo bob > .qmail-postmaster    root:/var/qmail/alias# echo bob > .qmail-mailer-daemon    6. 建立/var/qmail/rc    /var/qmail/rc是專門用來啟動Qmail的文件(它可以說是最為重要的Qmail文件了)。/var/qmail/rc中存放著Qmail的確認投遞指令(Default Delivery Instructions),由它來決定Qmail收到郵件後該怎麼做。


   我們可以先復制/var/qmail/    boot/proc到/var/qmail/rc,再對它進行編輯修改:    # cp /var/qmail/boot/proc /var/qmail/rc    如果我們想讓系統支持 .forward 文件,並將郵件投遞到/var/spool/mail,那麼/var/qmail/    rc 應該這樣寫:    #!/bin/sh    exec env - PATH="/var/qmail/bin:$PATH" \    qmail-start ′dot-forward .forward preline procmail′    如果想把郵件投遞到每個用戶的 Maildir 中而不是傳統的 /var/spool/mail中,就要把/var/qmail/rc修改成這樣:    #!/bin/sh    exec env - PATH="/var/qmail/bin:$PATH" \    qmail-start ′dot-forward .forward    ./Maildir/′    7. 開始測試Qmail投遞程序    建好/var/qmail/rc後,就可以啟動Qmail了:    # csh -cf ′/var/qmail/rc &&′    啟動Qmail後,可以參照TEST.deliver介紹的方法進行測試。    啟動 Qmail-SMTPD的方法    可以通過兩種方法啟動Qmail-SMTPD,一種是在Inetd中,一種是Tcpserver程序。    1. 在Inetd中啟動Qmail-SMTPD:    在/etc/inetd.conf中設置Qmail-SMTPD:    smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env \    tcp-env/var/qmail/bin/qmail-smtpd    然後重新啟動Inetd。    2.用Tcpserver程序啟動Qmail-SMTPD:    將/etc/inetd.conf中有關smtp一行注釋掉,然後將下面一行加入你的系統啟動文件中:    tcpserver -u 7770 -g 2108 0 smtp /var/qmail/bin/qmail-smtpd &&    把7770換成你的Qmail的UID,2108換成你的Nofiles的GID。    Tcpserver命令參數很多,可以對同時使用Qmail-SMTPD的人數、IP地址、域等進行控制,詳細的命令請參考Qmail的FAQ(當然,你必須要安裝Tcpserver程序,該程序可在http://pobox.com/~djb/ucspi-tcp.Html下載)。    啟動Qmail-POP3D    傳統的POP3只支持Mailbox方式的郵件投遞,為了支持Maildir方式的郵件投遞,需要使用Qmail提供的POP3:Qmail-POP3D。首先,確定你的/etc/services文件中已經有下面這一行:POP3 110/tcp。    然後,需要安裝一個口令驗證程序。如果想使用VmailMgr的虛擬用戶認證方式,可在安裝VmailMgr 後使用“checkvpw”命令換掉“checkpassWord”命令(不然要從http://pobox.com/~djb/checkpwd.html下載checkpassword)。在/etc/inetd.conf加入下面一行:    POP3 stream tcp nowait root    /var/qmail/bin/qmail-popup qmail-popup    YourHost /bin/checkpassword /var/qmail/bin/qmail-POP3d Maildir    注意,請將YourHost換為你的域名全稱。當然,也可以通過Tcpserver 啟動來把 YourHost換為你的域名的全稱。    tcpserver 0 POP3 /var/qmail/bin    /qmail-popup YOURHOST \

   /bin/checkpassword /var/qmail/    bin/qmail-POP3d Maildir &&    從Sendmail向Qmail遷移    如果你的系統以前安裝使用著Sendmail,就需要進行下面的步驟:    1.首先找到Sendmail的啟動程序,一般是在/etc/rc.d目錄中,看上去像這樣的命令:“sendmail -bd -q15m”,將其注釋掉。    2. 殺掉Sendmail進程。    如果Sendmail有子進程,可以反復用-STOP和-CONT信號殺,直到沒有子進程後用-TERM後加-CONT殺就可以了。    3. 檢查E-mail隊列中是否還有信,如果認為有必要將它們發送出去,可以在以後一段時間不定期地運行“sendmail.bak -q”,直到隊列清空。    4. 去掉Sendmail等文件的setuid bit:    # chmod 0 /usr/lib/sendmail    # chmod 0 /usr/sbin/sendmail    # chmod 0 /usr/lib/sendmail.mx    # mv /usr/lib/sendmail /usr/lib    /sendmail.bak    # mv /usr/sbin/sendmail /usr    /sbin/sendmail.bak    5. 將csh -cf ′/var/qmail/rc &&′添加到啟動文件中去。    6. 安裝Qmail的Sendmail外殼:    # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail    # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail    7. 虛擬域與虛擬用戶。    將虛擬域名加入/var/qmail/    control/local和/var/qmail/control/rcpthosts 。然後在/var/    qmail/control/virtualdomains中加入your.virtual.domains:youracct。    這樣,所有發往[email protected]的郵件都將以[email protected]的形式發給youracct。    VmailMgr是一個Qmail的增強工具,它擴展了Qmail的口令驗證功能,使用戶可以通過POP3 及IMAP訪問自己的虛擬郵箱,我們將在以後的內容中重點介紹VmailMgr。    Qmail配置工作雖然較Sendmail來說已經大大簡化,但要想真正建立一個功能強大、運行穩定的郵件服務器,掌握其靈活的配置,認真閱讀其How-to和FAQ還是極有必要的。關於Dot-forward、郵件列表等其他非常有用的方法和使用技巧,限於篇幅就不再介紹了,建議大家參考軟件包中的有關文檔。



   Qmail配置工作雖然較Sendmail來說已經大大簡化,但要想真正建立一個功能強大、運行穩定的郵件服務器,掌握其靈活的配置,認真閱讀其How-to和FAQ還是極有必要的。關於Dot-forward、郵件列表等其他非常有用的方法和使用技巧,限於篇幅就不再介紹了,建議大家參考軟件包中的有關文檔。



Copyright © Linux教程網 All Rights Reserved