Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1853979
  • 博文数量: 237
  • 博客积分: 9995
  • 博客等级: 中将
  • 技术积分: 2890
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-30 10:33
文章分类

全部博文(237)

文章存档

2011年(1)

2007年(59)

2006年(177)

我的朋友

分类: BSD

2006-06-23 10:41:44

第四课、配置邮件服务 

??其实OpenBSD 2.8在系统安装完成之后,就已经安装且启动了邮件服务sendmail。我们在这里需要为

OpenBSD找一个比sendmail更加安全、更加容易使用和高效能的邮件服务程序,我们选择了qmail(利用

qmail加上vpopmail可以把系统用户和邮件用户分离,并且使用虚拟邮件域。再加上MySQL就可以实现邮件

用户的数据库口令校验,这是我选择qmail的原因)。 

 

第一节、关闭sendmail 

??因为qmail作为sendmail的替代服务程序,不能和sendmail一起工作,所以必须先关闭sendmail程序。

执行以下的命令关闭正在执行的sendmail程序。 

Kill –9 `cat /var/run/sendmail.pid` 

??同时,必须把sendmail相关的链接删除,并把senmail更名 

chmod 0 /usr/sbin/sendmail /usr/sbin/sendmail.old 

??最后还必须修改/etc/rc.conf文件,更改sendmail_flags以避免系统重新启动时sendmail自动启动。 

sendmail_flags=”-q 30m” 改为 sendmail_flags=NO 

 

第二节、安装qmail 

??如果一直按照手册的例子进行练习,那么现在应该可以访问CD-ROM,如果系统曾经重新启动,那么

请按照第三课、第一节的内容来访问CD-ROM。 

??进入/mnt/packages目录并安装qmail执行代码包: 

cd /mnt/packages 

pkg_add qmail-1.03.tgz 

??安装的过程中会询问是否添加一些组和用户,默认选择Y,不用改变,直接回车继续就可以了。一定

要记录qmaild的uid和nofiles的gid,因为在以后的课程中启动smtp和pop的时候需要它们(例如qmaild的

uid是2850,nofiles的gid是32750)。Qmail被安装到/var/qmail目录。 

 

第三节、配置qmail 

??要配置和运行需要DNS正确运行,如果还没有配置DNS服务,请按照第二课的内容进行配置。 

??首先执行以下的命令建立新的sendmail链接,以实现和sendmail的兼容: 

ln –s /var/qmail/bin/sendmail /usr/sbin/sendmail 

??然后建立基础的域信息,使用下面的命令来完成: 

/var/qmail/setup/config-fast 01tech.nat 

??当然,也可以通过/var/qmail/setup/config来设置基础域信息,不过既然DNS正常,为什么不使用更

快捷的方法呢?config的用法请参考/var/qmail/doc里面的文档。 

??复制rc文件,并对其进行修改,让它和sendmail兼容: 

cp /var/qmail/boot/home /var/qmail/rc 

??qmail默认使用Mailbox,而sendmail默认使用Maildir,很多的程序都根据sendmail规则来编写,需

要使用Maildir,所以需要更改rc文件,作出以下的更改: 

Mailbox 改为 Maildir 

 

第四节、测试qmail 

??安装和配置完成之后当然要测试一下qmail的运作是否正常了,执行以下的命令启动qmail服务: 

csh –cf ‘/var/qmail/rc &’ > /dev/null & 

??然后使用以下的命令查看是否存在qmail-lspawn ./Maildir。如果已经存在,则证明qmail服务已经

正常启动,如果没有找到,就需要按照第三节的内容重新配置。 

ps -x 

 

第五节、启动系统时自动运行qmail服务 

??首先修改/etc/rc.conf文件,添加以下的内容: 

qmail_flags=”” 

??然后修改/etc/rc文件,找到sendmail的启动代码,在后面添加以下的代码: 

if [ “X${qmail_flags}” != X”NO” ]; then 

echo –n ‘ qmail’; csh –cf ‘/var/qmail/rc &’ > /dev/null & 

fi 

 

 

 

 

 

第五课、分离系统用户和邮件用户 

??我们使用vpopmail来分离系统用户和邮件用户,这样可以提高系统的安全性。而且vpopmail还可以

使用虚拟域名,也就是同一个IP的不同域名的邮箱。 

 

第一节、展开源代码包 

??进入/usr/src目录,并解压vpopmail-4.9.8源代码包,然后进入vpopmail-4.9.8目录: 

cd /usr/src 

tar zxvf /mnt/packages/vpopmail-4.9.8.tar.gz 

cd vpopmail-4.9.8 

?? 

第二节、使用MySQL支持 

??如果您的系统没有提供MySQL支持,请跳过这一步。 

??修改vmysql.h文件,找到其中的一行内容为: 

#define MYSQL_PASSWORD “gipgap” 

??把里面的gipgap替换成为可以访问MySQL的系统管理员口令123456: 

#define MYSQL_PASSWORD “123456” 

 

第三节、添加组和用户 

??编译和运行vpopmail,需要vchkpw组和属于vchkpw组的vpopmail用户。使用以下的命令添加组和用户: 

groupadd vchkpw 

useradd –g vchkpw vpopmail 

 

第四节、准备/etc/tcp.smtp文件 

??要编译vpopmail需要有tcp.smtp文件,默认的存放路径是/etc目录,通过下面的命令产生该文件: 

echo ‘127.0.0.:allow,RELAYCLIENT=””’ > /etc/tcp.smtp 

 

第五节、运行配置程序 

??运行配置程序configure,获取编译所需的编译器,外部环境等信息: 

./configure --enable-default-domain=01tech.nat \ 

          --enable-admin-email=zenz-hu@01tech.nat \ 

          --enable-mysql=y \ 

          --enable-sqlincdir=/usr/local \ 

          --enable-sqllibdir=/usr/local \ 

          --enable-large-site=y \ 

          --enable-passwd=n \ 

          --enable-hardquota=8000000 

??解释一下各项的含义:--enable-default-domain=01tech.nat指定默认的邮件域是

01tech.nat;--enable-admin-email=zenz-hu@01tech.nat说明管理员的邮箱;--enable-mysql=y告诉编

译器要使用MySQL数据库作口令检查服务;--enable-sqlincdir=/usr/local和—enable-sqllibdir=/usr/local

告诉编译器到哪里寻找MySQL的头文件和库文件;--enable-large-site=y用于把域信息保存到MySQL数据库中,

但是如果有太多的虚拟域则不适宜采用本项;--enable-passwd=n告诉系统不在/etc/passwd口令文件中

查找邮箱用户的口令;--enable-hardquota=8000000限制每个用户的邮箱大小为8Mb。 

第六节、编译并安装vpopmail 

??只需要简单的命令,即可编译并安装vpopmail: 

make 

make install-strip 

??安装后的vpopmail在/home/vpopmail目录下。 

 

第七节、添加邮件域和更改postmaster口令 

??现在的vpopmail还没有邮件域,即使在编译的时候指定了默认的邮件域也一样需要通过执行以下的

程序来添加邮件域: 

/home/vpopmail/bin/vadddomain 01tech.nat 

??系统会询问属于这个域的postmaster的口令并要求确认,输入123456作为口令吧(记住,这里使用的

任何口令都不应该在实际应用中出现,否则您的系统会有很大的安全问题)! 

??如果在这个步骤出现错误提示,那么您很可能需要重新进行本课的练习了。 

第八节、启动smtp和pop3服务 

??要用户可以用smtp方式发送邮件以及使用pop3方式接受邮件,需要修改/etc/rc文件,在qmail启动代

码后面添加以下的代码: 

if [ -x /home/vpopmail/bin/vchkpw ]; then 

echo –n ‘ smtpd’ 

/usr/local/bin/tcpserver –u2850 –g32750 0 smtp \ 

/var/qmail/bin/qmail-smtpd 2>&1 > /dev/null & 

echo –n ‘ popd’ 

/usr/local/bin/tcpserver 0 pop3 \ 

/var/qmail/bin/qmail-popup pop.01tech.nat \ 

/home/vpopmail/bin/vchkpw \ 

/var/qmail/bin/qmail-pop3d Maildir & 

fi 

??经过上面的修改,系统在每次重新启动之后,都会自动启动smtp和pop3服务了。 

 

??vpopmail的管理手册在/home/vpopmail/doc目录中。 

阅读(2489) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~