构造与系统用户无关的虚拟域邮件服务器

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

操作系统:FreeBSD 4-stable

更新 ports

cvsup -gL 2 -h cvsup.freebsdchina.org /usr/share/examples/cvsup/ports-supfile

安装 apache 服务器

cd /usr/ports/www/apache2/

make install clean

安装 openwebmail。其中加上 WITH_QUOTA 为将来实现磁盘配额作准备。

cd /usr/ports/mail/openwebmail/

make WITH_QUOTA=yes install clean

安装 postfix ,过程中遇到提问都回答 y

cd /usr/ports/mail/postfix/

make install clean

修改:

/etc/rc.conf

加入:

sendmail_enable="YES"

sendmail_flags="-bd"

sendmail_pidfile="/var/spool/postfix/pid/master.pid"

sendmail_outbound_enable="NO"

sendmail_submit_enable="NO"

这是 make install 的时候提示做的,不过有一次我配置的时候忘记了,但系统依然运作正常,还没完全理解会有什么问题。

安装 vm-pop3d

cd /usr/ports/mail/vm-pop3d/

make install clean

配置 postfix

修改:

/usr/local/etc/postfix/main.cf

加入

virtual_alias_maps=hash:/usr/local/etc/postfix/virtual

alias_maps=hash:/usr/local/etc/postfix/aliases

default_privs=nobody

allow_mail_to_commands = alias,forward,include

allow_mail_to_files = alias,forward,include

最后两条很重要,因为默认是不启用aliases中的 :include 支持的,而 openwebmail 修改aliases 文件时是使用该功能。

修改:

/usr/local/etc/postfix/virtual

加入:

jayvan.com # 起码要加个tab,否则会出错

jayvan@jayvan.com jayvan.jayvan.com

上述例子中我加入一个 jayvan.com 的虚拟域,并添加第一个用户 jayvan 以作为系统管理员

执行:

cd /usr/local/etc/postfix/; postmap virtual

生成 virtual.db

修改:

/usr/local/etc/postfix/aliases

加入

jayvan.jayvan.com: /var/spool/virtual/jayvan.com/jayvan

执行:

cd /usr/local/etc/postfix/; postalias aliases

生成 aliases.db

配置 vm-pop3d 自动执行

修改:

/etc/inetd.conf

加入:

pop3 stream tcp nowait root /usr/local/sbin/vm-pop3d vm-pop3d -u nobody

修改:

/etc/rc.conf

加入:

inetd_enable="YES"

当然也可以使用 rc.d 的脚本来执行。

配置 openwebmail 支持 jayvan.com 域

添加文件:

/usr/local/www/cgi-bin/openwebmail/etc/site.conf/jayvan.com

文件必须以虚拟域名为文件名

文件内容:

auth_module auth_vdomain.pl

auth_withdomain yes

mailspooldir /var/spool/virtual/jayvan.com # 注意目录名和域名一致

use_syshomedir no

use_homedirspools no

enable_autoreply no

enable_setforward no

enable_vdomain yes

vdomain_admlist jayvan

vdomain_maxuser 100

vdomain_vmpop3_pwdpath /usr/local/etc/virtual # 这是 vm-pop3d 默认寻找passwd的目录

vdomain_vmpop3_pwdname passwd

vdomain_vmpop3_mailpath /var/spool/virtual

vdomain_postfix_aliases /usr/local/etc/postfix/aliases

vdomain_postfix_virtual /usr/local/etc/postfix/virtual

vdomain_postfix_postalias /usr/local/sbin/postalias

vdomain_postfix_postmap /usr/local/sbin/postmap

执行:

mkdir -p /var/spool/virtual/jayvan.com

chown nobody /var/spool/virtual/jayvan.com

chgrp mail /var/spool/virtual/jayvan.com

mkdir -p /usr/local/etc/virtual/jayvan.com

touch /usr/local/etc/virtual/jayvan.com/passwd

chmod 644 /usr/local/etc/virtual/jayvan.com/passwd

htpasswd /usr/local/etc/virtual/jayvan.com/passwd jayvan

chmod 755 /usr/local/www/cgi-bin/openwebmail/etc/users # 这个很重要,默认该名录权限会导致openwebmail无权访问

重启动系统以启动 postfix 和 vm-pop3,然后就可以使用了。

使用系统管理员账号登录 openwebmail 后可以增加邮件账号。注意登陆的时候要用完整的邮件地址做账号,如:

jayvan@jayvan.com

怎样让 quota 生效还没有研究出来。对于数十人的小公司的内部邮件服务器,我认为这个组合挺好。其中 openwebmail 的网络磁盘功能可以省掉设置个人文件服务器共享。

目前似乎没看到 openwebmail 中能自动设置群发账号,如果确实没有,这是一个缺点。自动注册账号功能尽管是很有用的,但对于这类型的公司用户来说,没有问题也不算太大。openwebmail 里增加用户的功能勉强还是可满足要求的。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航