FreeBSD5.2.1上建立功能完整的邮件服务器(POSTFIX)
<p>1.更新 ports<br /><br />
# cvsup -gL 2 -h cvsup.freebsdchina.org /usr/share/examples/cvsup/ports-supfile <br />
<br />
<br />
2. <a target="_blank" href="#" class="UBBWordLink">安装</a> openssl+apache <a target="_blank" href="#" class="UBBWordLink">服务</a>器 <br />
<br />
# cd /usr/ports/security/openssl<br />
# make install<br />
# make clean<br />
# cd /usr/ports/www/apache2<br />
# make install <br />
# make clean <br />
# vi /etc/rc.conf<br />
<br />
apache2_enable="YES"<br />
<br />
<br />
3. <a target="_blank" href="#" class="UBBWordLink">安装</a> openwebmail <br />
<br />
# cd /usr/ports/mail/openwebmail/ <br />
# make WITH_QUOTA=yes install<br />
# make clean <br />
<br />
<br />
4. <a target="_blank" href="#" class="UBBWordLink">安装</a> postfix ,在<a target="_blank" href="#" class="UBBWordLink">安装</a>过程中用yes回答提出的问题<br />
<br />
# cd /usr/ports/mail/postfix/ <br />
# make install<br />
# make clean <br />
<br />
# vi /etc/rc.conf<br />
<br />
为了能启动postfix加入: <br />
<br />
sendmail_enable="YES" <br />
sendmail_flags="-bd" <br />
sendmail_pidfile="/var/spool/postfix/pid/master.pid" <br />
sendmail_outbound_enable="NO" <br />
sendmail_submit_enable="NO" <br />
<br />
<br />
5. <a target="_blank" href="#" class="UBBWordLink">安装</a> vm-pop3d <br />
<br />
# cd /usr/ports/mail/vm-pop3d <br />
# make install <br />
# make clean <br />
<br />
<br />
6. 配置 postfix <br />
<br />
# vi /usr/local/etc/postfix/main.cf <br />
<br />
添加:<br />
<br />
myhostname = nero.3322.org<br />
mydomain = nero.3322.org<br />
virtual_alias_maps=hash:/usr/local/etc/postfix/virtual <br />
alias_maps=hash:/usr/local/etc/postfix/aliases <br />
default_privs=nobody <br />
allow_mail_to_commands = alias,forward,include <br />
allow_mail_to_files = alias,forward,include <br />
<br />
<br />
下面我加入一个 nero.3322.org 的虚拟域,并添加一个用户llzqq<br />
# vi /usr/local/etc/postfix/virtual <br />
<br />
添加: <br />
<br />
nero.3322.org anything //之间用<br />
llzqq@nero.3322.org llzqq.nero.3322.org //之间用 <br />
<br />
执行下面的命令,生成 virtual.db: <br />
<br />
# cd /usr/local/etc/postfix/<br />
# postmap virtual<br />
<br />
# vi /usr/local/etc/postfix/aliases<br />
<br />
添加: <br />
<br />
llzqq.nero.3322.org:/var/spool/virtual/nero.3322.org/llzqq<br />
<br />
执行下面的命令,生成 aliases.db: <br />
<br />
# cd /usr/local/etc/postfix<br />
# postalias aliases<br />
<br />
<br />
<br />
7. 配置 vm-pop3d 使其开机自动执行 <br />
<br />
# cd /usr/local/etc/rc.d<br />
# mv vm-pop3d.sh.sample vm-pop3d.sh<br />
<br />
配置 openwebmail 支持 nero.3322.org 域,创建下面的文件:<br />
<br />
# vi /usr/local/www/cgi-bin/openwebmail/etc/sites.conf/nero.3322.org <br />
<br />
=========================== nero.3322.org =======================<br />
auth_module auth_vdomain.pl<br />
auth_withdomain yes <br />
mailspooldir /var/spool/virtual/nero.3322.org<br />
use_syshomedir no <br />
use_homedirspools no <br />
enable_autoreply no <br />
enable_setforward no <br />
enable_vdomain yes <br />
vdomain_admlist llzqq //这里<a target="_blank" href="#" class="UBBWordLink">设置</a>了这个域的管理员<br />
vdomain_maxuser 500 <br />
vdomain_vmpop3_pwdpath /usr/local/etc/virtual<br />
vdomain_vmpop3_pwdname passwd <br />
vdomain_vmpop3_mailpath /var/spool/virtual <br />
vdomain_postfix_aliases /usr/local/etc/postfix/aliases <br />
vdomain_postfix_virtual /usr/local/etc/postfix/virtual <br />
vdomain_postfix_postalias /usr/local/sbin/postalias <br />
vdomain_postfix_postmap /usr/local/sbin/postmap <br />
# quota设置部分<br />
quota_module quota_du.pl<br />
quota_limit 52400 //定义了邮箱大小<br />
quota_threshold 85 <br />
delmail_ifquotahit no <br />
delfile_ifquotahit no<br />
=========================== nero.3322.org =======================<br />
<br />
# mkdir -p /var/spool/virtual/nero.3322.org <br />
# chown nobody /var/spool/virtual/nero.3322.org <br />
# chgrp mail /var/spool/virtual/nero.3322.org <br />
<br />
# mkdir -p /usr/local/etc/virtual/nero.3322.org <br />
# touch /usr/local/etc/virtual/nero.3322.org/passwd <br />
# chmod 644 /usr/local/etc/virtual/nero.3322.org/passwd <br />
<br />
# htpasswd /usr/local/etc/virtual/nero.3322.org/passwd llzqq<br />
# chmod 755 /usr/local/www/cgi-bin/openwebmail/etc/users <br />
<br />
# sync<br />
# reboot<br />
<br />
8. 最后通过浏览器登陆到OPENWEBMAIL<br />
<br />
http://nero.3322.org/cgi-bin/openwebmail/openwebmail.pl</p>
第二部分:防病毒、垃圾邮件:clamav+amavisd-new+spam<br />
<br />
欢迎大家转贴这个文章,但要保留下面的版权信息:<br />
<br />
作者:llzqq<br />
出处:www.chinaunix.net<br />
联系:llzqq@126.com<br />
<br />
1.0 <a target="_blank" href="#" class="UBBWordLink">安装</a>clamav:<br />
<br />
# cd /usr/ports/security/clamav<br />
# make install<br />
# make clean<br />
<br />
# vi /usr/local/etc/clamav.conf <br />
===============================clamav.conf============================<br />
# Comment or remove the line below.<br />
# Example<br />
LogFile /var/log/clamav/clamd.log<br />
LogFileMaxSize 1M<br />
LogTime<br />
LogVerbose<br />
PidFile /var/run/clamav/clamd.pid<br />
DataDirectory /usr/local/share/clamav<br />
LocalSocket /tmp/clamd<br />
StreamMaxLength 10M<br />
MaxThreads 10<br />
MaxDirectoryRecursion 15<br />
User clamav<br />
ScanMail<br />
ScanArchive<br />
ScanRAR<br />
ArchiveMaxFileSize 10M<br />
ArchiveMaxRecursion 5<br />
ArchiveMaxFiles 1000<br />
ClamukoScanOnOpen<br />
ClamukoScanOnClose<br />
ClamukoScanOnExec<br />
ClamukoIncludePath /var/spool/virtual<br />
ClamukoMaxFileSize 6M<br />
ClamukoScanArchive<br />
===============================clamav.conf============================<br />
<br />
1.1 更新病毒库<br />
<br />
# /usr/local/etc/rc.d/clamav-freshclam.sh start<br />
<br />
2.0 <a target="_blank" href="#" class="UBBWordLink">安装</a>amavisd-new<br />
<br />
# cd /usr/ports/security/amavisd-new<br />
# make install<br />
# make clean<br />
<br />
# cd /usr/local/etc<br />
# mv amavisd.conf-dist amavisd.conf<br />
# vi amavisd.conf<br />
============================== amavisd.conf ===============================<br />
$MYHOME = '/var/amavis'; # (default is '/var/amavis')<br />
$mydomain = 'nero.3322.org'; # (no useful default)<br />
$daemon_user = 'vscan'; # (no default; customary: vscan or amavis)<br />
$daemon_group = 'vscan'; # (no default; customary: vscan or amavis)<br />
<br />
$log_level = 0; <br />
<br />
$sa_spam_subject_tag = '***SPAM***'<br />
<br />
$virus_admin = "root\@$mydomain";<br />
$spam_admin = "llzqq\@$mydomain";<br />
$mailfrom_notify_admin = "llzqq\@$mydomain";<br />
$mailfrom_notify_recip = "llzqq\@$mydomain";<br />
$mailfrom_notify_spamadmin = "llzqq\@$mydomain";<br />
<br />
$inet_socket_bind = '127.0.0.1';<br />
$forward_method = 'smtp:127.0.0.1:10025';<br />
$notify_method = $forward_method; <br />
$inet_socket_port = 10024; <br />
$max_servers = 2;<br />
<br />
['Clam Antivirus-clamd',<br />
\&ask_daemon, ["CONTSCAN {}\n", '/tmp/clamd'],<br />
qr/\bOK$/, qr/\bFOUND$/,<br />
qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],<br />
============================== amavisd.conf ===============================<br />
<br />
2.1 要启动clamav和amavisd-new需要配置一下/etc/rc.conf<br />
<br />
# vi /etc/rc.conf<br />
<br />
spamd_enable="YES"<br />
amavisd_enable="YES<br />
clamav_clamd_enable="YES"<br />
<br />
<br />
3.0 由于在<a target="_blank" href="#" class="UBBWordLink">安装</a>amavisd-new时spamassassin被一起<a target="_blank" href="#" class="UBBWordLink">安装</a>了下面对其进行配置<br />
<br />
3.1 建立过滤规则:<br />
<br />
# cd /usr/local/etc/mail/spamassassin<br />
# env LANG=C vi local.cf<br />
=============================== local.cf ===============================<br />
# SpamAssassin config file for version x.xx<br />
# generated by http://www.yrex.com/spam/spamconfig.php (version 1.01)<br />
<br />
# How many hits before a message is considered spam.<br />
required_hits 4.0<br />
<br />
# Whether to change the subject of suspected spam<br />
rewrite_subject 1<br />
<br />
# Text to prepend to subject if rewrite_subject is used<br />
subject_tag *****SPAM*****<br />
<br />
# Encapsulate spam in an attachment<br />
report_safe 1<br />
<br />
# Use terse version of the spam report<br />
use_terse_report 0<br />
<br />
# Enable the Bayes system<br />
use_bayes 1<br />
<br />
# Enable Bayes auto-learning<br />
auto_learn 1<br />
<br />
# Enable or disable network checks<br />
skip_rbl_checks 1<br />
use_razor2 0<br />
use_dcc 0<br />
use_pyzor 0<br />
<br />
# Mail using languages used in these country codes will not be marked<br />
# as being possibly spam in a foreign language.<br />
# - chinese english <br />
ok_languages zh en <br />
<br />
# Mail using locales used in these country codes will not be marked<br />
# as being possibly spam in a foreign language.<br />
ok_locales en zh<br />
score SUBJ_FULL_OF_8BITS 2<br />
score NO_REAL_NAME 4.0<br />
=============================== local.cf ===============================<br />
<br />
3.2 下载新的垃圾邮件地址列表文件<br />
<br />
# cd /usr/local/share/spamassassin<br />
# fetch http://anti-spam.org.cn/rules/sa/55_diy_score.cf<br />
<br />
<br />
4.0 对POSFIX进行配置,在他的配置文件中添加下面的一些内容<br />
<br />
# vi /usr/local/etc/postfix/master.cf<br />
<br />
---------------------- master.cf ---------------------<br />
smtp-amavis unix - - n - 2 smtp<br />
-o smtp_data_done_timeout=1200<br />
-o disable_dns_lookups=yes<br />
<br />
127.0.0.1:10025 inet n - n - - smtpd<br />
-o content_filter=<br />
-o local_recipient_maps=<br />
-o relay_recipient_maps=<br />
-o smtpd_restriction_classes=<br />
-o smtpd_client_restrictions=<br />
-o smtpd_helo_restrictions=<br />
-o smtpd_sender_restrictions=<br />
-o mynetworks=127.0.0.0/8<br />
---------------------- master.cf ---------------------<br />
<br />
# vi /usr/local/etc/postfix/main.cf<br />
<br />
content_filter = smtp-amavis::10024<br />
<br />
好了,现在一个基于FreeBSD的功能相对完整的邮件<a target="_blank" href="#" class="UBBWordLink">服务</a>器就建立起来了,虚拟域的管理员可以登陆OPENWEBMAIL进行用户的添加、删除等<a target="_blank" href="#" class="UBBWordLink">操作</a>,虚拟用户可以通过OPENWEBMAIL修改自己的密码。
頁:
[1]