在FreeBSD上组建ISP级的邮件系统Ver:0.3软件简介:所需软件软件作用FreeBSD提供稳定的操作postfixMTA邮件系统传输代理MySQL后台数据库Cyrus-SASL2发信认证Courier-IMAP提供POP3/IMAP服务maildropMDA邮件投递代理amavisd-new提供内容过滤,调用clamav杀毒,调用spamassassin进行邮件评分clamav杀毒Extman后台用户管理ExtMail一个高效率的webmail作者:冯勇fengyongchuang#yahoo.com.cn(≠&键盘人生$:71633908)日期:2006-03-09技术支持网站:群:网管之家:5929685网管之家-UNIX:3791457Extmail群/postfix1:6769767Extmail群/postfix2:18051473版权所有,复制或转载时请保留作者信息。尊重他人的劳动成果就等于尊重自己。如有问题请到下面网址提问:前言1、感谢HZQBBC多年来的帮助,让我对LINUX/UNIX有所了解。3、本文通过一步一个软件,一个软件一次性设置的方式让你了解如何组建一个邮件系统。4、建议:良好的电脑基础会使你事半功倍,至少你要明白互联网上的一些常用服务的原理,如:web/ftp/dns/mail(mta/mua/mda)及了解什么是TCP/IP协议。5、如果对BSD操作不熟建议看Freebsd的Handbook。、如果英文不太好请建议使用IBM智能词典。=zh-CN&q=IBM%E6%99%BA%E8%83%BD%E8%AF%8D%E5%85%B8&lr=7、要多想多做多动脑,要懂得如何去使用google/baidu寻找你需要的东西,可能你遇到的问题人家已经遇过并解决了。8、认真观察安装过程、日志文件是寻找错误的关键。9、古语云:冰冻三尺非一日之寒,当你第N次安装失败时,千万别恢心,成功往往就与你擦肩而过。回头认真看文档,回想自己的操作,整理好思路。相信自己一定会成功。10、FreeBSD通过ports安装总是花上不少时间在下载文件及编译,建议你多喝水或为自己准备一杯咖啡,编译的时候走走运动一下也是个不错的主意。更新:1、接上编Freebsd6.0+Postfix+MySQL+Cyrus-SASL2+Courier-IMAP+Clamav+Mailscanner+Extman+Extmail对内容进行了修改。2、把mailscanner换成amavisd-new。3、增加了maildrop作为邮件的投递代理。4、更详细的安装过程。5、以HTML方式发布,方便兄弟们复制命令。6、去掉了zend/ftp/openssl的安装。7、加入了atni-spam.org.cn的cdl服务从而更有效拒绝垃圾邮件。8、修正文中多处语言上的错误,并对网页进行简单的美工(2007-05-01)。快速索引一、设置你的DNS二、安装Freebsd三、安装mysql四、安装apahce五、安装邮件系统六、测试系统七、安装反垃圾邮件八、安装extmail/extman一、设置你的DNS很多人经常问为什么我的邮件服务器向163.com/sina.com/yahoo.com.cn...都能收到,为什么回复的邮件却收不到,原因很简单,因为这些服务器不能找到你的域名的A记录或MX记录。很多人在安装时使用的域都是不合法的域名,即未经注册的DNSFQDN(完全限定名)。如果你没有申请合法的域名,可以到comexe.cn3322.org申请一个动态域名来收发邮件。本例中以extmail.org这个域为例,主机名为mail,邮件服务器建立在DDNS之上。打开windows的CMD使用nslookup查询extmail.org的MX记录,如果你自己拥有固定IP可以创建自己的DNS,如果你使用的是新网或其它域名供应商,进入后台添加一个记录即可,供体参考DNS相关的内容。C:\nslookup-type=mxextmail.org221.4.66.66Server:ns2.cnc-gd.netAddress:221.4.66.66DNSrequesttimedout.timeoutwas2seconds.Non-authoritativeanswer:extmail.orgMXpreference=20,mailexchanger=mx.extmail.orgextmail.orgnameserver=ns2.xinnetdns.comextmail.orgnameserver=ns.xinnet.cnextmail.orgnameserver=ns.xinnetdns.comextmail.orgnameserver=ns2.xinnet.cnmx.extmail.orginternetaddress=210.21.119.139ns.xinnet.cninternetaddress=210.51.171.209ns.xinnetdns.cominternetaddress=210.51.170.66ns2.xinnet.cninternetaddress=210.51.170.67ns2.xinnetdns.cominternetaddress=210.51.170.67作为windows高手的你,这点小事难不到你吧。二、安装FreebsdA、系统分区很多人在使用自己的作业系统时,不知道如何对系统分区,对于分区方案没有最好的,只是跟据自己的情况去分。下面是我的分区方案。硬盘为120G,/(根)1G左右就差不多了,但考滤到/root工作目录也在这里,所以分大一点。/home/data主要是用来存放Email/ftp用户的数据/tmp1G也是考虑到临时文件多,所以给大也点。/usr/10G因为要安装软件,还有下载的软件,我没有装GUI所以只分了10G我认为足够了。/var3G这个目录存放的东西比较多,如日志、邮件的临时目录,如果空间不够amavisd-new无法解开邮件进行杀毒。%df-hFilesystemSizeUsedAvailCapacityMountedon/dev/ad0s1a1.9G481M1.3G26%/devfs1.0K1.0K0B100%/dev/dev/ad0s1g92G353M84G0%/home/data/dev/ad0s1e989M224K910M0%/tmp/dev/ad0s1f9.7G1.8G7.1G20%/usr/dev/ad0s1d2.9G105M2.6G4%/var用户可以跟据自己的需要进行分区。B、安装基本系统对于系统的安装,我选择了minimal(最小系统)和ports,因为有些没必要的包就不装,减少系统体积,另外作为一台服务器,我从来不装GUI。下载BSD时,只需要下载DISK1就行了,缺少的软件包可以通过网络安装。C、配置系统如果你在安装后期没有配置系统,在系统启动完成后以root的身份登陆系统,运行sysinstall进行设置,或通过ee编辑器编辑/etc/rc.conf文件,在这里提醒各位,一会大多数服务都需要在/etc/rc.conf加入启动内容才能正常启动。设置好固定IP,或通过DHCP自动分配置机器IP。使用SSH客户端进行管理服务器将会为你的工作提供方便。使用SSH要注意:a、不能用root直接登陆,需要添加一个新用户,指定到wheel组,用此用户登陆后用使用su-提升到管理员。b、以我的SecureCRT为例,Sessionoptions-Authentication-Primary选择keyboardInteractivec、如果你要使用像LINUX一样的彩色显示,需要把Emulation-Terminal-Xterm选中ANSIColor并在/etc/csh.cshrc加入setenvLSCOLORSExGxFxdxCxegedabagExExsetenvCLICOLORyessetautolist然后执行sed-i.bak-Es/set\prompt/#set\prompt/g/root/.cshrc退出重新登陆即可看到彩色目录了。D、更新软件包采用Freebsd最好的地方就是安装软件方便,还可以装到最新的软件包,这就是强大的posts系统。如果你的系统在安装时没有选择posts,具休如何操作看BSD的handbook.CVSUP的站点很多,你可以选择离你最快的站点去更新posts,具体查看freebsd.org/freebsdchina.org.cn在使用cvsup之前你必须连接到互联网,并需要安装cvsup这个软件假如你的服务器在内网里,并通过DMZ进行IP映射,可以参考下面设置:sshd_enable=YESfsck_y_enable=YEShostname=mail.extmail.orgifconfig_rl0=inet192.168.1.1netmask255.255.255.0defaultrouter=192.168.1.1如果你使用的是ADSL拔号a、修改/etc/ppp/ppp.confdefault:setlogPhasetuncommand#youcanaddmoredetailedloggingifyouwishsetifaddr10.0.0.1/010.0.0.2/0adsl:setdevicePPPoE:vr0#将vr0改为你拔号的网卡setauthname你的ADSL帐号setauthkey你的ADSL密码setdialsetloginadddefaultHISADDRb、/etc/rc.conf内容inetd_enable=YESsshd_enable=YESfsck_y_enable=YEShostname=mail.extmail.orgifconfig_rl0=inet192.168.1.1netmask255.255.255.0ppp_enable=YES#YESorNOppp_mode=ddial#auto,ddial,directordedicated.ppp_nat=YES#ifyouwanttoenablenatforyourlocalnetwork,otherwiseNOppp_profile=adsl#/etc/ppp/ppp.confc、安装cvsup-without-gui%cd/usr/ports/net/cvsup-without-gui/%makeinstallcleand、更新ports安装完cvsup软件后,对ports进行更新%/usr/local/bin/cvsup-gL2-hcvsup4.freebsdchina.org/usr/share/examples/cvsup/ports-supfile三、安装数据库MySQLMySQL版本很多,大家可以据自己需要自行选择喜欢的版本安装。%cd/usr/ports/databases/mysql41-server/%makeinstallclean在/etc/rc.conf加入mysql_enable=YES复制配置文件(非必需)cp/usr/local/share/mysql/my-small.cnf/usr/local/etc/my.cnf在此说明:1、如果不在/etc/rc.conf加入以上内容,手工是无法启动MySQL的。2、如果你想知道这个软件应该在/etc/rc.conf加入什么内容,打开/usr/local/etc/rc.d目录,找到此软件的启动脚本。然后打开文件,如果有详细的说明。%/usr