文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>我的邮件系统安装过程(linux AS4+qmail+vpopmail..

我的邮件系统安装过程(linux AS4+qmail+vpopmail..

时间:2006-05-21  来源:feixueliantian

第四节:安装qmail

 

除非你确实熟悉各个软件和系统结构,否则请按照如下步骤一步一步安装软件,此文将引导你安装一套完整的邮件系统。这个安装过程基本上你只需要复制粘贴就可以完成。

 

安装daemontools

 

daemontools是一个收集管理UNIX进程的工具.用它来监听qmail-send,qmail-smtpd,qmail-pop3d.

参考:http://cr.yp.to/daemontools.html

#安装:

cd /home/pkg

tar -zxvf 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已经正常运行:

sleep 5

ps ax | grep svscan

 

安装ucspi-tcp

 

ucspi-tcp软件包由一组工具组成。它们用来简单的建立客户机-服务器tcp后台程序。TcpServer是一个比inetd安全性更好的选择。它内建有基于规则的连接控制,能完善地在达到预定义的最大系统负载时将连接推迟,这点比 inetd好。Tcpserver也被推荐与qmail一同使用,因为它们是同一个作者编的程序。

 

参考: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 < ../ucspi-tcp-0.88.errno.patch

make

make setup check

 

 

安装qmail

 

参考:http://www.qmail.org

      http://www.lifewithqmail.org/

 

这个toaster补丁,是下面这几个补丁的组合:

 

smtp auth (SMTP认证)

spf (发信人DNS检查)

qmail-queue (如果要使用病毒扫描引擎则需要这个补丁)

maildir++ patch

support oversize dns packets (not necessary if you use dnscache)

chkuser (检查本地vpopmail用户表,信头的语法,这个补丁需要在安装vpopmail后被安装。)

spam throttle

qregex (匹配badmailfrom和badmailto文件里的规则)

big concurrency (set the spawn limit above 255)

 

#安装:

 

#创建所需要的用户

 

mkdir /var/qmail

groupadd nofiles

useradd alias -g nofiles -d /var/qmail/alias -s /sbin/nologin

useradd qmaild -g nofiles -d /var/qmail -s /sbin/nologin

useradd qmaill -g nofiles -d /var/qmail -s /sbin/nologin

useradd qmailp -g nofiles -d /var/qmail -s /sbin/nologin

groupadd qmail

useradd qmailq -g qmail -d /var/qmail -s /sbin/nologin

useradd qmailr -g qmail -d /var/qmail -s /sbin/nologin

useradd qmails -g qmail -d /var/qmail -s /sbin/nologin

 

#顺便添加vpopmail用户

groupadd vchkpw -g 89

useradd vpopmail -u 89 -g vchkpw

 

#准备安装qmail

 

cd /home/pkg

 

tar -xzf toaster-scripts-0.7.tar.gz

cd netqmail-1.05/netqmail-1.05/

 

 

# 搜索函数straynewline中的451改为553

 

vi qmail-smtpd.c

 

# 当你的服务器收到无效格式的邮件时,会发送:"I am not going to accept that message at the moment,you can try again later",对方服务器收到后,几秒钟后又会发送同样的邮件给你,造成多次的重复。

 

# 改为553后,你的服务器将直接发送:"I am not going to accept that message,don't try sending it again.",告诉对方的服务器不要再发这封无效的信件。

 

# RedHat/Fedora用户可能需要为TLS补丁链接一个include文件

 

# 输入如下命令:

 

ln -s /usr/kerberos/include/com_err.h /usr/include/

 

 

# 删除sendmail的链接

 

rm -rf /usr/sbin/sendmail

 

 

 

#qmail编译安装

 

make

make setup check

 

#注:qmail的补丁在vpopmail安装之后再打。

 

 

# 用你自己的主机名代替下面的mail.domain.com

 

./config-fast mail.domain.com

 

 

#设置管理员的邮箱地址。

 

#发往root/postmaster/mailer-daemon地址的邮件将会由定义的管理员邮箱接收。

 

#将如下的“[email protected]"替换成你的管理员邮箱。

 

cd /var/qmail/alias

echo "[email protected]" > .qmail-postmaster

echo "[email protected]" > .qmail-mailer-daemon

echo "[email protected]" > .qmail-root

chmod 644 /var/qmail/alias/.qmail*

 

 

#开启SPF设置

 

echo ./Maildir/ >/var/qmail/control/defaultdelivery

echo 3 > /var/qmail/control/spfbehavior

 

 

#添加qmail的帮助手册

 

echo MANPATH /var/qmail/man >> /etc/man.config

 

 

#为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 /home/pkg/toaster-scripts-0.7/send.run /var/qmail/supervise/qmail-send/run

cp /home/pkg/toaster-scripts-0.7/send.log.run /var/qmail/supervise/qmail-send/log/run

cp /home/pkg/toaster-scripts-0.7/smtpd.run /var/qmail/supervise/qmail-smtpd/run

cp /home/pkg/toaster-scripts-0.7/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run

cp /home/pkg/toaster-scripts-0.7/pop3d.run /var/qmail/supervise/qmail-pop3d/run

cp /home/pkg/toaster-scripts-0.7/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run

cp /home/pkg/toaster-scripts-0.7/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run

cp /home/pkg/toaster-scripts-0.7/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

 

#启动脚本:

 

cd /home/pkg

cp toaster-scripts-0.7/rc /var/qmail/rc

chmod 755 /var/qmail/rc

cp toaster-scripts-0.7/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

rm -rf /usr/lib/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

 

 

#日志:

 

/var/log/maillog

/var/log/qmail/current

/var/log/qmail/pop3d/current

/var/log/qmail/pop3ds/current

/var/log/qmail/smtpd/current

 

我建议重新回顾一下刚才我们所做的步骤以熟悉对qmail的安装. 下面我们将开始vpopmail的安装.

 

第五节:安装vpopmail

 

vpopmail是一个以qmail为基础的虚拟域管理包;其允许在一个IP地址添加多个虚拟域;并且可以不需要使用系统帐号做邮件帐号。

 

参考:http://vpopmail.sf.net

 

 

#创建目录:

 

mkdir -p /home/vpopmail/etc

 

 

# 设置默认域,红色部份改成你要设置的域。

 

echo "domain.com" > /home/vpopmail/etc/defaultdomain

 

# 设置smtp规则,关闭open relays

 

echo '127.0.0.1:allow,RELAYCLIENT=""' > /home/vpopmail/etc/tcp.smtp

cd /home/vpopmail/etc ; tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp

 

 

# 设置MySQL信息,第一个vpopmail是帐号,xukixu为密码,第二个vpopmail是数据库

 

echo "localhost|0|vpopmail|xukixu|vpopmail" > /home/vpopmail/etc/vpopmail.mysql

chmod 640 /home/vpopmail/etc/vpopmail.mysql

chown -R vpopmail.vchkpw /home/vpopmail/etc

 

 

# 在MySQL里添加vpopmail的帐号

 

mysql -uroot -pxukixu

 

 

CREATE DATABASE vpopmail;

GRANT select,insert,update,delete,create,drop ON vpopmail.*

TO vpopmail@localhost IDENTIFIED BY 'xukixu';

FLUSH PRIVILEGES;

QUIT

 

 

#安装:

 

cd /home/pkg/

tar zxvf vpopmail-5.4.10.tar.gz

cd vpopmail-5.4.10

 

 

# 带数据库支持

 

 

./configure --enable-incdir=/usr/local/mysql --enable-libdir=/usr/local/mysql/lib --disable-roaming-users --enable-logging=p --disable-passwd --enable-clear-passwd --disable-domain-quotas --enable-auth-module=mysql --enable-auth-logging --enable-sql-logging --disable-valias --disable-mysql-limits --enable-learn-passwords

 

cp /usr/local/mysql-3.23.58-pc-linux-i686/include/mysql_com.h .

cp /usr/local/mysql-3.23.58-pc-linux-i686/include/mysql.h .

cp /usr/local/mysql-3.23.58-pc-linux-i686/include/mysql_version.h .

make

make install-strip

 

 

#管理:

 

echo 'export PATH=$PATH:/home/vpopmail/bin' >> /etc/profile

source /etc/profile

 

# 添加域,红色部份前面是域名,后面是管理员(postmaster)密码

 

vadddomain domain.com xukixu

 

 

# 添加用户,红色部份为注解,不用输入

 

vadduser -q 10485760S(邮箱大小) [email protected](邮箱帐号) 1234(密码)

vmoduser -c 许靖(邮箱描述) [email protected]

 

 

# 设置邮箱容量达到90%的警告信息

 

vi /home/vpopmail/domains/.quotawarn.msg

 

 

From: 邮箱管理员

Reply-To: [email protected]

To: 邮箱用户

Subject: 邮箱空间警告

Mime-Version: 1.0

Content-Type: text/html; charset=gb2312

Content-Transfer-Encoding: base64

 

您的邮箱空间已经达到90%.如果想继续使用,请删除一些信件.

如果需要帮助,请联系邮箱管理员:

Email : [email protected]

 

 

 

# 设置邮箱已满的警告信息

 

echo "邮件被拒绝,用户的邮箱空间已满." > /home/vpopmail/domains/.over-quota.msg

 

 

#启动脚本:

 

cp /home/pkg/toaster-scripts-0.7/vpopmailctl /var/qmail/bin

ln -s /var/qmail/bin/vpopmailctl /usr/bin

chmod 755 /var/qmail/bin/vpopmailctl

 

 

 

#现在打上qmail的补丁:

 

cd /home/pkg/netqmail-1.05/netqmail-1.05

bunzip2 -c /home/pkg/qmail-toaster-0.7.2.patch.bz2 | patch -p0

make clean

make

qmailctl stop

make setup check

chown -R vpopmail:vchkpw /var/qmail/spam

 

 

#创建SSL Key

 

 

make cert

 

#按提示输入公司信息

 

[root@mail netqmail-1.05]# make cert

 

Generating a 1024 bit RSA private key

.............++++++

...............++++++

writing new private key to '/var/qmail/control/servercert.pem'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [GB]:CN

State or Province Name (full name) [Berkshire]:GD

Locality Name (eg, city) [Newbury]:SZ

Organization Name (eg, company) [My Company Ltd]:Domain

Organizational Unit Name (eg, section) []:Domain

Common Name (eg, your name or your server's hostname) []:domain.com

Email Address []:[email protected]

 

make tmprsadh

 

#注:这里可能要多等一会

 

 

chown -R vpopmail:qmail /var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem

 

 

# 用"crontab -e"在crontab里增加下面这条,每天晚上更新temp keys

 

01 01 * * * /var/qmail/bin/update_tmprsadh > /dev/null 2>&1

 

 

#起动qmail

 

qmailctl start

 

# 用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

 

 

安装选项参考:

 

           vpopmail 5.4.10

 

            Current settings

 

---------------------------------------

 

 

 

vpopmail directory = /home/vpopmail

 

               uid = 89

 

               gid = 89

 

     roaming users = OFF --disable-roaming-users (default)

 

 password learning = ON --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 = ON  --enable-clear-passwd (default)

 

 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 = OFF --disable-mysql-limits (default)

 

      MySQL valias = OFF --disable-valias (default)

 

          auth inc = -I/usr/include/mysql

 

          auth lib = -L/usr/lib/mysql  -lmysqlclient -lz -lm

 

  system passwords = OFF --disable-passwd (default)

 

        pop syslog = show failed attempts with clear text password

 

                     --enable-logging=p

 

      auth logging = ON  --enable-auth-logging (default)

 

all domains in one SQL table = --enable-many-domains (default)

 

 

 

#POP3和SMTP测试

 

用outlook测试qmail的smtp和pop3是否正常,注意由于vpopmail支持虚拟域名,所以在outlook中设置邮件帐号时,用户名后要加上域名,如[email protected]。smtp是带认证的,在outlook中也要作相应设置。建议先测试正常后再进行下一步安装。如果qmail出现问题,可查看mysql中的vpopmail数据库,/var/log下的mysqld和maillog日志记录,这样容易很快找出问题。

相关阅读 更多 +
排行榜 更多 +
罗马战争与防御

罗马战争与防御

策略塔防 下载
3d坦克突击最新版

3d坦克突击最新版

飞行射击 下载
3d子弹先生射击模拟器安卓版

3d子弹先生射击模拟器安卓版

飞行射击 下载