qmail+vpopmail+mysql安装笔记
这是一篇qmail+vpopmail+mysql的安装笔记,有些地方的安装和配置笔者也是试了很多次才成功。希望对大家
有点帮助。本文参考了Bill's Linux Qmail Toaster.
第一部分:安装环境 1、硬件环境: 一台ip 地址为192.168.68.82的台式机 2、Linux操作系统,这里笔者使用的是Red Hat AS3.0版本,大家可以根据自己的需要选择其他的Linux版本。 RH AS 3.0在安装的过程当中,遇到package选择的时候,在服务器一栏里选中dns服务器和mysql服务器,其他的
服务器不要选择,因为我们下面要安装的qmail本身就是邮件服务器,如果这里选中了mail服务器的话,那么将会
在系统中安装上sendmail服务器,而在qmail服务器安装前,我们需要删除所有现存的mail服务器,以免安装受影响。 rpm -e --nodeps sendmail postfix
第二部分:安装和配置dns 一、这里配置dns的目的是为了方便大家做实验用。如果条件允许的情况下,可以直接在公司内部的dns服务器上
添加一条记录,用来解析后面的qmail服务器,跳过dns配置这一步。 dns服务器在Linux下使用的程序包名为BIND, 使用命令rpm –q bind 可以查看本系统是否装了这个包,以及
这个bind的版本。
二、安装完成以后, /etc目录下,应有named.conf文件,rndc.conf, rndc.key,目录/etc/init.d 或
/etc/rc.d/init.d 中有dns 启动的脚本文件 named。在/var/named 目录下有 localhost.zone, named.ca,
named.local等数据库文件。 dns的配置文件有 /etc/hosts, /etc/host.conf, /etc/resolve.conf /etc/named.conf, /var/named
目录下所有文件,/etc/init.d/named,在qmail安装之前,必须对dns的配置文件做必要的修改,并添加正向和反向
2个解析文件。
三、具体修改 1、/etc/hosts 192.168.68.82 mail.fbe.net mail 127.0.0.1 localhost.localdomain localhost
2、/etc/host.conf order bind,hosts
3、 /etc/resolv.conf search mail.fbe.net nameserver 192.168.68.82
4、/etc/named.conf 加入 …… # forward first; # forwarders {192.168.253.3;x.x.x.x;}; …… …… zone “fbe.net” IN { type master; file “named.fbe.net”; }; zone “68.168.192. in-addr.arpa ” IN { type master; file “named.ip”; };
5、创建正向解析文件 /var/named/named.fbe.net $TTL 86400 @ IN SOA mail.fbe.net. root.mail.fbe.net.( 20070727 2880 7200 3600000 84600 ) IN NS mail.fbe.net. IN MX 10 mail.fbe.net. localhost IN A 127.0.0.1 mail IN A 192.168.68.82
6、创建反向解析文件 /var/named/named.ip $TTL 86400 @ IN SOA 68.168.192.in-addr.arpa. root.mail.fbe.net. ( 20070727 28800 7200 3600000 84600 ) IN NS mail.fbe.net. IN MX 10 mail.fbe.net. 82 IN PTR mail.fbe.net. P.S.建议大家直接复制该文档,粘贴到指定位置的文件里去。
第三部分: MySQL的安装 安装mysql的时候特别注意,网上最新版本是MySQL 5.1,但用这个版本的MySQL安装后,系统不能识别
MySQL(mysql)。这会导致后来的vpopmail在configure这一步的时候发生问题-----无法找到MySQL(mysql),
使得auth-module无法改为mysql。 建议大家在安装系统的时候选择mysql的rpm包安装。默认安装8个包,除了mysql-server包。可以用
rpm -qa |grep -i mysql查询所有安装的mysql包,以及包的版本号。这里,笔者的mysql版本号是
mysql-server-3.23.58-2.3,下载地址是http://rpm2html.osmirror.nl/index.html,按name index查询,
找到相同的mysql-server版本,下载,然后 rpm -ivh mysql-server-3.23.58.2.3安装即可。 安装完成以后,用rpm -qa |grep -i mysql 查询一下,有mysql-server ,说明安装成功。 测试: #mysql
第一次启动mysql会执行初始化命令,然后出现 mysql> (提示符),Ok,成功。 mysql的include文件夹位于usr/include/mysql下,bin文件夹位于usr/bin/mysql下。不推荐用tar包安装,
这方面的资料比较少,而且tar包的配置比较复杂,如果是debian 或者是 ubuntu的话,可以用
apt-get install mysql直接安装。
第四部分:qmail+vpopmail安装 参考Bill's Linux Qmail Toaster的文章,作者对qmail的应用做了深度的整合,基本上实现了qmail SMTP
发信验证,SSL支持和病毒,垃圾邮件检测的支持。 这里没有涉及垃圾邮件和病毒的检测,大家如果关心的可以去Bill's Linux Qmail Toaster详细看看。 安装qmail邮件服务器之前,确保你配置好dns了,首先为了安装顺利进行,先确认系统是否安装了以下程序,
用一个简单的命令来查询: rpm -qa |grep g++ gcc-g++ gdbm gdbm-devel openssl openssl-devel stunnel krb5-devel bzip2
bzip2-devel 如果没有安装的话,可以到系统的安装盘寻找相应的rpm包,如果你是fedra或者Debian,那你更加方便,
只要apt-get安装缺失的软件包就行。
1、下载所需软件包 mkdir -p /var/src/tar 把所有的软件下载到此 cd /var/src/tar 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/patches/qmail-toaster-0.8.patch.bz2 wget http://shupp.org/software/vpopmail-5.4.10.tar.gz wget http://shupp.org/software/autorespond-2.0.4.tar.gz wget http://shupp.org/patches/autorespond-2.0.4-2.0.5.patch wget http://shupp.org/software/qmailadmin-1.2.9.tar.gz wget http://shupp.org/software/qmailadmin-help-1.0.8.tar.gz wget http://cr.yp.to/software/ezmlm-0.53.tar.gz wget http://shupp.org/software/ezmlm-idx-0.443.tar.gz wget http://shupp.org/software/courier-imap-4.0.6.tar.bz2 wget http://shupp.org/software/courier-authlib-0.58.tar.bz2 wget http://shupp.org/software/squirrelmail-1.4.5.tar.bz2 wget http://shupp.org/software/quota_usage-1.3-1.2.7.tar.gz wget http://shupp.org/software/toaster-scripts-0.8.tar.gz wget http://shupp.org/patches/chkuser-0.6.patch wget http://shupp.org/patches/chkuser-0.6.mysql.patch cd ../ tar -xzf tar/netqmail-1.05.tar.gz cd netqmail-1.05 ./collate.sh (这步很关键,将qmail-1.03文件夹改为netqmail-1.05,否则后面的补丁安装会出现错误)
2、 安装 daemontools mkdir -p /package chmod 1755 /package cd /package tar -xpzf /var/src/tar/daemontools-0.76.tar.gz cd admin/daemontools-0.76 patch -p1 < /var/src/netqmail-1.05/other-patches/daemontools-0.76.errno.patch package/install
3、 安装 ucspi-tcp cd /var/src/ tar -xzf tar/ucspi-tcp-0.88.tar.gz cd ucspi-tcp-0.88 patch -p1 < /var/src/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch make make setup check
4、 安装 qmail 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 cd /var/src tar -xzf tar/toaster-scripts-0.8.tar.gz cd netqmail-1.05/netqmail-1.05/ ln -s /usr/kerberos/include/com_err.h /usr/kerberos/include/krb5.h \
/usr/kerberos/include/profile.h /usr/include/ rm /usr/sbin/sendmail make make setup check 注意:qmail的补丁将在vpopmail安装以后打
# 打开SPF checking echo 3 > /var/qmail/control/spfbehavior cd ~alias; echo "admin@fbe.net" > .qmail-postmaster echo "admin@fbe.net" > .qmail-mailer-daemon echo "admin@fbe.net" > .qmail-root chmod 644 ~alias/.qmail* ./config-fast mail.fbe.net 你可以填写你实际邮件服务器的域名
# 修改qmail的man路径 vi /etc/man.config 加上这条: MANPATH /var/qmail/man
# 相应脚本: cd /var/src cp toaster-scripts-0.8/rc /var/qmail/rc chmod 755 /var/qmail/rc mkdir /var/log/qmail echo ./Maildir/ >/var/qmail/control/defaultdelivery cp toaster-scripts-0.8/qmailctl /var/qmail/bin/ 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
# 创建 supervise 目录 ,qmail服务的脚本文件都放在这里: 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 cp /var/src/toaster-scripts-0.8/send.run /var/qmail/supervise/qmail-send/run cp /var/src/toaster-scripts-0.8/send.log.run /var/qmail/supervise/qmail-send/log/run cp /var/src/toaster-scripts-0.8/smtpd.run /var/qmail/supervise/qmail-smtpd/run cp /var/src/toaster-scripts-0.8/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run cp /var/src/toaster-scripts-0.8/pop3d.run /var/qmail/supervise/qmail-pop3d/run cp /var/src/toaster-scripts-0.8/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run cp /var/src/toaster-scripts-0.8/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run cp /var/src/toaster-scripts-0.8/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
# 允许daemontools来启动qmail ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
# 检测qmail是否安装成功 sleep 5 qmailctl stat
5、 vpopmail 安装: groupadd -g 89 vchkpw useradd -u 89 -g vchkpw vpopmail
# 配置: mkdir ~vpopmail/etc
# 设置默认域 echo "fbe.net" > ~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的帐号 mysql -u root --password="mysqlpwd"
注:这里笔者没有设置root 登陆mysql的密码,可以设置,再用mysql -u root -p 登陆,会提示你输入密码 mysql> create database vpopmail; mysql> grant select,insert,update,delete,create,drop ON vpopmail.* mysql> to vpopuser@localhost identified by 'vpoppwd'; mysql> flush privileges; mysql> quit
# 安装: cd /var/src tar -xzf tar/vpopmail-5.4.10.tar.gz cd vpopmail-5.4.10
# 不带数据库支持 ./configure \ --enable-logging=v
# 带数据库支持 ./configure \ --disable-clear-passwd \ --enable-auth-module=mysql \ --enable-incdir=/usr/include/mysql \ --enable-libdir=/usr/lib/mysql \ --disable-many-domains \ --enable-sql-logging \ --enable-mysql-limits \ --enable-valias \ --enable-logging=v
# 这是vpopmail configure以后的参考选项: vpopmail 5.4.10 -------------------------------------------------------------------------------------------- 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) sql logging = ON --enable-sql-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 --------------------------------------------------------------------------------------------- make make install-strip
# 管理: echo 'export PATH=$PATH:/home/vpopmail/bin' >> /etc/profile source /etc/profile make make install-strip echo '127.0.0.1:allow,RELAYCLIENT=""' > ~vpopmail/etc/tcp.smtp cd ~vpopmail/etc tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
# 安装vpopmail启动脚本 cp ../toaster-scripts-0.8/vpopmailctl /var/qmail/bin/vpopmailctl chmod 755 /var/qmail/bin/vpopmailctl ln -s /var/qmail/bin/vpopmailctl /usr/bin
# 这时候安装qmail的补丁了 cd /var/src/netqmail-1.05/netqmail-1.05 bunzip2 -c http://www.cnblogs.com/tar/qmail-toaster-0.8.patch.bz2 | patch -p0 make clean make qmailctl stop make setup check chown -R vpopmail:vchkpw /var/qmail/spam
# 重新启动qmail qmailctl start
# 允许daemontools来启动vpopmail ln -s /var/qmail/supervise/qmail-pop3d /var/qmail/supervise/qmail-pop3ds /service
# 检测vpopmail sleep 5 vpopmailctl stat
# 添加域: /home/vpopmail/bin/vadddomain fbe.net (会让你定义密码)
# 添加用户: /home/vpopmail/bin/vadduser -q 6MB user@fbe.net (会让你定义密码)
6、 用MySQL-Front查看数据库 补丁: # 不带数据库支持 cd /var/src/netqmail-1.05/netqmail-1.05 patch -p0 < /var/src/tar/chkuser-0.6.patch
# 带数据库支持 cd /var/src/netqmail-1.05/netqmail-1.05 patch -p0 < /var/src/tar/chkuser-0.6.mysql.patch 如果数据库是自定义安装的(非rpm或apt-get方式安装),还要把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
到这里qmail+vpopmail+mysql的安装过程就结束了。大家用outlook或者foxmail等客户端软件测试一下,
通了的话就说明qmail邮件服务器已经架设完成。 注:如果发现无法接收邮件,那么修改一下邮箱属性里的pop3邮箱帐号为:user@fbe.net.(默认是user)