欢迎来到福编程网,本站提供各种互联网专业知识!

FreeBSD5.2.1上建立功能完整的邮件服务器(POSTFIX)

发布时间:1970-01-01 作者:佚名 来源:互联网
1.更新ports#cvsup-gL2-hcvsup.freebsdchina.org/usr/share/examples/cvsup/ports-supfile2.安装openssl+apache服务器#cd/usr/ports/security/openssl#makeinstall#makeclean#cd/usr/ports/www/apache2#makein

1.更新 ports

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

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="/var/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

添加:

myhostname = nero.3322.org

mydomain = nero.3322.org

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

下面我加入一个 nero.3322.org 的虚拟域,并添加一个用户llzqq

# vi /usr/local/etc/postfix/virtual

添加:

nero.3322.organything //之间用[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/openwebmail/etc/sites.conf/nero.3322.org

=========================== nero.3322.org =======================

auth_module auth_vdomain.pl

auth_withdomain yes

mailspooldir /var/spool/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_pwdpath /usr/local/etc/virtual

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

# quota设置部分

quota_module quota_du.pl

quota_limit 52400 //定义了邮箱大小

quota_threshold 85

delmail_ifquotahit no

delfile_ifquotahit no

=========================== nero.3322.org =======================

# mkdir -p /var/spool/virtual/nero.3322.org

# chown nobody /var/spool/virtual/nero.3322.org

# chgrp mail /var/spool/virtual/nero.3322.org

# mkdir -p /usr/local/etc/virtual/nero.3322.org

# touch /usr/local/etc/virtual/nero.3322.org/passwd

# chmod 644 /usr/local/etc/virtual/nero.3322.org/passwd

# htpasswd /usr/local/etc/virtual/nero.3322.org/passwd llzqq

# chmod 755 /usr/local/www/cgi-bin/openwebmail/etc/users

# sync

# reboot

8. 最后通过浏览器登陆到OPENWEBMAIL

http://nero.3322.org/cgi-bin/openwebmail/openwebmail.pl

第二部分:防病毒、垃圾邮件:clamav+amavisd-new+spam

欢迎大家转贴这个文章,但要保留下面的版权信息:

作者:llzqq

出处:www.chinaunix.net

联系:llzqq@126.com

1.0 安装clamav:

# cd /usr/ports/security/clamav

# make install

# make clean

# vi /usr/local/etc/clamav.conf

===============================clamav.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/amavis'; # (default is '/var/amavis')

$mydomain = 'nero.3322.org'; # (no useful default)

$daemon_user= 'vscan'; # (no default;customary: vscan or amavis)

$daemon_group = 'vscan'; # (no default;customary: vscan or amavis)

$log_level = 0;

$sa_spam_subject_tag = '***SPAM***'

$virus_admin = "root@$mydomain";

$spam_admin = "llzqq@$mydomain";

$mailfrom_notify_admin = "llzqq@$mydomain";

$mailfrom_notify_recip = "llzqq@$mydomain";

$mailfrom_notify_spamadmin = "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, ["CONTSCAN {}n", '/tmp/clamd'],

qr/bOK$/, qr/bFOUND$/,

qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],

============================== amavisd.conf ===============================

2.1 要启动clamav和amavisd-new需要配置一下/etc/rc.conf

# vi /etc/rc.conf

spamd_enable="YES"

amavisd_enable="YES

clamav_clamd_enable="YES"

3.0 由于在安装amavisd-new时spamassassin被一起安装了下面对其进行配置

3.1 建立过滤规则:

# cd /usr/local/etc/mail/spamassassin

# env LANG=C vi local.cf

=============================== local.cf ===============================

# SpamAssassin config file for version x.xx

# generated by http://www.yrex.com/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 these 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 foreign 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 - 2smtp

-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:[127.0.0.1]:10024

好了,现在一个基于FreeBSD的功能相对完整的邮件服务器就建立起来了,虚拟域的管理员可以登陆OPENWEBMAIL进行用户的添加、删除等操作,虚拟用户可以通过OPENWEBMAIL修改自己的密码。

相关推荐