linux下用qmail建立郵件伺服器

來源:互聯網
上載者:User

參考文檔:
The qmail HOWTO v2
by Adam McKenna
http://www.flounder.net/qmail/qmail-howto.html

Life with qmail
by Dave Sill
http://www.lifewithqmail.org/lwq.html

xx作系統:redhat linux 7.2 (Enigma)
所需軟體:
qmail-1.03.tar.gz
qmail-103.patch
ucspi-tcp-0.88.tar
daemontools-0.76.tar.gz
MySQL-3.22.32-1.i386.rpm
  MySQL-client-3.22.32-1.i386.rpm
  MySQL-share-3.22.32-1.i386.rpm
  MySQL-devel-3.22.32-1.i386.rpm
vpopmail-4.9.8.tar.gz
vqsignup-0.5.tar.gz
sqwebmail-1.2.0.tar.gz
所有軟體都放置在/home/kingsix 目錄下。
設定該測試機的hostname為testmail.com.cn。

1. qmail的安裝

在安裝之前完全刪除sendmail(linux內建的mail伺服器)
killall -TERM sendmail
rpm -e --nodeps sendmail

[root@testmail kingsix]# tar zxvf qmail-1.03.tar.gz
對qmail打補丁
[root@testmail kingsix]#cp qmail-103.patch qmail-1.03
[root@testmail kingsix]# cd qmail-1.03
[root@testmail qmail-1.03]#patch -p1 < qmail-103.patch
此補丁修改dns.c檔案,解決網域名稱服務 (DNS)的一些問題。

建立 /var/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
下一步編譯qmail:
[root@testmail qmail-1.03]#make setup check
如果編譯成功,在/var/qmail下面將會有完整的qmail的目錄結構。

2 . 安裝daemontools
[root@testmail kingsix]#tar zxvf daemontools-0.76.tar.gz
將會在kingsix目錄下產生admin目錄
[root@testmail kingsix]#cd admin
[root@testmail admin]#cd daemontools-0.76
[root@testmail daemontools-0.76]#package/install
完成daemontools的安裝。

3. qmail的配置
為qmail添置網域名稱
[root@testmail qmail-1.03]#./config-fast testmail.com.cn
修改 /var/control目錄下面的locals 和rcpthost 檔案。

4. 安裝qmail alias
[root@testmail qmail-1.03]#cd /var/qmail/alias
[root@testmail alias]#echo admin > .qmail-root
[root@testmail alias]#echo admin > .qmail-postmaster
[root@testmail alias]#echo admin > .qmail-mailer-daemon

5.裝配daemontools和建立控制目錄
下面設定當系統啟動時自動啟動qmail。這裡要使用daemontool裡面的svcan工具。這些工具安裝
在/usr/local/bin目錄下面。
# mkdir -p /var/qmail/supervise/qmail-send/log
# mkdir -p /var/qmail/supervise/qmail-smtpd/log
# chmod +t /var/qmail/supervise/qmail-send
# chmod +t /var/qmail/supervise/qmail-smtpd
# mkdir -p /var/log/qmail/qmail-send
# mkdir -p /var/log/qmail/qmail-smtpd
# chown -R qmaill /var/log/qmail

在各個目錄下面編輯一些指令檔
到/var/qmail/supervise/qmail-send 目錄下,建立名為run的檔案,內容如下:
#!/bin/bash
exec /var/qmail/rc

到/var/qmail/supervise/qmail-send/log 目錄下,建立名為run的檔案,內容如下:
#!/bin/bash
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s2500000 /var/log/qmail/qmail-send

到/var/qmail/supervise/qmail-smtpd 目錄下,建立名為run的檔案,內容如下:
#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
exec /usr/local/bin/softlimit -m 2000000 /
/usr/local/bin/tcpserver -H -R -v -p -x /etc/tcp.smtp.cdb /
-u $QMAILDUID -g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1

到/var/qmail/supervise/qmail-smtpd/log 目錄下,建立名為run的檔案,內容如下:
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s2500000 /var/log/qmail/qmail-smtpd

修改指令碼屬性為可執行
chmod +x run

6.存取控制
編輯/etc/tcp.smtp檔案為
127.0.0.1:allow,RELAYCLIENT=""
192.168.2.:allow,RELAYCLIENT=""
:allow
允許本機和本地區域網路任意轉寄。但是tcpserver通過讀取cdb檔案來工作,所以需要用tcprules來轉換tcp.smtp檔案
# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

7. 建立/var/qmail/rc
#cp /var/qmail/boot/home /var/qmail/rc
編輯rc
#!/bin/sh

# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Mailbox by default.

exec env - PATH="/var/qmail/bin:$PATH" /
qmail-start ./Maildir/ splogger qmail
增加rc的可執行屬性 chmod +x rc

8.啟動qmail
#mkdir /service
#ln -s /var/qmail/supervise/* /service/

用ps 察看進程,可以看到一些supervise 和qmail相關的進程。
一個郵件伺服器就這樣安裝好了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.