Qmail Toaster 中文版
By FunBSD
最后更新日期:2004年8月9日
前言
Whatis?
功能列表
参考资料
安装准备
安装环境
检查DNS设置
卸载已有的邮件系统
下载软件
安装软件
daemontools
ucspi-tcp
qmail
vpopmail
courier-imap
autorespond
ezmlm
qmailadmin
squirrelmail
测试
测试qmailadmin
测试squirrelmail
测试POP3
测试IMAP
可选安装
Qmail Scanner
Qmailadmin Limits
iGENUS
--------------------------------------------------------------------------------
前言
Whatis?
什么是Toaster?我也不知道:(,中文没学好,英文也没学好.
英文解释:http://cr.yp.to/qmail/toaster.html
功能列表
SMTF服务器:SMTP-AUTH认证(Plain,Login,CRAM-MD5),TLS(SSL)支持,病毒和垃圾邮件检测
POP3服务器:CRAM-MD5,APOP,和SSL支持
IMAP服务器:TLS(SSL)支持
自动回复
邮件列表
Web管理
WebMail
参考资料
英文原版:http://shupp.org/toaster
FreeBSD版:Qmail FreeBSD Toaster (MySQL)
Qmail参考:http://www.lifewithqmail.org
页首
--------------------------------------------------------------------------------
安装准备
安装环境
这里假设Apache,MySQL都安装在/usr/local目录下,PHP配置文件在apache/conf目录下
还要确认下面的软件也已经安装:
rpm -q gdbm
rpm -q gdbm-devel
rpm -q openssl
rpm -q openssl-devel
rpm -q stunnel
rpm -q krb5-devel
我在RedHat 9和RedHatAS 3.2下测试成功,其他系统还没试过
检查DNS设置
在开始之前,确保正确设置了DNS MX记录.例如使用"funbsd.org"作为邮件域,对MX记录进行测试:
在Linux下:
# host -t mx funbsd.org
funbsd.org. mail is handled by 10 mail.funbsd.org.
# host -t a mail.funbsd.org
mail.funbsd.org. has address xxx.xxx.xxx.xxx
在Windows下:
C:/>nslookup
Default Server: ns.funbsd.org
Address: xxx.xxx.xxx.xxx
>set type=mx
>funbsd.org
funbsd.org MX preference = 10, mail exchanger = mail.funbsd.org
mail.funbsd.org internet address = xxx.xxx.xxx.xxx
>exit
卸载已有的邮件系统
确认没有SMTP/POP/IMAP服务在运行:
/etc/init.d/sendmail stop
netstat -na | grep 25
netstat -na | grep 110
netstat -na | grep 143
ntsysv
删除已有的SMTP/POP/IMAP软件:
rpm -e --nodeps sendmail
rpm -e --nodeps postfix
下载软件
我一般把软件放在/home/pkg下面,根据个人习惯吧
mkdir /home/pkg
cd /home/pkg
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
wget http://shupp.org/software/netqmail-1.05.tar.gz
wget http://shupp.org/software/toaster-scripts-0.6.tar.gz
wget http://shupp.org/patches/qmail-toaster-0.6-1.patch.bz2
wget http://easynews.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.5.tar.gz
wget http://shupp.org/patches/chkuser-0.6.patch
wget http://shupp.org/patches/chkuser-0.6.mysql.patch
wget http://shupp.org/software/courier-imap-2.2.2.20040207.tar.bz2
wget http://shupp.org/software/autorespond-2.0.4.tar.gz
wget http://ezmlm.org/archive/ezmlm-0.53.tar.gz
wget http://ezmlm.org/archive/0.42/ezmlm-idx-0.42.tar.gz
wget http://optusnet.dl.sourceforge.net/sourceforge/qmailadmin/qmailadmin-1.2.2.tar.gz
wget http://shupp.org/software/squirrelmail-1.4.2.tar.bz2
wget http://shupp.org/software/quota_usage-1.2.tar.gz
tar -xzf netqmail-1.05.tar.gz
cd netqmail-1.05
./collate.sh
注意:./collate.sh这一步不要忘
页首
--------------------------------------------------------------------------------
安装软件
daemontools
daemontools是一个收集管理UNIX进程的工具.用它来监听qmail-send,qmail-smtpd,qmail-pop3d.
参考:http://cr.yp.to/daemontools.html
安装:
mkdir /package
chmod 1755 /package
cd /package
tar -zxvf /home/pkg/daemontools-0.76.tar.gz
cd admin/daemontools-0.76
patch -p1 < /home/pkg/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
package/install
# 验证daemontools已经正常运行:
ps ax | grep svscan
ucspi-tcp
ucspi-tcp包括tcpserver和tcpclient,一个命令行工具来建立client-server应用程序.
参考:http://cr.yp.to/ucspi-tcp.html
安装:
cd /home/pkg
tar zxvf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
patch -p1 < /home/pkg/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
make
make setup check
页首
--------------------------------------------------------------------------------
qmail
参考:http://www.qmail.org
这个toaster补丁,是下面这几个补丁的组合:
smtp auth 0.4.2
qmail-queue (to allow for virus scanners)
maildir++ patch
support oversize dns packets (not necessary if you use dnscache)
mfcheck (check that the envelope sender has a dns entry)
tarpit delay
qregex (regular expression matching in badmailfrom and badmailto)
big concurrency (set the spawn limit above 255)
安装:
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
cd /home/pkg
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
# 注:在RedHat 9上,需要为TLS补丁链接一个include文件:
ln -s /usr/kerberos/include/com_err.h /usr/kerberos/include/krb5.h /
/usr/kerberos/include/profile.h /usr/include/
make
make setup check
# 用你自己的主机名代替下面的mail.funbsd.org
./config-fast mail.funbsd.org
cd /var/qmail/alias
touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
chmod 644 /var/qmail/alias/.qmail*
cd -
echo 1 > /var/qmail/control/mfcheck
echo ./Maildir/ >/var/qmail/control/defaultdelivery
make cert
# 按提示输入公司信息
make tmprsadh
# 注:这里可能要多等一会
# 用"crontab -e"在crontab里增加下面这条,每天晚上更新temp keys
01 01 * * * /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 /home/pkg/toaster-scripts-0.6/send.run /var/qmail/supervise/qmail-send/run
cp /home/pkg/toaster-scripts-0.6/send.log.run /var/qmail/supervise/qmail-send/log/run
cp /home/pkg/toaster-scripts-0.6/smtpd.run /var/qmail/supervise/qmail-smtpd/run
cp /home/pkg/toaster-scripts-0.6/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
cp /home/pkg/toaster-scripts-0.6/pop3d.run /var/qmail/supervise/qmail-pop3d/run
cp /home/pkg/toaster-scripts-0.6/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
cp /home/pkg/toaster-scripts-0.6/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
cp /home/pkg/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 /home/pkg/toaster-scripts-0.6/rc /var/qmail/
cp /home/pkg/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
# 检查服务
netstat -an | grep 25
ps -ef | grep qmail
ps -efl | grep "service errors" | grep -v grep
页首
--------------------------------------------------------------------------------
vpopmail
vpopmail是一个以qmail为基础的虚拟域管理包
参考:http://vpopmail.sf.net/
vpopmail的用户和组我们前边已经建立了
配置:
mkdir ~vpopmail/etc
# 设置默认域
echo "funbsd.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|vpoppwd|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="mysqlpwd"
CREATE DATABASE vpopmail;
GRANT select,insert,update,delete,create,drop ON vpopmail.*
TO vpopuser@localhost IDENTIFIED BY 'vpoppwd';
FLUSH PRIVILEGES;
QUIT
安装:
cd /home/pkg/
tar zxvf vpopmail-5.4.5.tar.gz
cd vpopmail-5.4.5
# 不带数据库支持
# ./configure /
# --enable-logging=v
# 带数据库支持
./configure /
--disable-clear-passwd /
--enable-auth-module=mysql /
--enable-incdir=/usr/local/mysql/include /
--enable-libdir=/usr/local/mysql/lib /
--disable-many-domains /
--enable-mysql-logging /
--enable-mysql-limits /
--enable-valias /
--enable-logging=v
make
make install-strip
管理:
echo 'export PATH=$PATH:/home/vpopmail/bin' >> /etc/profile
source /etc/profile
# 添加域
vadddomain funbsd.org funpwd
# 参照/home/vpopmail/etc/vlimits.default
# 用MySQL-Front设置每个域的default_quota,default_maxmsgcount等
# 添加用户
vadduser -q 104857600S xy.wang@funbsd.org 1234
vmoduser -c 王晓亚 xy.wang@funbsd.org
# 设置邮箱容量达到90%的警告信息
vi ~vpopmail/domains/.quotawarn.msg
From: XYZ邮箱管理员
Reply-To: postmaster@funbsd.org
To: 邮箱用户
Subject: 邮箱空间警告
Mime-Version: 1.0
Content-Type: text/html; charset=gb2312
Content-Transfer-Encoding: base64
您的邮箱空间已经达到90%.如果想继续使用,请删除一些信件.
如果需要帮助,请联系邮箱管理员:
Email : postmaster@funbsd.org
# 设置邮箱已满的警告信息
echo "邮件被拒绝,用户的邮箱空间已满." > ~vpopmail/domains/.over-quota.msg
启动脚本:
cp /home/pkg/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
# 用MySQL-Front查看数据库
补丁:
# 不带数据库支持
# cd /home/pkg/netqmail-1.05/netqmail-1.05
# patch -p0 < /home/pkg/chkuser-0.6.patch
# 带数据库支持
cd /home/pkg/netqmail-1.05/netqmail-1.05
patch -p0 < /home/pkg/chkuser-0.6.mysql.patch
# 如果数据库是自定义安装的,还要把libmysqlclient.a复制到指定位置
mkdir -p /usr/local/mysql/lib/mysql/
cp /usr/local/mysql/lib/libmysqlclient.a /usr/local/mysql/lib/mysql/
make clean
make
qmailctl stop
make setup check
qmailctl start
安装选项参考:
vpopmail 5.4.5
------------------------------------
vpopmail directory = /home/vpopmail
uid = 89
gid = 89
roaming users = OFF --disable-roaming-users (default)
password learning = OFF --disable-learn-passwords (default)
md5 passwords = ON --enable-md5-passwords (default)
file locking = ON --enable-file-locking (default)
vdelivermail fsync = OFF --disable-file-sync (default)
make seekable = ON --enable-make-seekable (default)
clear passwd = OFF --disable-clear-passwd
user dir hashing = ON --enable-users-big-dir (default)
address extensions = OFF --disable-qmail-ext (default)
ip alias = OFF --disable-ip-alias-domains (default)
domain quotas = OFF --disable-domainquotas (default)
auth module = mysql --enable-auth-module=mysql
mysql replication = OFF --disable-mysql-replication (default)
mysql logging = ON --enable-mysql-logging
mysql limits = ON --enable-mysql-limits
MySQL valias = ON --enable-valias
auth inc = -I/usr/local/mysql/include
auth lib = -L/usr/local/mysql/lib -lmysqlclient -lz -lm
system passwords = OFF --disable-passwd (default)
pop syslog = log success and errors including passwords
--enable-logging=v
auth logging = ON --enable-auth-logging (default)
one domain per SQL table = --disable-many-domains
页首
--------------------------------------------------------------------------------
courier-imap
Courier-IMAP支持IMAP/SIMAP访问
参考:http://www.inter7.com/courierimap
安装:
cd /home/pkg
tar -xjf courier-imap-2.2.2.20040207.tar.bz2
cd courier-imap-2.2.2.20040207
# 作为vpopmail用户进行安装
chown -R vpopmail:vchkpw ../courier-imap-2.2.2.20040207
su vpopmail
./configure --with-redhat
# 注:Redhat用户需要使用"--with-redhat"选项
make
exit
make install-strip
make install-configure
cp courier-imap.sysvinit /etc/rc.d/init.d/courier-imap
chmod 755 /etc/rc.d/init.d/courier-imap
chkconfig --add courier-imap
配置:
# 修改文件/usr/lib/courier-imap/etc/authdaemonrc
authmodulelist="authvchkpw"
# 修改文件/usr/lib/courier-imap/etc/imapd
IMAPDSTART=YES
# 修改文件/usr/lib/courier-imap/etc/imapd-ssl
IMAPDSSLSTART=YES
启动:
/etc/rc.d/init.d/courier-imap start
页首
--------------------------------------------------------------------------------
autorespond
Autorespond是一个自动回复工具,可以很好的与qmailadmin配合使用
参考:http://qmailadmin.sf.net
安装:
cd /home/pkg
tar -xvzf autorespond-2.0.5.tar.gz
cd autorespond-2.0.5
make
make install
ezmlm
exmlm是一个快速,强大的邮件列表程序,可以通过qmailadmin对其进行配置
参考:http://www.ezmlm.org
安装:
cd /home/pkg
tar -xvzf ezmlm-0.53.tar.gz
tar -xvzf ezmlm-idx-0.42.tar.gz
cp -rf ezmlm-idx-0.42/* ezmlm-0.53/
cd ezmlm-0.53
patch < idx.patch
chmod u+x makelang
# 不带数据库支持
make
# 带数据库支持
# 按照Ezmlm的说法:This is for the MySQL-3.22.10.i386 rpm.
# 我在MySQL-4.0上编译没有成功,这里只是个例子:
# echo "-I/usr/local/mysql/include" > sub_mysql/conf_sqlcc
# echo "-L/usr/local/mysql/lib -lmysqlclient -lnsl -lm" > sub_mysql/conf-sqlld
# make mysql
make man
make ch_GB
make setup
页首
--------------------------------------------------------------------------------
qmailadmin
qmailadmin除了不能添加删除虚拟域外,几乎可以完成所有的虚拟域管理
参考:http://sourceforge.net/projects/qmailadmin
安装:
cd /home/pkg
tar -xvzf qmailadmin-1.2.2.tar.gz
cd qmailadmin-1.2.2
./configure /
--enable-htmldir=/usr/local/apache/htdocs /
--enable-cgibindir=/usr/local/apache/cgi-bin /
--enable-vpopuser=vpopmail /
--enable-autoresponder-bin=/usr/bin /
--enable-ezmlmdir=/usr/local/bin/ezmlm /
--enable-maxusersperpage=20 /
--enable-maxaliasesperpage=20 /
--enable-modify-quota /
--disable-ezmlm-mysql /
--disable-help
make
make install-strip
cd /usr/local/share/qmailadmin/lang
mv en en.bak
cp zh-cn en
安装选项参考:
qmailadmin 1.2.2
---------------------------------------
cgi-bin dir = /usr/local/apache/cgi-bin
html dir = /usr/local/apache/htdocs
image dir = /usr/local/apache/htdocs/images/qmailadmin
image URL = /images/qmailadmin
template dir = /usr/local/share/qmailadmin
qmail dir = /var/qmail
vpopmail dir = /home/vpopmail
autorespond dir = /usr/bin
ezmlm dir = /usr/local/bin/ezmlm
ezmlm idx = yes
mysql for ezmlm = no
help = no
modify quota = yes
domain autofill = no
modify spam check = no
页首
--------------------------------------------------------------------------------
squirrelmaild
SquirrelMail是一个基于IMAP的webmail
参考:http://www.squirrelmail.org
安装:
cd /home/pkg
tar -xjf squirrelmail-1.4.2.tar.bz2
cd squirrelmail-1.4.2/plugins
tar -xvzf /home/pkg/quota_usage-1.2.tar.gz
cp quota_usage/config.php.sample quota_usage/config.php
cd ..
./configure
1. --> 6. --> zh_CN
4. --> 1. --> GB2312
4. --> 2. --> /usr/local/apache/squirreldata
8. --> 17
D. --> courier
S 保存
Q 退出
# 这些选项也可以直接在配置文件里修改:squirrel/config/config.php
# 中文模版文件:squirrel/locale/zh_CN/LC_MESSAGES/squirrelmail.po
mv data /usr/local/apache/squirreldata
chown -R apache:apache /usr/local/apache/data
cd ../
mv squirrelmail-1.4.2 /usr/local/apache/htdocs/squirrelmail
页首
--------------------------------------------------------------------------------
测试
测试qmailadmin
http://mail.funbsd.org/cgi-bin/qmailadmin
测试squirrelmail
http://mail.funbsd.org/squirrelmail/
测试POP3
# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Hello there.
user xy.wang@funbsd.org
+OK Password required.
pass [password]
+OK logged in.
quit
+OK Bye-bye.
Connection closed by foreign host.
测试IMAP
# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
* OK Courier-IMAP ready. Copyright 1998-2001 Double Precision, Inc. See COPYING for distribution information.
a001 login xy.wang@funbsd.org [password]
a001 OK LOGIN Ok.
a001 logout
* BYE Courier-IMAP server shutting down
a001 OK LOGOUT completed
Connection closed by foreign host.
页首
--------------------------------------------------------------------------------
可选安装
Qmail Scanner
这个toaster已经包含了qmail-scanner的支持.
参考:http://qmail-scanner.sourceforge.net
Qmailadmin Limits
Qmailadmin可以针对每个域设置配额和缺省值.
参考:qmailadmin-1.2.2/INSTALL.
iGENUS
iGENUS使用上更符合中国人的习惯,功能也很强.
参考:http://www.igenus.org
By FunBSD
最后更新日期:2004年8月9日
前言
Whatis?
功能列表
参考资料
安装准备
安装环境
检查DNS设置
卸载已有的邮件系统
下载软件
安装软件
daemontools
ucspi-tcp
qmail
vpopmail
courier-imap
autorespond
ezmlm
qmailadmin
squirrelmail
测试
测试qmailadmin
测试squirrelmail
测试POP3
测试IMAP
可选安装
Qmail Scanner
Qmailadmin Limits
iGENUS
--------------------------------------------------------------------------------
前言
Whatis?
什么是Toaster?我也不知道:(,中文没学好,英文也没学好.
英文解释:http://cr.yp.to/qmail/toaster.html
功能列表
SMTF服务器:SMTP-AUTH认证(Plain,Login,CRAM-MD5),TLS(SSL)支持,病毒和垃圾邮件检测
POP3服务器:CRAM-MD5,APOP,和SSL支持
IMAP服务器:TLS(SSL)支持
自动回复
邮件列表
Web管理
WebMail
参考资料
英文原版:http://shupp.org/toaster
FreeBSD版:Qmail FreeBSD Toaster (MySQL)
Qmail参考:http://www.lifewithqmail.org
页首
--------------------------------------------------------------------------------
安装准备
安装环境
这里假设Apache,MySQL都安装在/usr/local目录下,PHP配置文件在apache/conf目录下
还要确认下面的软件也已经安装:
rpm -q gdbm
rpm -q gdbm-devel
rpm -q openssl
rpm -q openssl-devel
rpm -q stunnel
rpm -q krb5-devel
我在RedHat 9和RedHatAS 3.2下测试成功,其他系统还没试过
检查DNS设置
在开始之前,确保正确设置了DNS MX记录.例如使用"funbsd.org"作为邮件域,对MX记录进行测试:
在Linux下:
# host -t mx funbsd.org
funbsd.org. mail is handled by 10 mail.funbsd.org.
# host -t a mail.funbsd.org
mail.funbsd.org. has address xxx.xxx.xxx.xxx
在Windows下:
C:/>nslookup
Default Server: ns.funbsd.org
Address: xxx.xxx.xxx.xxx
>set type=mx
>funbsd.org
funbsd.org MX preference = 10, mail exchanger = mail.funbsd.org
mail.funbsd.org internet address = xxx.xxx.xxx.xxx
>exit
卸载已有的邮件系统
确认没有SMTP/POP/IMAP服务在运行:
/etc/init.d/sendmail stop
netstat -na | grep 25
netstat -na | grep 110
netstat -na | grep 143
ntsysv
删除已有的SMTP/POP/IMAP软件:
rpm -e --nodeps sendmail
rpm -e --nodeps postfix
下载软件
我一般把软件放在/home/pkg下面,根据个人习惯吧
mkdir /home/pkg
cd /home/pkg
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
wget http://shupp.org/software/netqmail-1.05.tar.gz
wget http://shupp.org/software/toaster-scripts-0.6.tar.gz
wget http://shupp.org/patches/qmail-toaster-0.6-1.patch.bz2
wget http://easynews.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.5.tar.gz
wget http://shupp.org/patches/chkuser-0.6.patch
wget http://shupp.org/patches/chkuser-0.6.mysql.patch
wget http://shupp.org/software/courier-imap-2.2.2.20040207.tar.bz2
wget http://shupp.org/software/autorespond-2.0.4.tar.gz
wget http://ezmlm.org/archive/ezmlm-0.53.tar.gz
wget http://ezmlm.org/archive/0.42/ezmlm-idx-0.42.tar.gz
wget http://optusnet.dl.sourceforge.net/sourceforge/qmailadmin/qmailadmin-1.2.2.tar.gz
wget http://shupp.org/software/squirrelmail-1.4.2.tar.bz2
wget http://shupp.org/software/quota_usage-1.2.tar.gz
tar -xzf netqmail-1.05.tar.gz
cd netqmail-1.05
./collate.sh
注意:./collate.sh这一步不要忘
页首
--------------------------------------------------------------------------------
安装软件
daemontools
daemontools是一个收集管理UNIX进程的工具.用它来监听qmail-send,qmail-smtpd,qmail-pop3d.
参考:http://cr.yp.to/daemontools.html
安装:
mkdir /package
chmod 1755 /package
cd /package
tar -zxvf /home/pkg/daemontools-0.76.tar.gz
cd admin/daemontools-0.76
patch -p1 < /home/pkg/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
package/install
# 验证daemontools已经正常运行:
ps ax | grep svscan
ucspi-tcp
ucspi-tcp包括tcpserver和tcpclient,一个命令行工具来建立client-server应用程序.
参考:http://cr.yp.to/ucspi-tcp.html
安装:
cd /home/pkg
tar zxvf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
patch -p1 < /home/pkg/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
make
make setup check
页首
--------------------------------------------------------------------------------
qmail
参考:http://www.qmail.org
这个toaster补丁,是下面这几个补丁的组合:
smtp auth 0.4.2
qmail-queue (to allow for virus scanners)
maildir++ patch
support oversize dns packets (not necessary if you use dnscache)
mfcheck (check that the envelope sender has a dns entry)
tarpit delay
qregex (regular expression matching in badmailfrom and badmailto)
big concurrency (set the spawn limit above 255)
安装:
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
cd /home/pkg
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
# 注:在RedHat 9上,需要为TLS补丁链接一个include文件:
ln -s /usr/kerberos/include/com_err.h /usr/kerberos/include/krb5.h /
/usr/kerberos/include/profile.h /usr/include/
make
make setup check
# 用你自己的主机名代替下面的mail.funbsd.org
./config-fast mail.funbsd.org
cd /var/qmail/alias
touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
chmod 644 /var/qmail/alias/.qmail*
cd -
echo 1 > /var/qmail/control/mfcheck
echo ./Maildir/ >/var/qmail/control/defaultdelivery
make cert
# 按提示输入公司信息
make tmprsadh
# 注:这里可能要多等一会
# 用"crontab -e"在crontab里增加下面这条,每天晚上更新temp keys
01 01 * * * /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 /home/pkg/toaster-scripts-0.6/send.run /var/qmail/supervise/qmail-send/run
cp /home/pkg/toaster-scripts-0.6/send.log.run /var/qmail/supervise/qmail-send/log/run
cp /home/pkg/toaster-scripts-0.6/smtpd.run /var/qmail/supervise/qmail-smtpd/run
cp /home/pkg/toaster-scripts-0.6/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
cp /home/pkg/toaster-scripts-0.6/pop3d.run /var/qmail/supervise/qmail-pop3d/run
cp /home/pkg/toaster-scripts-0.6/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
cp /home/pkg/toaster-scripts-0.6/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
cp /home/pkg/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 /home/pkg/toaster-scripts-0.6/rc /var/qmail/
cp /home/pkg/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
# 检查服务
netstat -an | grep 25
ps -ef | grep qmail
ps -efl | grep "service errors" | grep -v grep
页首
--------------------------------------------------------------------------------
vpopmail
vpopmail是一个以qmail为基础的虚拟域管理包
参考:http://vpopmail.sf.net/
vpopmail的用户和组我们前边已经建立了
配置:
mkdir ~vpopmail/etc
# 设置默认域
echo "funbsd.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|vpoppwd|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="mysqlpwd"
CREATE DATABASE vpopmail;
GRANT select,insert,update,delete,create,drop ON vpopmail.*
TO vpopuser@localhost IDENTIFIED BY 'vpoppwd';
FLUSH PRIVILEGES;
QUIT
安装:
cd /home/pkg/
tar zxvf vpopmail-5.4.5.tar.gz
cd vpopmail-5.4.5
# 不带数据库支持
# ./configure /
# --enable-logging=v
# 带数据库支持
./configure /
--disable-clear-passwd /
--enable-auth-module=mysql /
--enable-incdir=/usr/local/mysql/include /
--enable-libdir=/usr/local/mysql/lib /
--disable-many-domains /
--enable-mysql-logging /
--enable-mysql-limits /
--enable-valias /
--enable-logging=v
make
make install-strip
管理:
echo 'export PATH=$PATH:/home/vpopmail/bin' >> /etc/profile
source /etc/profile
# 添加域
vadddomain funbsd.org funpwd
# 参照/home/vpopmail/etc/vlimits.default
# 用MySQL-Front设置每个域的default_quota,default_maxmsgcount等
# 添加用户
vadduser -q 104857600S xy.wang@funbsd.org 1234
vmoduser -c 王晓亚 xy.wang@funbsd.org
# 设置邮箱容量达到90%的警告信息
vi ~vpopmail/domains/.quotawarn.msg
From: XYZ邮箱管理员
Reply-To: postmaster@funbsd.org
To: 邮箱用户
Subject: 邮箱空间警告
Mime-Version: 1.0
Content-Type: text/html; charset=gb2312
Content-Transfer-Encoding: base64
您的邮箱空间已经达到90%.如果想继续使用,请删除一些信件.
如果需要帮助,请联系邮箱管理员:
Email : postmaster@funbsd.org
# 设置邮箱已满的警告信息
echo "邮件被拒绝,用户的邮箱空间已满." > ~vpopmail/domains/.over-quota.msg
启动脚本:
cp /home/pkg/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
# 用MySQL-Front查看数据库
补丁:
# 不带数据库支持
# cd /home/pkg/netqmail-1.05/netqmail-1.05
# patch -p0 < /home/pkg/chkuser-0.6.patch
# 带数据库支持
cd /home/pkg/netqmail-1.05/netqmail-1.05
patch -p0 < /home/pkg/chkuser-0.6.mysql.patch
# 如果数据库是自定义安装的,还要把libmysqlclient.a复制到指定位置
mkdir -p /usr/local/mysql/lib/mysql/
cp /usr/local/mysql/lib/libmysqlclient.a /usr/local/mysql/lib/mysql/
make clean
make
qmailctl stop
make setup check
qmailctl start
安装选项参考:
vpopmail 5.4.5
------------------------------------
vpopmail directory = /home/vpopmail
uid = 89
gid = 89
roaming users = OFF --disable-roaming-users (default)
password learning = OFF --disable-learn-passwords (default)
md5 passwords = ON --enable-md5-passwords (default)
file locking = ON --enable-file-locking (default)
vdelivermail fsync = OFF --disable-file-sync (default)
make seekable = ON --enable-make-seekable (default)
clear passwd = OFF --disable-clear-passwd
user dir hashing = ON --enable-users-big-dir (default)
address extensions = OFF --disable-qmail-ext (default)
ip alias = OFF --disable-ip-alias-domains (default)
domain quotas = OFF --disable-domainquotas (default)
auth module = mysql --enable-auth-module=mysql
mysql replication = OFF --disable-mysql-replication (default)
mysql logging = ON --enable-mysql-logging
mysql limits = ON --enable-mysql-limits
MySQL valias = ON --enable-valias
auth inc = -I/usr/local/mysql/include
auth lib = -L/usr/local/mysql/lib -lmysqlclient -lz -lm
system passwords = OFF --disable-passwd (default)
pop syslog = log success and errors including passwords
--enable-logging=v
auth logging = ON --enable-auth-logging (default)
one domain per SQL table = --disable-many-domains
页首
--------------------------------------------------------------------------------
courier-imap
Courier-IMAP支持IMAP/SIMAP访问
参考:http://www.inter7.com/courierimap
安装:
cd /home/pkg
tar -xjf courier-imap-2.2.2.20040207.tar.bz2
cd courier-imap-2.2.2.20040207
# 作为vpopmail用户进行安装
chown -R vpopmail:vchkpw ../courier-imap-2.2.2.20040207
su vpopmail
./configure --with-redhat
# 注:Redhat用户需要使用"--with-redhat"选项
make
exit
make install-strip
make install-configure
cp courier-imap.sysvinit /etc/rc.d/init.d/courier-imap
chmod 755 /etc/rc.d/init.d/courier-imap
chkconfig --add courier-imap
配置:
# 修改文件/usr/lib/courier-imap/etc/authdaemonrc
authmodulelist="authvchkpw"
# 修改文件/usr/lib/courier-imap/etc/imapd
IMAPDSTART=YES
# 修改文件/usr/lib/courier-imap/etc/imapd-ssl
IMAPDSSLSTART=YES
启动:
/etc/rc.d/init.d/courier-imap start
页首
--------------------------------------------------------------------------------
autorespond
Autorespond是一个自动回复工具,可以很好的与qmailadmin配合使用
参考:http://qmailadmin.sf.net
安装:
cd /home/pkg
tar -xvzf autorespond-2.0.5.tar.gz
cd autorespond-2.0.5
make
make install
ezmlm
exmlm是一个快速,强大的邮件列表程序,可以通过qmailadmin对其进行配置
参考:http://www.ezmlm.org
安装:
cd /home/pkg
tar -xvzf ezmlm-0.53.tar.gz
tar -xvzf ezmlm-idx-0.42.tar.gz
cp -rf ezmlm-idx-0.42/* ezmlm-0.53/
cd ezmlm-0.53
patch < idx.patch
chmod u+x makelang
# 不带数据库支持
make
# 带数据库支持
# 按照Ezmlm的说法:This is for the MySQL-3.22.10.i386 rpm.
# 我在MySQL-4.0上编译没有成功,这里只是个例子:
# echo "-I/usr/local/mysql/include" > sub_mysql/conf_sqlcc
# echo "-L/usr/local/mysql/lib -lmysqlclient -lnsl -lm" > sub_mysql/conf-sqlld
# make mysql
make man
make ch_GB
make setup
页首
--------------------------------------------------------------------------------
qmailadmin
qmailadmin除了不能添加删除虚拟域外,几乎可以完成所有的虚拟域管理
参考:http://sourceforge.net/projects/qmailadmin
安装:
cd /home/pkg
tar -xvzf qmailadmin-1.2.2.tar.gz
cd qmailadmin-1.2.2
./configure /
--enable-htmldir=/usr/local/apache/htdocs /
--enable-cgibindir=/usr/local/apache/cgi-bin /
--enable-vpopuser=vpopmail /
--enable-autoresponder-bin=/usr/bin /
--enable-ezmlmdir=/usr/local/bin/ezmlm /
--enable-maxusersperpage=20 /
--enable-maxaliasesperpage=20 /
--enable-modify-quota /
--disable-ezmlm-mysql /
--disable-help
make
make install-strip
cd /usr/local/share/qmailadmin/lang
mv en en.bak
cp zh-cn en
安装选项参考:
qmailadmin 1.2.2
---------------------------------------
cgi-bin dir = /usr/local/apache/cgi-bin
html dir = /usr/local/apache/htdocs
image dir = /usr/local/apache/htdocs/images/qmailadmin
image URL = /images/qmailadmin
template dir = /usr/local/share/qmailadmin
qmail dir = /var/qmail
vpopmail dir = /home/vpopmail
autorespond dir = /usr/bin
ezmlm dir = /usr/local/bin/ezmlm
ezmlm idx = yes
mysql for ezmlm = no
help = no
modify quota = yes
domain autofill = no
modify spam check = no
页首
--------------------------------------------------------------------------------
squirrelmaild
SquirrelMail是一个基于IMAP的webmail
参考:http://www.squirrelmail.org
安装:
cd /home/pkg
tar -xjf squirrelmail-1.4.2.tar.bz2
cd squirrelmail-1.4.2/plugins
tar -xvzf /home/pkg/quota_usage-1.2.tar.gz
cp quota_usage/config.php.sample quota_usage/config.php
cd ..
./configure
1. --> 6. --> zh_CN
4. --> 1. --> GB2312
4. --> 2. --> /usr/local/apache/squirreldata
8. --> 17
D. --> courier
S 保存
Q 退出
# 这些选项也可以直接在配置文件里修改:squirrel/config/config.php
# 中文模版文件:squirrel/locale/zh_CN/LC_MESSAGES/squirrelmail.po
mv data /usr/local/apache/squirreldata
chown -R apache:apache /usr/local/apache/data
cd ../
mv squirrelmail-1.4.2 /usr/local/apache/htdocs/squirrelmail
页首
--------------------------------------------------------------------------------
测试
测试qmailadmin
http://mail.funbsd.org/cgi-bin/qmailadmin
测试squirrelmail
http://mail.funbsd.org/squirrelmail/
测试POP3
# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Hello there.
user xy.wang@funbsd.org
+OK Password required.
pass [password]
+OK logged in.
quit
+OK Bye-bye.
Connection closed by foreign host.
测试IMAP
# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
* OK Courier-IMAP ready. Copyright 1998-2001 Double Precision, Inc. See COPYING for distribution information.
a001 login xy.wang@funbsd.org [password]
a001 OK LOGIN Ok.
a001 logout
* BYE Courier-IMAP server shutting down
a001 OK LOGOUT completed
Connection closed by foreign host.
页首
--------------------------------------------------------------------------------
可选安装
Qmail Scanner
这个toaster已经包含了qmail-scanner的支持.
参考:http://qmail-scanner.sourceforge.net
Qmailadmin Limits
Qmailadmin可以针对每个域设置配额和缺省值.
参考:qmailadmin-1.2.2/INSTALL.
iGENUS
iGENUS使用上更符合中国人的习惯,功能也很强.
参考:http://www.igenus.org