软件介绍:vpopmail---管理qmail帐号
ezmlm和ezmlm-idx----qmail得邮件列表工具
qmail-date-localtime.patch.txt----qmail得补丁
以下是详细安装步骤:它得安装顺序也是总结出来得。
qmail-1.03.tar.gz安装:(default)install directory: /var/qmail (mkdir)
-----tar xvzf qmail-1.03.tar.gz
-----patch -s -p1 < ../qmail-date-localtime.patch.txt
-----cd qmailqmail-1.03
-----mkdir /var/qmail
-----pw groupadd nofiles
-----pw useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent
-----pw useradd qmaild -g nofiles -d /var/qmail -s /nonexistent
-----pw useradd qmaill -g nofiles -d /var/qmail -s /nonexistent
-----pw useradd qmailp -g nofiles -d /var/qmail -s /nonexistent
-----pw groupadd qmail
-----pw useradd qmailq -g qmail -d /var/qmail -s /nonexistent
-----pw useradd qmailr -g qmail -d /var/qmail -s /nonexistent
-----pw useradd qmails -g qmail -d /var/qmail -s /nonexistent
-----make setup check
-----./config-fast yourdomain.com
----rm /usr/sbin/sendmail
----ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
-----mkdir /var/qmail/alias
-----cd /var/qmail/alias
-----touch .qmail-postmaster
-----touch .qmail-mailer-daemon
-----touch .qmail-root
-----chmod 644 .qmail*
-----cp /var/qmail/boot/home /var/qmail/rc
ezmlm-0.53.tar.gz和ezmlm-idx-0.40.tar.gz安装:default directory install(/usr/local/bin/ezmlm)
-----tar xvzf ezmlm-0.53.tar.gz
-----tar xvzf ezmlm-idx-0.40.tar.gz
-----cp -r ezmlm-idx-0.40/* ezmlm-0.53/
-----cd ezmlm-0.53
-----patch < idx.patch
-----make clean
-----make
-----make man
-----make setup
vpopmail-5.0.1.tar.gz安装
-----tar xvzf vpopmail-5.0.1.tar.gz
-----cd vpopmail-5.0.1
-----pw groupadd vchkpw
-----pw useradd vpopmail -g vchkpw -d /home/vpopmail -s /bin/nonexistent
-----mkdir /home/vpopmail
-----mkdir /home/vopomail/etc
-----touch /home/vopomail/etc/tcp.smtp
-----./configure --enable-roaming-users=y
-----make
-----make install-strip
经验教训:
make编译vpopmail时,由于vmysql.h文件源码错误,55行和59行分别丢掉了最后一个符号,造成无法编译。手动修改后,编译ok
qmail安装后,要想正常运行,还需要下面的配置。
首先说一下qmail套件,都有哪些组成。
安装qmail的套件:
qmail主程序。
ezmlm和ezmlm-idx,这是qmail的邮件列表管理工具。
vpopmail,这是qmail的帐号管理工具,可以使用mysql、LDAP来管理邮件帐号。
qmailadmin,这是qmail的管理工具,可以简化管理工作。
ucspi-tcp,这是一个监视端口的程序,可以替代/etc/services里的端口监视。
daemon-tool,这是一个系统进程监视工具,可以替代inetd。
qmail的安装:
qmail的编译安装过程见另一篇详细文档。
qmail的配置:
1.默认情况下,qmail把邮件放置在~user/Mailbox里,但是由于一些原因,人们更喜欢把他放到/maildir中,如何做呢?
使用下面的命令,./bin/maildirmake $HOME/Maildir
echo ./Maildir/ > ~/.qmail
修改/var/qmail/rc文件,用./Maildir代替./Mailbox
2.安装过程中,我们已经建立了一个alias文件夹,并且新建了几个文件,这些文件是支持别名的。也就是说要把收到的信转发给谁。
3.编译时,我们选择mail是可以routing的,也就是和sendmail里的relay功能一样。他的配置文件在/home/vpopmail/etc目录下,分别为tcp.smtp和tcp.pop3文件
tcp.smtp的文件样式如下:
1 127.:allow,RELAYCLIENT=""
2 :allow,RELAYCLIENT=""
tcp.pop3文件格式如下:
1 :allow
并且,修改完后,要使用命令/usr/local/bin/tcprules /home/vpopmail/etc/tcp.smtp.cdb /home/vpopmail/etc/tcp.smtp.tmp < /home/vpopmail/etc/tcp.smtp
激活tcp.pop3的命令格式如上。
4.如何启动qmail?我们是想用tcpserver监视端口,用daemontool监视启动进程。
新建下面的脚本runsmtp,用tcpserver启动smtp:
#!/bin/sh
exec /usr/local/bin/tcpserver -u 1007 -g 1006 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd &
#pls replace "-u xxxx" with qmaild's uid, "-g xxx" with nofiles's gid
注意:uid和gid分别是qmaild和nofiles的。这个文件的脚本用tcpserver监视25端口,运行qmail-smtpd脚本,然后把和smptd有关的日志做记录。
新建下面的脚本runpop,用tcpserver启动pop3:
#!/bin/sh
exec /usr/local/bin/tcpserver -v -R 0 pop3 /var/qmail/bin/qmail-popup dive.livedoor.com /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d &
exec /usr/local/bin/tcpserver -v -R 0 pop3 /var/qmail/bin/qmail-popup dive.livedoor.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d &
注意:dive.livedoor.com地方填写你的服务器名;如果使用vpopmail管理帐号,请用/home/vpopmail/bin/vchkpw,如果使用checkpassword,请使用/bin/checkpassword。
到这儿,你就可以手动启动qmail了,如何在系统中加载呢?
如果使用/usr/local/etc/rc.d,请新建一个文件qmail.sh,内容以下:
#!/bin/sh
csh -f '/var/qmail/rc' &
/var/qmail/runpop &
/var/qmail/runsmtp &
如果使用daemontool,会在/service里新建几个文件,使用svs命令开启和关闭qmail。
5.千万在安装时不要忘记下面的两行命令,rm /usr/sbin/sendmail和 ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
否则,默认的邮件程序还是sendmail,而不是qmail,在/var/log/maillog里面能看出发送错误报告。
启动qmail,测试是否运行。
netstat -na
25和110端口已经打开。
telnet localhost 110和telnet localhost 25,均能连接。