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)
posted on 2008-08-05 09:40  JamesYing  阅读(805)  评论(0编辑  收藏  举报