歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Step by Step安裝qmail全套功略

Step by Step安裝qmail全套功略

日期:2017/2/27 9:47:11   编辑:更多Linux
  前言 sendmail的功能是足夠強大的,然而它的配置和管理也是十分復雜的。有另一個也很常用的郵件服務程序稱為qmail。 需要注意的是,許多人認為qmail要比sendmail簡單一些。就筆者個人的感覺,不能同意這種說法。但是,qmail在配置一些稀奇古怪的功能方面確實比sendmail要稍微容易一 些。另外qmail與sendmail不同之處在於,缺省的時候qmail將在用戶的宿主目錄中存儲郵件,而不是像sendmail那樣不分青紅皂白地放在/var/spool/mail下面,並且qmail不 需要使用文件鎖定,所以可以把用戶郵件放在NFS服務器上,這樣,可以使用多台服務器 來提供服務。對於大型郵件系統這是很重要的。(在sendmail也可以這樣做,但必須非 常小心以免造成郵件丟失)。但是這個功能雖然不錯,卻又產生了一些十分討厭的後果 。對於大型的ISP,qmail也很重要,它可以簡化虛擬域的設置。我們將試圖介紹如何用 qmail構造一個郵件服務器。當然,這裡的介紹不可能像介紹sendmail那樣細致,如果要 使用一些比較高級的功能,你也許必須研究qmail的文檔。 軟件包: qmail-1.03 qmail基本系統。在http://em.ca/~brUCeg/qmail+patches/上有一個好的補丁包,裡面有若干針對Qmail的POP3d及其他問題的補丁,筆者建議您把它下載過來。 ucspi-tcp-0.88 tcpsever服務程序 daemontools-0.70 監視工具 checkpassWord-0.81 pop3驗證用戶的程序 ezmlm-0.53 郵件轉發 vpopmail-4.9.6-1 虛擬域用戶pop3支持 qmailadmin-0.35 虛擬域web管理 autorespond-1.0.0 自動回復程序 sqwebmail-1.2.0 webmail vqsignup-0.4 web方式用戶注冊 軟件來源: http://www.qmail.org http://www.inter7.com/qmail 每個包安裝前務必先仔細閱讀INSTALL和FAQ,很多問題在FAQ都有解決方法。 安裝步驟: 1. #mkdir /var/qmail 2.設定組、用戶權限 # groupadd nofiles # useradd -g nofiles -d /var/qmail/alias alias # useradd -g nofiles -d /var/qmail qmaild # useradd -g nofiles -d /var/qmail qmaill # useradd -g nofiles -d /var/qmail qmailp # groupadd qmail # useradd -g qmail -d /var/qmail qmailq # useradd -g qmail -d /var/qmail qmailr # useradd -g qmail -d /var/qmail qmails 3. #tar xzvf qmail-1.03.tar.gz 進入qmail目錄後,仔細閱讀一下README和INSTALL文件.然後開始編譯qmail #make setup check 4. #cd qmail-1.03 #./config 5.建立系統別名 # (cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root) # chmod 644 ~alias/.qmail* 6. # cp /var/qmail/boot/home /var/qmail/rc # chmod 755 /var/qmail/rc 編輯 /var/qmail/rc 修改其中 ./Mailbox 成為 ./Maildir ,如下:


# !/bin/sh # Using splogger to send the log through syslog. # Using qmail-local to deliver messages to ~/Maildir by default. exec env - PATH="/var/qmail/bin:$PATH" qmail-start ./Maildir splogger q 其中 splogger qmail 指令是用來將紀錄文件紀錄於 / 中。 建立樣板 $ /var/qmail/bin/maildirmake /etc/skel/Maildir $ echo ./Maildir/ > ~/.qmail 注意 Maildir 必須為該使用者所有,可以 chown 變更,並以 chmod 700 Maildir 設定權限。 7.安裝 ucspi-tcp-0.88   # tar zxvf ucspi-tcp-0.88.tar.gz   # cd ucspi-tcp-0.88   # make   # make setup check   執行檔將被安裝於 /usr/local/bin 中。 8.安裝 checkpassword   # tar zxvf checkpassword-0.81.tar.gz   # cd checkpassword-0.81   # make   # make setup check   # chmod og-rx /bin/checkpassword   執行檔 checkpassword 將被安裝於 /bin 中如果不對/etc/passwd中的用戶開放mail,不需要裝checkpassword,只要裝vpopmail 9.安裝 daemontools   # tar zxvf daemontools-0.70.tar.gz   # cd daemontools-0.70   # make   # make setup check   執行檔將安裝於 /usr/local/bin 中。安裝本工具後可以用 # mkdir /var/run/qmail # supervise /var/run/qmail /var/qmail/rc 來啟動qmail,可以用svc來關閉活重起qmail,用svstat監視qmail運行情況,(qmail FAQ) 10.安裝 vpopmail # groupadd vchkpw # useradd -g vchkpw vpopmail # mkdir ~vpopmail/etc # echo ":allow" > ~vpopmail/etc/tcp.smtp # tar zvfz vpopmail-4.9.6-1.tar.gz # cd vpopmail-4.9.6-1 # ./configure --enable-roaming-users=y --enable-default-domain=mydomain.com --enable-passwd=n # make # make install-strip # crontab -e 40 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null # cd /home/vpopmail/bin # ./vadddomain mydomain.com mydomain append mydomain.com to /var/qmail/control/rcpthosts 11.從Sendmail向Qmail遷移    如果你的系統以前安裝使用著Sendmail,就需要進行下面的步驟:    11.1.首先找到Sendmail的啟動程序,一般是在/etc/rc.d目錄中,看上去像這樣的命令:“sendmail -bd -q15m”,將其注釋掉。    11.2. 殺掉Sendmail進程。如果Sendmail有子進程,可以反復用-STOP和-CONT信號殺,直到沒有子進程後用-TERM後加-CONT殺就可以了。    11.3. 檢查E-mail隊列中是否還有信,如果認為有必要將它們發送出去,可以在以後一段時間不定期地運行“sendmail.bak -q”,直到隊列清空。    11.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    11.5. 將csh -cf ′/var/qmail/rc &&′添加到啟動文件中去。

   11.6. 安裝Qmail的Sendmail外殼:    # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail    # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail    11.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。 12.激活qmail SMTP , POP3 daemon 系統服務   建立 SMTP 轉信規則   建立 /etc/tcp.smtp 內容為   :allow   此為接受任何Client端所發出之轉送信件   若要拒絕某些IP所發出之Relay則改為 /etc/tcp.smtp如下   1.2.3.4:allow,RELAYCLIENT=""   127.:allow, RELAYCLIENT=""   如此,除1.2.3.4及127.*之外的所有地址,都將被拒絕轉送信件。   接下來,轉換 tcp.smtp 成為 cdb 格式。   # /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp   注意:若對 tcp.smtp 有任何變更,都必須經過 tcprules 轉換成為 cdb 才會生效。另外,tcp.smtp 若為空白,則表示拒絕所有的轉送,因為預設的規則為 deny。至此,轉送規則已建立,稍後將依此規則激活 qmail-smtpd。   設定 SMTP 及 POP3 daemon 之激活   請移除 inetd.conf 中有關 smtp 及 pop3 的設定 (加上 # 號)   編輯 /etc/services,改為以下設定:   smtp 25/tcp mail   # pop-3 110/tcp #pop version 3   # pop-3 110/udp   pop3 110/tcp   pop3 110/udp   激活 SMTP:   /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb   -u UID -g GID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1   /var/qmail/bin/splogger smtpd 3 &   其中UID和GID為前述新增 qmail 系統帳號之 qmaild 之 User ID,



  smtp 25/tcp mail   # pop-3 110/tcp #pop version 3   # pop-3 110/udp   pop3 110/tcp   pop3 110/udp   激活 SMTP:   /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb   -u UID -g GID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1   /var/qmail/bin/splogger smtpd 3 &   其中UID和GID為前述新增 qmail 系統帳號之 qmaild 之 User ID,



Copyright © Linux教程網 All Rights Reserved