黑基网 首页 服务器 Linux 查看内容

IBM Aix上Qmail的建立

2005-5-29 12:26| 投稿: Linux

摘要: Qmail是一款完全可以替代Sendmail邮件体系的新一代Unix邮件系统,相比Sendmail而言,它具有更高的安全性、...
Qmail是一款完全可以替代Sendmail邮件体系的新一代Unix邮件系统,相比Sendmail而言,它具有更高的安全性、可靠性及运行效率,并且安装配置都比较简单。qmail是自由软件,完全免费,遵从GPL版权声明,并且在internet上可以找到大量的qmail附加软件包来增强它的功能,因此,在各类邮件服务器解决方案中它拥有最旺的人气。    我用的操作系统是IBM Aix4.32,但在qmail源代码包的README文件里,只有aix4.2及其以前版本成功的测试记录。下面介绍一下我在aix4.32上的安装过程,这与别的unix操作系统上的安装有些区别。    我用的C编译器是gcc2.95.2,采用较流行的Maildir邮箱存储格式,使用系统用户作为邮件账户来满足最基本的收发邮件需求。通过访问http://www.qmail.org或mirror站点下载qmail的核心软件包qmail-1.03.tar.gz,在http://cr.yp.to/checkpwd/install.html下载pop3用户密码验证程序checkpassword-0.90.tar.gz。 先解压缩软件包并进入解压后的源代码目录:gzip -dc qmail-1.03.tar.gz|tar xvf -;cd qmail-1.03 仔细阅读INSTALL和FAQ文件,并开始按步就班的安装编译源程序。 1、建立/var/qmail目录: mkdir /var/qmail 2、按照INSTALL.ids文件中的方法一一建立qmail各后台进程所要用到的用户和组。如果是通过命令行的方式来建立用户和组的话,则需要修改/etc/security/login.cfg文件,在里面添加/bin/true做为合法的shell,这样有点麻烦,建议直接修改/etc/group和/etc/passwd两个文件来建立用户和组,更方便有效。 3、qmail默认的编译器是cc,而我用的是gcc,所以有必要使得qmail在安装时调用gcc来编译。有两种方式可以解决此问题,一种方式是给gcc建立一个名为cc的象征性链接文件:ln -s /path-to-gcc/gcc /usr/bin/cc;另一种方式是修改conf-cc和conf-ld文件,将其默认的编译器cc替换为gcc。 开始编译及建立Qmail 的目录结构:make setup check 这一步是我在安装时遇到的最大阻碍,编译出错不能通过。凭借我对unix下C编程的一知半解及根据编译出错提示,我修改了dns.c文件,删除第11行“extern int h_errno;”。重新编译,通过,在后来的使用过程中也没有发现有什么问题,正常。在其它的unix操作系统上安装qmail时不会出现这样的情况,但到底在aix上为什么会这样,我目前还不大清楚,希望高人指点。 4、在配置qmail前,请认真阅读INSTALL.ctl和FAQ。配置命令有两个,config和config-fast,config将试图对本机IP地址在DNS上进行反向解析,从而确定本机域名;如果反向解析失败,则配置也就失败。建议用类似./config-fast your.full.host.name这样的命令直接确定本服务器主机域名来配置。 5、阅读INSTALL.alias文件,这里有对添加邮件用户别名的一些介绍。但至少也要给一些不能接收邮件的系统帐户添加别名,并修改/var/qmail/alias目录下所有文件的访问权限来增加安全性。 # (cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root) # chmod 644 ~alias/.qmail* 6、有必要的话,可以先读一读NSTALL.mbox、INSTALL.maildir和INSTALL.vsm文件,这里介绍了有关qmail邮件存储格式和邮件投递方面的内容。 7、建立/var/qmail/rc。/var/qmail/rc是用来启动qmail的文件,很重要。拷贝/var/qmail/boot/home到/var/qmail/rc。 # cp /var/qmail/boot/home /var/qmail/rc # chmod 755 /var/qmail/rc 我们采用Maildir邮箱存储格式,对rc文件做相应的修改,修改其中./Mailbox为./Maildir,修改后的内容如下:   exec env - PATH="/var/qmail/bin:$PATH" qmail-start ./Maildir splogger qmail 8、启动qmail: csh -cf '/var/qmail/rc &' 最好将这条命令加到系统的启动文件中,以便以后在系统重启时自动启动qmail。参照TEST.deliver介绍的方法进行测试。 9、如果当前系统上已安装有sendmail并且在使用中,那么请参照SENDMAIL、REMOVE.sendmail、REMOVE.binmail等文件做好从sendmail向qmail的转移。别忘了安装qmail的sendmail外壳: # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail 10. 安装checkpassword。它用于对pop3用户的密码验证,安装也很简单,过程如下: gzip checkpassword-0.90.tar.gz tar -xf checkpassword-0.90.tar cd checkpassword-0.90 make make setup check 11、编辑/etc/inetd.conf文件,设置qmail-smtpd,用于发信,如下所示(所有文字在同一行): smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd 同样,添加qmail-pop3d,用于收信,如下所示(所有文字在同一行): pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup your.domain.name /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 12、重新启动inetd:refresh -s inetd 13、创建邮件用户。在每个用户的初始目录下用命令/var/qmail/bin/maildirmake创建邮箱目录并赋予适当的权限,也可以建立一个Shell脚本程序来完成每个邮件账户的创建,下面是一个简单的例子,请创建好一个名为mailgrp的组,用于将邮件用户加入到此组,如果给此脚本程序命名为qmadd,则增加邮件账户的语法为:qmadd if test $1 then echo "creating user $1 and its maildir directory..." mkuser pgrp='mailgrp' $1 cd /home chown $1 $1 cd $1 /var/qmail/bin/maildirmake Maildir echo ./Maildir/ > .qmail chown $1 Maildir chown $1 Maildir/* chown $1 .qmail passwd $1 echo "$1's account has been created!" else echo "Usage: qmadd username" fi 14、测试。如果邮件服务器是用在internet上,别忘了DNS上的mx记录应指向本服务器的IP地址。在TEST.receive文件中介绍了一些对邮件收发的测试方式。在此我建议在windows客户机上用foxmail或outlook来做收发邮件测试,这样更为简便有效。另外要注意/var/qmail/control目录下一些文件的配置,rcpthosts文件用于对转发信的限止,me文件表示系统的正式域名,timeoutconnect文件用于设置SMTP连接超时时间等。    本文只是介绍了qmail最基本的安装配置,如果要使得qmail有虚拟域支持、邮件列表管理、自动回复、webmail、web方式管理、web方式用户注册等功能,那需要安装另外的附加软件包,相关资料大家可以在internet上查找,有很多,虽然这些资料大都是针对linux操作系统的,不过aix上的安装配置也大同小异,所以在这就不多做介绍了。
小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论


新出炉

返回顶部