当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 构造与系统用户无关的虚拟域邮件服务器

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 66 ::
收藏到网摘: n/a


操作系统:FreeBSD4-stable

更新ports

cvsup-gL2-hcvsup.freebsdchina.org/usr/share/examples/cvsup/ports-supfile

安装apache服务器

cd/usr/ports/www/apache2/
makeinstallclean

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

cd/usr/ports/mail/openwebmail/
makeWITH_QUOTA=yesinstallclean

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

cd/usr/ports/mail/postfix/
makeinstallclean

修改:
/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"

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

安装vm-pop3d

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

配置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,否则会出错
[email protected]

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

执行:

cd/usr/local/etc/postfix/;postmapvirtual

生成virtual.db

修改:
/usr/local/etc/postfix/aliases

加入

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

执行:
cd/usr/local/etc/postfix/;postaliasaliases

生成aliases.db

配置vm-pop3d自动执行
修改:
/etc/inetd.conf

加入:

pop3streamtcpnowaitroot/usr/local/sbin/vm-pop3dvm-pop3d-unobody


修改:
/etc/rc.conf

加入:
inetd_enable="YES"

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

配置openwebmail支持jayvan.com域
添加文件:
/usr/local/www/cgi-bin/openwebmail/etc/site.conf/jayvan.com

文件必须以虚拟域名为文件名
文件内容:

auth_moduleauth_vdomain.pl
auth_withdomainyes
mailspooldir/var/spool/virtual/jayvan.com#注意目录名和域名一致
use_syshomedirno
use_homedirspoolsno
enable_autoreplyno
enable_setforwardno
enable_vdomainyes
vdomain_admlistjayvan
vdomain_maxuser100
vdomain_vmpop3_pwdpath/usr/local/etc/virtual#这是vm-pop3d默认寻找passwd的目录
vdomain_vmpop3_pwdnamepasswd
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
chownnobody/var/spool/virtual/jayvan.com
chgrpmail/var/spool/virtual/jayvan.com

mkdir-p/usr/local/etc/virtual/jayvan.com
touch/usr/local/etc/virtual/jayvan.com/passwd
chmod644/usr/local/etc/virtual/jayvan.com/passwd

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

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

重启动系统以启动postfix和vm-pop3,然后就可以使用了。
使用系统管理员账号登录openwebmail后可以增加邮件账号。注意登陆的时候要用完整的邮件地址做账号,如:
[email protected]

怎样让quota生效还没有研究出来。对于数十人的小公司的内部邮件服务器,我认为这个组合挺好。其中openwebmail的网络磁盘功能可以省掉设置个人文件服务器共享。
目前似乎没看到openwebmail中能自动设置群发账号,如果确实没有,这是一个缺点。自动注册账号功能尽管是很有用的,但对于这类型的公司用户来说,没有问题也不算太大。openwebmail里增加用户的功能勉强还是可满足要求的。