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