歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

安裝qmail全套功略

  作者:wind521     前言  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,以及 nofiles 之 group ID。    /var/qmail/bin/splogger那一行會將log檔寫在 /var/log/maillog。     激活 POP3:    編輯激活檔加入以下設定:   tcpserver -H -R 0 pop3    /var/qma




Copyright © Linux教程網 All Rights Reserved