安装步骤
安装平台:Solaris 8 for x86 / (redhat 7.2)
安装的机器:mail.ccbtc.com
软件包详细清单略,文件皆在/home文件夹。
安装qmail
首先创建qmail安装目录,添加qmail必需的用户和组。经过解压、解包和编译后,安装补丁包,将qmail目录下,的qmail-smtp.c拷贝到qmail-smtpd-auth-0.26目录下然后对该文件进行补丁处理。
然后将qmail-smtpd.c 拷贝到qmail 的源文件目录里,编译qmail软件包。进入qmail目录后,仔细阅读一下README和INSTALL文件,然后开始编译qmail。
之后进行配置:
#./config-fast mail.ccbtc.com
(mail.ccbtc.com是您的邮件服务器主机名)
建立系统别名,可以在这些别名文件中指定管理用户来接受这些系统邮件,如:
#echo 'admin' > /var/qmail/alias/.qmail*
建立启动文件和用户的maildir,编辑 /var/qmail/rc,修改其中./Mailbox成为./Maildir以支持maildir的pop收信方式,如下:
# !/bin/sh
# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Maildir by default.
exec env - PATH="/var/qmail/bin:$PATH"\
qmail-start ./Maildir splogger qmail
其中splogger qmail指令是用来将日志文件记录在/中。
安装ucspi-tcp-0.88、daemontools和vpopmail
ucspi-tcp-0.88的执行文件被安装在/usr/local/bin中;daemontools的执行文件安装于/usr/local/bin中。安装daemontools工具后可以用
#mkdir /var/run/qmail
#supervise /var/run/qmail /var/qmail/rc
来启动qmail,还可以用svc来关闭或重启qmail,用svstat监视qmail运行情况,或者直接启动qmail:
/var/qmail/rc &
然后安装vpopmail。安装完毕之后,添加域用户:
#./vadduser test@ccbtc.com passwd
具体命令的使用方法请参阅vpopmail手册。
停止Sendmail服务,以qmail的Sendmail libraby取代原有Sendmail
#pkill sendmail
#mv /usr/lib/sendmail /usr/lib/sendmail.old
#mv /usr/sbin/sendmail /usr/sbin/sendmail.old
#ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
#ln -s /var/qmail/sbin/sendmail /usr/sbin/sendmail
移除Sendmail启动程序,以Linux为例,移除inetd.conf中的sendmail之设定,以及/etc/rc.d/init.d下的Sendmail启动文件。
启动qmail SMTP,POP3 daemon系统服务
一、建立SMTP转信规则
建立 /home/vpopmail/etc/tcp.smtp,
:allow,RELAYCLIENT=""
此为接受任何Client端所发出子转送信件。
若要拒绝某些IP所发出的Relay,则修改/etc/tcp.smtp如下:
127.:allow, RELAYCLIENT=""
本文因支持身份认证功能所以采用以下规则:
127.0.0.1:allow,RELAYCLIENT=""
#echo 127.0.0.1:allow,RELAYCLIENT="" >> /home/vpopmail/etc/tcp.smtp
二、转换tcp.smtp成为cdb格式
#/usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
注意,若对tcp.smtp有任何变更,都必须经过tcprules转换成为cdb文件才会生效。另外,tcp.smtp若为空白,则表示拒绝所有的转送,因为预设的规则为deny。
至此,转送规则已建立,稍后将依此规则启动qmail-smtpd。
三、设置/home/vpopmail/bin/vchkpw的SetUID和SetGID
这点很重要,否则认证无法通过,这是因为smtpd 的进程是由qmaild 执行的。而密码验证程序原来只使用于POP3进程,分别由root或vpopmail执行,为的是读shadow或数据库中的密码,并取出用户的邮件目录。这些操作qmaild 都没有权限去做。如果SMTP进程要调用密码验证程序,则必须要使用setuid和setgid。其实这点大可放心,这两个密码验证程序都是带源代码的,本身非常安全,只需要放在安全的目录里就可以了。设置其他用户,除qmaild可执行外,都没有权限执行。其实如果没有其它SHELL帐户,也就不用这么麻烦了。
#chmod 4755 /home/vpopmail/bin/vchkpw
#chmod 755 /home/vpopmail/bin
四、设定SMTP及POP3 daemon的启动
移除inetd.conf中有关SMTP及POP3的设定(加上#号),编辑/etc/services,改为以下设定:
smtp 25/tcp
pop3 110/tcp
pop3 110/udp
启动 SMTP:
/usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb\
-u UID -g GID 0 smtp/var/qmail/bin/qmail-smtpd\
/home/vpopmail/bin/vchpkw /usr/bin/true /bin/cmd5checkpw \
/usr/bin/true & | /var/qmail/bin/splogger smtpd 3 &
其中UID和GID为前述新增qmail系统账号qmaild的User ID,以及nofiles的group ID。
/var/qmail/bin/splogger那一行会将log文件写在/var/log/maillog中。
启动POP3,编辑启动档加入以下设定:
tcpserver -H -R 0 pop3 \
/var/qmail/bin/qmail-popup mail.ccbtc.com \
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
qmailAdmin的安装
首先安装ezmlm和autorespond,然后即可安装qmailAdmin。安装前首先要考虑满足以下几项要求:
是否拥有一个vpopmail用户vchkpw
◆ cgi-bin目录的所在位置;
◆ ezmlm目录的所在位置;
◆ autorespond目录的所在位置;
◆ 如果能够达到以上要求,可以继续安装。
检测安装是否正确,可以在浏览器中打开路径http://mail.ccbtc.com/cgi-bin/qmailadmin,看根据前面设置的用户和密码是否能够成功登录进去。
WebMail的安装
一、MySQL的安装
Solaris x86安装pkg包,因为Solaris系统平台编译MySQL有问题,笔者一直无法编译通过,所以采用pkg安装。
二、安装imap的PHP模块
#gzip -d c-client.tar.Z
#tar xf c-client.tar
#cd imap-2002
#make gso SSLTYPE=none
#cp c-client/c-client.a /usr/local/lib/libc-client.a
#cp c-client/rfc822.h mail.h linkage.h /usr/local/include
make gso表示在Solaris系统上安装imap,不同的系统有不同的参数,可以通过more Makefile 找到关于您Unix系统相应的参数,例如:RedHat的参数为lrh。
三、安装PHP模块
如果您以前安装PHP的时候没有采用以模块的方式安装php(--with-apxs),那您只好连Apache一起重新安装,由于笔者以前安装PHP的时候采用模块化的安装,所以没有对Apache进行任何改动。
然后进入PHP解压后的目录,重新编译PHP模块:
#./configure -prefix=/usr/php4 --with-apxs=/usr/apache/bin/apx with-imap=/home/imap-2002 -with-mysql=/usr/local/mysql
#make
#make install
将/usr/php/lib中的php.ini文件修改如下:
[php]
register_globals=on
重新启动Apache使修改生效。
四、igenus的安装
igenus是一个国内制作的Webmail,省去了我们还要对国外Webmail进行翻译的麻烦。
将解压后的Snap目录放入Web浏览的目录下面,如/home/snap。
在/home目录建立临时目录,然后修改以下部分:
$CFG_BASEPATH = "/home/snap"; --->是iGNEUS webmail安装在系统的路径
$CFG_MYSQL_HOST = 'localhost';
$CFG_MYSQL_USER = 'root';
$CFG_MYSQL_PASS = 'yyyyy';
$CFG_MYSQL_DB = 'vpopmail'
$CFG_HOSTNAME = "http://mail.ccbtc.com";
$CFG_LANGUAGE = gb
$CFG_GMT = +8;
$CFG_TEMP = $CFG_BASEPATH."./temp";确保浏览的目录和temp的目录在同一路径。
然后修改默认登录域的设置。编辑login.php文件:
<OPTION value="ccbtc.com" selected>ccbtc.com</OPTION>---->默认登录域
<OPTION value="test.com">test.com</OPTION> ---->其它域名。
将运行apache的用户和组修改为vpopmail、vchkpw,重新启动Apache,浏览http://mail.ccbtc.com 就可以出现如图1和图2的页面:
图1
图2
构建ETRN支持
ETRN是一个通知ESMTP服务传送邮件队列的命令,通常用于到ISP的拨号连接和备份邮件服务器,当一个远端客户发送一个ETRN命令时,队列中远端客户的消息会被发送给客户,ETRN是TURN命令的一个扩展版本,加上了安全特性。TURN命令被用作启动远端计算上队列中消息的传送。但是,TURN有一个安全问题,因为没有远端主机名的校验。ETURN提供了远端主机名的校验,这样,除了专门接收消息的那一台主机以外,其他都不能接收消息,并且,ETRN并不是发起的连接上传输信息,而是,重新启动一个新的连接进行数据传输,即使,有人伪装客户主机发出ETRN命令,系统也会连接到正确的目标主机进行信息交换,从而,保证了信息的安全性。
qmail本身是不支持ETRN功能的,但是我们可以提供一种方法来欺骗qmail系统,使得系统可以正确应答客户端所发出的ETRN命令,并进行正确的信息交换。
ETRN的运行条件
客户端必须有有效的主机字符串(DNS主机名)或有效的静态IP地址(假设为1.2.3.4)和正确的DNS解析纪录(如域 mydomain.com):
mydomain.com mx 10 mail.ccbtc.com
serialmail的安装及配置
一、建立邮件缓冲区
#mkdir /var/qmail/autoturn
#chgrp qmail /var/qmail/autoturn
#chmod 2755 /var/qmail/autoturn
二、设置本地接收用户
将此行"+autoturn-:qmaild:7770:2108:/var/qmail/autoturn:-::"导入到/var/qmail/user/assign,用您的qmaild用户的ID替代7770,nofiles组的gid替代2108,并且运行:
#../bin/qmail-newu
至此,autoturn用户应该已经生效。
三、将您需要使用ETRN功能的域名导入
/var/qmail/control/rcpthosts 如mydomain.com:
#echo mydomain.com >> /var/qmail/control/rcpthosts
四、设置默认转发
#echo mydomain.com:autoturn-1.2.3.4 >> /var/qmail/control/virtualdomains
将发送到mydomain.com的信件全部转发给本地的autoturn用户,1.2.3.4区分ETRN用户。
五、设置maildir邮件投递规则
# cd /var/qmail/autoturn
# maildirmake 1.2.3.4
# chown -R qmaild 1.2.3.4
# echo ./1.2.3.4/ > .qmail-1:2:3:4-default
# chmod 644 .qmail-1:2:3:4-default
确认以上步骤设置成功,qmail系统会根据远程客户的IP地址及其本地的maildir投递规则,将邮件转发到相应的maildir信箱。如需设置多域名的ETRN功能,重复以上步骤即可。
启动方式
用以下字符串替代 /var/qmail/bin/qmail-smtpd即可。
sh -c '
/var/qmail/bin/qmail-smtpd
cd /var/qmail/autoturn
exec setlock -nx $TCPREMOTEIP/seriallock \
maildirsmtp $TCPREMOTEIP autoturn-$TCPREMOTEIP- $TCPREMOTEIP AutoTURN
至此您的qmail已安装完毕,希望您能看见您的qmail!
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |