安装Qmail/Vpopmail
1、http://shupp.org/software 下载相关包
netqmail-1.05.tar.gz Qmail主程序
toaster-scripts-0.6.tar.gz Qmail相关启动脚本
qmail-toaster-0.6-1.patch.bz2 Qmail的patch
ucspi-tcp-0.88.tar.gzinetd 超级服务器的替换程序
daemontools-0.76.tar.gz 管理后台服务程序以及日志的工具套件
vpopmail-5.4.17.tar.gz Vpopmail主程序
2、安装qmail
假设我将上述包下载在/usr/local/src/qmailpkg下
cd /usr/local/src/qmailpkg
tar -xzvf netqmail-1.05.tar.gz
cd netqmail-1.05
./collate.sh
建立相关组和目录
mkdir /var/qmail
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
为Vpopmail建立相关组和目录
groupadd -g 89 vchkpw
useradd -u 89 -g vchkpw vpopmail
为qmail打补丁
cd /usr/local/src/qmailpkg
tar -xzf toaster-scripts-0.6.tar.gz
cd netqmail-1.05/
bunzip2 -c ../qmail-toaster-0.6-1.patch.bz2 | patch -p0
cd netqmail-1.05
编译qmail
make
make setup check
快速配置qmail,也就是将域名写到几个配置文件中
./config-fast royhome.3322.org
为qmail建立几个特殊用户的别名
cd /var/qmail/alias
touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
chmod 644 /var/qmail/alias/.qmail*
创建一些默认配置
echo 1 > /var/qmail/control/mfcheck 检查发信人的email地址的域名是否存在,能够有效的block掉部分垃圾邮件,1是检查
echo ./Maildir/ > /var/qmail/control/defaultdelivery 选择qmail缺省传输方式为Maildir
创建认证
make cert # 按提示输入公司信息
make tmprsadh # 注:这里可能要多等一会
# 在crontab里增加下面这条,每天晚上更新temp keys
1 1 * * * /var/qmail/bin/update_tmprsadh > /dev/null 2>&1
创建服务
mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtpd/log
mkdir -p /var/qmail/supervise/qmail-pop3d/log
mkdir -p /var/qmail/supervise/qmail-pop3ds/log
chmod +t /var/qmail/supervise/qmail-send
chmod +t /var/qmail/supervise/qmail-smtpd
chmod +t /var/qmail/supervise/qmail-pop3d/log
chmod +t /var/qmail/supervise/qmail-pop3ds/log
cp /usr/local/src/qmailpkg/toaster-scripts-0.6/send.run /var/qmail/supervise/qmail-send/run
cp /usr/local/src/qmailpkg/toaster-scripts-0.6/send.log.run /var/qmail/supervise/qmail-send/log/run
cp /usr/local/src/qmailpkg/toaster-scripts-0.6/smtpd.run /var/qmail/supervise/qmail-smtpd/run
cp /usr/local/src/qmailpkg/toaster-scripts-0.6/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
cp /usr/local/src/qmailpkg/toaster-scripts-0.6/pop3d.run /var/qmail/supervise/qmail-pop3d/run
cp /usr/local/src/qmailpkg/toaster-scripts-0.6/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
cp /usr/local/src/qmailpkg/toaster-scripts-0.6/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
cp /usr/local/src/qmailpkg/toaster-scripts-0.6/pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run
echo 20 > /var/qmail/control/concurrencyincoming
chmod 644 /var/qmail/control/concurrencyincoming
chmod 755 /var/qmail/supervise/qmail-send/run
chmod 755 /var/qmail/supervise/qmail-send/log/run
chmod 755 /var/qmail/supervise/qmail-smtpd/run
chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
chmod 755 /var/qmail/supervise/qmail-pop3d/run
chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
chmod 755 /var/qmail/supervise/qmail-pop3ds/run
chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run
mkdir -p /var/log/qmail/smtpd
mkdir -p /var/log/qmail/pop3d
mkdir -p /var/log/qmail/pop3ds
chown -R qmaill /var/log/qmail
启动脚本:
cp /usr/local/src/qmailpkg/toaster-scripts-0.6/rc /var/qmail/
cp /usr/local/src/qmailpkg/toaster-scripts-0.6/qmailctl /var/qmail/bin/
chmod 755 /var/qmail/rc
chmod 755 /var/qmail/bin/qmailctl
ln -s /var/qmail/bin/qmailctl /usr/bin
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
用daemontools来启动qmail-send和qmail-smtpd
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
命令:
# 启动,停止,重启,查看队列等
qmailctl start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help
现在无法启动qmail,因为daemontools还没有装
# 检查服务
netstat -an | grep 25
ps -ef | grep qmail
ps -efl | grep "service errors" | grep -v grep
3、安装Daemontools
tar -zxvf /home/pkg/daemontools-0.76.tar.gz
cd admin/daemontools-0.76
patch -p1 < /usr/local/src/qmailpkg/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
package/install
# 验证daemontools已经正常运行:
sleep 5
ps ax | grep svscan
4、安装ucspi-tcp
tar zxvf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
patch -p1 < /usr/local/src/qmailpkg/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
make
make setup check
5、启动qmail
qmailctl start
6、配置vpopmail
vpopmail的用户和组我们前边已经建立了,接下来我们只需要配置
mkdir -p ~vpopmail/etc
# 设置默认域
echo "royhome.3322.org" > ~vpopmail/etc/defaultdomain
# 设置smtp规则
echo '127.0.0.1:allow,RELAYCLIENT=""' > ~vpopmail/etc/tcp.smtp
cd ~vpopmail/etc
tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
# 设置MySQL信息
echo "localhost|0|vpopuser|"这里写vpopuser的密码"|vpopmail" > ~vpopmail/etc/vpopmail.mysql
chmod 640 ~vpopmail/etc/vpopmail.mysql
chown -R vpopmail.vchkpw ~vpopmail/etc
# 在MySQL里添加vpopmail的帐号
/usr/local/mysql/bin/mysql -uroot --password="mysql的密码"
CREATE DATABASE vpopmail;
GRANT select,insert,update,delete,create,drop ON vpopmail.*
TO vpopuser@localhost IDENTIFIED BY 'vpopuser的密码';
FLUSH PRIVILEGES;
QUIT
7、安装Vpopmail
cd /usr/local/src/qmailpkg/
tar zxvf vpopmail-5.4.17.tar.gz
cd vpopmail-5.4.17
# 带数据库支持
./configure /
--enable-auth-module=mysql /
--enable-incdir=/usr/local/mysql/include /
--enable-libdir=/usr/local/mysql/lib /
--enable-sql-logging /
--enable-mysql-limits /
--enable-valias /
--enable-logging=v
make
make install-strip
8、设置Vpopmail
# 添加路径
echo 'export PATH=$PATH:/home/vpopmail/bin' >> /etc/profile
source /etc/profile
# 添加域
vadddomain royhome.3322.org "域管理的密码"
# 添加用户
vadduser roy.zhao@royhome.3322.org 1234
vmoduser -c roy.zhao roy.zhao@royhome.3322.org
9、启动Vpopmail
cp /usr/local/src/qmailpkg/toaster-scripts-0.6/vpopmailctl /var/qmail/bin
ln -s /var/qmail/bin/vpopmailctl /usr/bin
chmod 755 /var/qmail/bin/vpopmailctl
# 用daemontools来启动qmail-pop3d和qmail-pop3ds
ln -s /var/qmail/supervise/qmail-pop3d /service
ln -s /var/qmail/supervise/qmail-pop3ds /service
命令:
# 启动,停止,重启,查看队列等
vpopmailctl start|stop|restart|stat|pause|cont|help
# 检查服务
netstat -an | grep 110
ps -ef | grep qmail
ps -efl | grep "service errors" | grep -v grep
10、为Vpopmail建立root/anonymous用户的alias
cd /home/vpopmail/domains/royhome.3322.org/
#建立一个.qmail-admin
echo 'roy.zhao' > .qmail-admin
#建立root/anonymous用户的软链接
ln -s .qmail-admin /home/vpopmail/domains/royhome.3322.org/.qmail-root
ln -s .qmail-admin /home/vpopmail/domains/royhome.3322.org/.qmail-anonymous
参考文档