¡¾·±ÌåÖÐÎÄ¡¿
¡¾ÉèΪÊ×Ò³¡¿
¡¾¼ÓÈëÊղء¿
µ±Ç°Î»Ö㺷þÎñÆ÷¼¼ÊõÊ×Ò³ >> Óʼþ·þÎñ >> ¼Ü¹¹»ùÓÚFreeBSDºÍPostfixµÄIGENUS WebmailÓʼþϵͳ1.

¼Ü¹¹»ùÓÚFreeBSDºÍPostfixµÄIGENUS WebmailÓʼþϵͳ1.

2004-11-15 08:00:00  ×÷Õߣº  À´Ô´£º»¥ÁªÍø  ä¯ÀÀ´ÎÊý£º0  ÎÄ×Ö´óС£º¡¾´ó¡¿¡¾ÖС¿¡¾Ð¡¡¿
¼ò½é£º×ªÔØ£¬À´Ô´£ºhttp://www.xuki.org/bbs/showthread.php?t=62 ¼Ü¹¹»ùÓÚFreeBSDºÍPostfixµÄIGENUS WebmailÓʼþϵͳ FreeBSD+Postfix+cyrus-sasl+Courier-imap+igenus+Clamav+amavisd-new ÑîÍ¢Ó Copyright © 2004¡¢...

×ªÔØ£¬À´Ô´£ºhttp://www.xuki.org/bbs/showthread.php?t=62

¼Ü¹¹»ùÓÚFreeBSDºÍPostfixµÄIGENUS WebmailÓʼþϵͳ

FreeBSD+Postfix+cyrus-sasl+Courier-imap+igenus+Clamav+amavisd-new

ÑîÍ¢ÓÂ

Copyright © 2004¡¢2005

±¾ÎĽéÉÜʹÓÃFreeBSD+Postfix+cyrus-sasl+Courier-imap+igenus+Clamav+amavisd-newÀ´¼Ü¹¹Ò»¸ö¾ßÓжàÓòÃû£¬ÓÐwebmai·À²¡¶¾ºÍÀ¬»øÓʼþ²¢ÓÐweb¹ÜÀí½çÃæµÄÓʼþϵͳ¡£

Jacky, $Revision: 1.05 bate $Date: 2005-4-20

ϵͳÖ÷Òª²ÉÓÃMySQL×öΪÈÏÖ¤Êý¾Ý¿â¡£

±¾ÎÄÔÚFreeBSD4.10ºÍ5.3Éϰ²×°²âÊÔͨ¹ý£¬µÇ¼ÈÏÖ¤·ÅÆú²ÉÓÃPAM·½Ê½¡£¿´Á˺ܶà×ÊÁÏ£¬µ«´ó¶à¶¼ÊÇʹÓÃPAM£¬²»Ã÷°×cyrus-sasl2-saslauthd¿ÉÒÔÓëMySQL¡¢PgSQL½øÐÐÈÏÖ¤ÁË£¬ÎªÊ²Ã´»¹ÔÚÓõÚÈý·½Èí¼þPAMÀ´ÊµÏÖÈÏ֤Ĩ£¿

ÄúÔÚÒÔ±¾ÎÄ×÷Ϊ¸ù¾ÝÅäÖõçÄÔµÄʱºò£¬Èô³öÏÖÈκιÊÕÏ£¬ºó¹û×Ô¸º£¬Óë±¾ÈËÎ޹ء£

________________________________________

Table of Contents

Chapter 1. ϵͳ°²×°

1.1 °²×°MySQL

1.2 °²×°Apache

1.3 °²×°PHP

1.4 °²×°openssl

1.5 °²×°phpMyAdmin

1.6 ͨ¹ýphpMyadminÉèÖÃÊý¾Ý¿â

1.7 °²×°cyrus-sasl2-saslauthd

1.8 °²×° postfix ºÍ cyrus-sasl

1.9 °²×°expect

1.10 °²×°Courier-imap

Chapter 2. ÅäÖÃÓʼþ·þÎñÆ÷

2.1 ÅäÖÃrc.conf

2.2 ÅäÖÃcyrus-sasl2-saslauthd

2.3 ÅäÖÃpostfix ºÍ cyrus-sasl

2.4 ÅäÖÃCourier-imap

Chapter 3. °²×°postfix¹ÜÀí¹¤¾ß

3.1°²×°±¾ÈË¿ª·¢µÄpostfix¹ÜÀí¹¤¾ß

3.2 Óû§µÇ¼²âÊÔ

Chapter 4. ·À²¡¶¾Óë·ÀÀ¬»øÓʼþ

4.1 °²×°Clamav

4.2 °²×°amavisd-new

4.3 °²×°ÅäÖÃSpamassassin

Chapter 5. °²×°webmail

Chapter 6. ²é¿´ÏµÍ³×´Ì¬

________________________________________

Chapter 1. ϵͳ°²×°

°²×°Ö®Ç°£ºÒòÓû§Êý¾Ý¶¼±£´æÔÚ/varĿ¼Ï£¬Òò´Ë°²×°FreeBSDʱ/varµÄ¿Õ¼äÓ¦¾¡Á¿´ó¡£FreeBSDµÄ°æ±¾Îª5.3£¬°´×îС»¯°²×°£¬Èí¼þ°üÖ»

°²×°cvsup£¬°²×°½áÊøºóÓÃcvsup¸üÐÂportsÊ÷¡£ÔÚÎĵµÖмÙÉè·þÎñÆ÷µÄipµØÖ·Îª192.168.0.2£¬ÓòÃûΪtoping.net£¬Ö÷»úÃû

Ϊmail.toping.net¡£

________________________________________

1.1 °²×°MySQL

mail# cd /usr/ports/databases/mysql323-server

mail# make install clean

±à¼­/etc/rc.conf£¬¼ÓÈë

mysql_enable="YES"

________________________________________

1.2 °²×°Apache

mail# cd /usr/ports/www/apache2

mail# make install clean

±à¼­/etc/rc.conf£¬¼ÓÈë

Apache2_enable="YES"

________________________________________

1.3 °²×°PHP

mail# cd /usr/ports/www/mod_php4

mail# make install clean

°²×°ÐèÒªµÄPHPÀ©Õ¹Ä£¿é

mail# cd /usr/ports/lang/php4-extensions

mail# make install clean

×¢£ºgettextÐèÑ¡ÖÐ

×îºóÔڱ༭/usr/local/etc/apache2/httpd.confÖмÓÈ룺

#php_mod4

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

________________________________________

1.4 °²×°openssl

mail# cd /usr/ports/security/openssl

mail# make install clean

________________________________________

1.5 °²×°phpMyAdmin

mail# cd /usr/ports/databases/phpmyadmin

mail# make install clean(ÔÚÕâÀィÒé¿ÉÒÔÑ¡ÔñËùÓеÄÑ¡Ïî)

°²×°×°ºóĬÈϵݲװĿ¼Ϊ£º/usr/loca

l/wwwÏÂÃæÄãÒª×öµÄ¾ÍÊÇÒÆµ½/usr/local/www/dataĿ¼ÏÂÃæ

mail# mv /usr/local/www/phpMyAdmin /usr/local/www/data/

ÐÞ¸Ä/usr/local/www/phpMyAdmin/config.inc.php

$cfg['PmaAbsoluteUri'] = 'http://192.168.0.2/phpMyAdmin/';

$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?

Ö¸¶¨phpmyadminµÄÈÏÖ¤·½Ê½Îªhttp·½Ê½¡£

ÔÚä¯ÀÀÆ÷ÊäÈëhttp://192.168. 0.2/phpMyAdmin/£¬Ê״νøÐеÇÈëµÄÓû§ÃûΪrootÃÜÂëΪ¿Õ£¬µÇÈëºó¿ÉÒÔÐÞ¸ÄÄãµÄÃÜÂë¡£

________________________________________

1.6 ͨ¹ýphpMyadminÉèÖÃÊý¾Ý¿â

½¨Á¢Á½¸öÊý¾Ý¿âÓû§

#======================postfix==================================

INSERT INTO user (host,user,password) VALUES('localhost','postfix','');

update user set password=password('admin123') where User='postfix';

FLUSH PRIVILEGES;

GRANT ALL ON mail.* TO postfix@localhost IDENTIFIED BY "admin123";

½¨Á¢Êý¾Ý¿â

#=======================MAIL.SQL=================================

CREATE TABLE domaininfo (

domain_id int(5) NOT NULL auto_increment,

domain varchar(25) NOT NULL default '',

alias varchar(30) default NULL,

passwd varchar(35) NOT NULL default '',

usernum int(5) NOT NULL default '0',

quota int(11) NOT NULL default '0',

des varchar(30) default NULL,

expire date NOT NULL default '0000-00-00',

active tinyint(1) NOT NULL default '1',

create_time datetime default NULL,

PRIMARY KEY (domain_id),

UNIQUE KEY domain (domain),

KEY domain_id (domain_id)

) TYPE=MyISAM COMMENT='domain information';

INSERT INTO domaininfo VALUES

(1,'admin',NULL,'$.j3.t12.$I7MGf7ZD2HrWwUWQF88Mg1',0,0,'Super

Admin','0000-00-00',1,'0000-00-00 00:00:00');

CREATE TABLE userinfo (

id int(11) NOT NULL auto_increment,

userid varchar(20) NOT NULL default '',

domain_id int(5) NOT NULL default '0',

address varchar(50) NOT NULL default '',

alias varchar(60) default NULL,

passwd varchar(35) NOT NULL default '',

realname varchar(20) default NULL,

quota int(11) NOT NULL default '0',

active tinyint(1) NOT NULL default '0',

homedir varchar(60) NOT NULL default '',

maildir varchar(60) NOT NULL default '',

create_time datetime NOT NULL default '0000-00-00 00:00:00',

PRIMARY KEY (id),

UNIQUE KEY address (address)

) TYPE=InnoDB COMMENT='User Information';

________________________________________

1.7 °²×°cyrus-sasl2-saslauthd

mail# cd /usr/ports/security/cyrus-sasl2

ÏÂÔØ¼ÓÃÜ¿ÚÁîÈÏÖ¤²¹¶¡£¬·ñÔòÖ»ÄÜÃ÷ÂëÈÏÖ¤

mail# fetch http://www.viperstrike.com/~lopaka/...e-sources/patch

mail# mv patch files/patch-lib::chkpw.c

mail# make -DWITH_MYSQL

-DWITH_DEV_URANDOM -DWITHOUT_OTP -DWITHOUT_CRAM -DWITHOUT_DIGEST -DWITHOUT_NTLM install clean

mail# cd /usr/ports/security/cyrus-sasl2-saslauthd

mail# make install clean

mail# ln -s /usr/local/lib/sasl2 /usr/lib/sasl2

1.8 °²×° postfix ºÍ cyrus-sasl

mail# cd /usr/ports/mail/postfix

mail# make install clean

Ñ¡ÔñÏÂÃæµÄÄÚÈÝ£º

[X] SASL2

[X] TLS

[X] MYSQL

»Ø´ðÏÂÃæµÄÁ½ÎÊÌ⣺

You need user "postfix" added to group "mail".

Would you like me to add it [y]? y

Would you like to activate Postfix in /etc/mail/mailer.conf [n]? n

mail# cd /usr/local/etc/rc.d

mail# ln -s /usr/local/sbin/sendmail /usr/sbin/sendmail

Èç¹û/usr/sbin/sendmail´æÔÚ¾ÍɾÁËÔÙ×öÉÏÁ´½Ó

mail# echo ¡®postfix: root¡¯ >> /etc/aliases

mail# /usr/local/bin/newaliases

mail# chown postfix:postfix /etc/opiekeys

1.9 °²×°expect

ÓÃÓÚWeb¿Í»§¶Ë½¨Á¢ÓʼþÓû§

mail# cd /usr/ports/lang/expect

mail# make install clean

1.10 °²×°Courier-imap

mail# cd /usr/ports/mail/courier-authlib

mail# make install clean

Ñ¡Ôñ

[X] MYSQL

[X] AUTHUSERDB

mail# cd /usr/ports/mail/courier-imap

mail# make WITHOUT_OPENSSL=yes WITH_MYSQL=yes install clean

Ñ¡Ôñ

[X] OPENSSL

[X] IPV6

mail# cd /usr/local/etc/courier-imap

mail# cp imapd.cnf.dist imapd.cnf

mail# cp pop3d.cnf.dist pop3d.cnf

________________________________________Chapter 2. ÅäÖÃÓʼþ·þÎñÆ÷

±¾½ÚÖ÷Òª½²Êö¸÷ÖÖ·þÎñµÄ²ÎÊýÅäÖá£

________________________________________

2.1 ÅäÖÃrc.conf£¬±à¼­/etc/rc.conf£¬¼ÓÈë

CODE

mysql_enable="YES"

apache2_enable="YES"

saslauthd_enable="YES"

sendmail_enable="YES"

sendmail_flags="-bd"

sendmail_pidfile="/var/spool/postfix/pid/master.pid"

sendmail_outbound_enable="NO"

sendmail_submit_enable="NO"

sendmail_msp_queue_enable="NO"

courier_authdaemond_enable="YES"

courier_imap_pop3d_enable="YES"

courier_imap_imapd_enable="YES"

amavisd_enable="YES"

2.2 ÅäÖÃcyrus-sasl2-saslauthd

(1)ÅäÖÃsaslµÄlib¿â

CODE

ÔÚ/etc/defaults/rc.confÎļþÀïµÄldconfig_paths="/usr/local/libºóÃæ¼ÓÉÏ/usr/local/lib/sasl2"

(2)´´½¨/usr/lib/sasl2/Sendmail.conf

CODE

pwcheck_method: saslauthd auxprop

auxprop_plugin: sql

sql_engine: mysql

mech_list: PLAIN LOGIN

sql_hostnames: localhost

sql_user: postfix

sql_passwd: postfix

sql_database: postfix

s

ql_select: select passwd from userinfo where address='%u@%r'

(3)½¨Á¢smtpd.confÁ¬½Ó

mail# ln -s /usr/lib/sasl2/Sendmail.conf /usr/lib/sasl2/smtpd.conf

(4)±à¼­/usr/local/etc/rc.d/saslauthd.sh

CODE

command="$/sbin/$ -r"

2.3 ÅäÖÃpostfix ºÍ cyrus-sasl

(1)´´½¨/etc/periodic.conf

CODE

daily_clean_hoststat_enable="NO"

daily_status_mail_rejects_enable="NO"

daily_status_include_submit_mailq="NO"

daily_submit_queuerun="NO"

(2)ÐÞ¸Ä/usr/local/etc/postfix/main.cf£¬ÔÚÎļþ×îºó¼ÓÈëÒÔÏÂÄÚÈÝ

CODE

#======= BASE ==============

myhostname = mail.toping.net

mydomain = toping.net

#home_mailbox = Maildir/

mydestination = $myhostname

local_recipient_maps =

#mailbox_command= /usr/local/bin/deliverquota -w 90 ~/Maildir

command_directory = /usr/local/sbin

#======= MYSQL =============

virtual_mailbox_domains = mysql:/usr/local/etc/postfix/transport.cf

virtual_gid_maps = static:125

virtual_mailbox_base = /

virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql_virtual.cf

virtual_maps = mysql:/usr/local/etc/postfix/mysql.aliases.cf

virtual_uid_maps = static:125

#======= Quota ============

message_size_limit = 5242880¡¡¡¡//ÏÞÖÆÃ¿´Î·¢ÓʼþµÄ´óС5MB£¨Ç뽫´Ë×¢½âɾ³ý£©

virtual_mailbox_limit_inbox = no

virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mailboxsize-mysql.cf

virtual_mailbox_limit_override = yes

virtual_maildir_extended = yes

virtual_create_maildirsize = yes

virtual_mailbox_limit = 52428800¡¡¡¡//×ÜÓÊÏäµÄ´óС50MB£¨Ç뽫´Ë×¢½âɾ³ý£©

#====== SASL ================

smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous

broken_sasl_auth_clients = yes

smtpd_recipient_restrictions = permit_sasl_authenticated permit_auth_destination reject

#smtpd_sasl_local_domain = $mydomain

smtpd_client_restrictions = permit_sasl_authenticated

(3)È·ÈÏ/usr/local/etc/postfix/master.cfµÄÅäÖÃÓÐÈçÏÂÄÚÈÝ

CODE

virtual unix - n n - - virtual

(4)±à¼­/usr/local/etc/postfix/transport.cf

CODE

user = postfix

password = postfix

dbname = postfix

table = domaininfo

#select_field = alias

select_field = domain

where_field = domain

hosts = localhost

(5)±à¼­/usr/local/etc/postfix/gids.cf

CODE

user = postfix

password= postfix

dbname = postfix

table = userinfo

select_field = domain_id

where_field = id

hosts = localhost

(6)±à¼­/usr/local/etc/postfix/uids.cf

CODE

user = postfix

password= postfix

dbname = postfix

table = userinfo

select_field = userid

where_field = id

hosts = localhost

(7)±à¼­/usr/local/etc/postfix/mysql_virtual.cf

CODE

user = postfix

password= postfix

dbname = postfix

table = userinfo

select_field = maildir

#where_field = id

where_field = address

hosts = localhost

(8)±à¼­/usr/local/etc/postfix/mysql.aliases.cf

CODE

user = postfix

password= postfix

dbname = postfix

table = domaininfo

select_field = domain

where_field = domain_id

hosts = localhost

(9)±à¼­/usr/local/etc/postfix/mailboxsize-mysql.cf

CODE

user = postfix

password = postfix

dbname = postfix

table = userinfo

select_field = quota

where_field = id

hosts = localhost

2.4 ÅäÖÃCourier-imap

(1)ÐÞ¸ÄCourierÏà¹ØÉèÖã¬/usr/local/etc/courier-imap/imapd:

CODE

IMAP_CAPABILITY="IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT AUTH=CRAM-MD5 AUTH=CRAM-SHA1 IDLE"

(2)ÐÞ¸Ä/usr/local/etc/courier-imap/pop3d

CODE

POP3AUTH="LOGIN CRAM-MD5 CRAM-SHA1"

(3)±à¼­ÐÞ¸Ä/usr/local/etc/authlib/authmysqlrc ʾÀý£ºauthmysqlrc

CODE

MYSQL_SERVERlocalhost

MYSQL_USERNAMEpostfix

MYSQL_PASSWORDpostfix

MYSQL_PORT0

MYSQL_OPT0

MYSQL_DATABASEpostfix

MYSQL_USER_TABLEuserinfo

MYSQL_CRYPT_PWFIELDpasswd

MYSQL_UID_FIELD'125'

MYSQL_GID_FIELD'125'

MYSQL_LOGIN_FIELDaddress

MYSQL_HOME_FIELDhomedir

MYSQL_NAME_FIELDrealname

MYSQL_MAILDIR_FIELDmaildir

MYSQL_QUOTA_FIELDquota

(4)±à¼­/usr/local/etc/authlib/authdaemonrc

CODE

authmodulelist="authmysql authpam authuserdb"

authmodulelistorig="authmysql authpam authuserdb"

version="authdaemond.mysql"

ÖØÆô·þÎñÆ÷

________________________________________

Chapter 3.°²×°postfix¹ÜÀí¹¤¾ß

±¾½ÚÖ÷Òª½éÉÜÈçºÎ°²×°ºÍʹÓñ¾ÈË¿ª·¢µÄpostfix¹ÜÀí¹¤¾ß¡£

________________________________________

3.1°²×°±¾ÈË¿ª·¢µÄpostfix¹ÜÀí¹¤¾ßÀ´ÉèÖõÚÒ»¸öÓòÃûºÍÓû§

ÏÂÔØ±¾Õ¾¿ª·¢µÄpostfix¹ÜÀí¹¤¾ß

ÉÔºó·¢²¼ºÍÖÆ×÷°²×°Îĵµ¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£

3.2 Óû§µÇ¼²âÊÔ

Óû§µÇ¼²âÊÔ

°²×°p5-MIME-Base64

mail# cd /usr/ports/converters/p5-MIME-Base64/

mail# make install clean

ͨ¹ýp5-MIME-Base64À´È¡µÃÓû§ÃûºÍÃÜÂëµÄbase64±àÂë

mail# perl -MMIME::Base64 -e 'print encode_base64("webmaster\@toping.net");'

d2VibWFzdGVyQHRvcGluZy5uZXQ=

mail# perl -MMIME::Base64 -e 'print encode_base64("000000");'

MDAwMDAw

·¢ËÍÓʼþ£º

mail# telnet 127.0.0.1 25

Trying 127.0.0.1...

Connected to 0.

Escape character is '^]'.

220 mail.toping.net ESMTP Postfix

ehlo mail

250-mail.toping.net

250-PIPELINING

250-SIZE 4194304

250-VRFY

250-ETRN

250-AUTH NTLM LOGIN PLAIN OTP

250-AUTH=NTLM LOGIN PLAIN OTP

250 8BITMIME

auth login

334 VXNlcm5hbWU6

d2VibWFzdGVyQHRvcGluZy5uZXQ=//´ËΪÓû§Ãûid£ºwebmaster@toping.net

334 UGFzc3dvcmQ6

MDAwMDAw//´ËΪÓû§ÃÜÂëpassword£º000000

235 Authentication successful

MAIL FROM:webmaster@toping.net//¸æËß·þÎñÆ÷·¢¼þÈ˵ÄEmailµØÖ·

250 Ok

RCPT TO:webmaster@toping.net//¸æËß·þÎñÆ÷ÊÕ¼þÈ˵ĵØÖ·

250 OK

DATA//¸æËß·þÎñÆ÷¿ªÊ¼Ð´ÐÅ

354 End data with .

SUBJECT:test//subjectºóÃæÌîдµÄÊÇÓʼþµÄÖ÷Ìâ

test

.//»»ÐкóÊäÈë.ºó°´»Ø³µ,±íʾÐżþÄÚÈÝÊéдÍê±Ï

250 Ok: queued as 58DC71D5

quit//·¢ËÍÐżþ£¬½áÊø¶Ô»°£¬Í˳öSMTP·þÎñÆ÷

221 Bye

Connection closed by foreign host

ÊÕÈ¡Óʼþ£º

mail# telnet 127.0.0.1 110

Trying 127.0.0.1...

Connected to 0

Escape character is '^]'

+OK Hello there

user webmaster@toping.net m

+OK Password required

pass 000000

+OK logged in

list

+OK POP3 clients that break here, they violate STD53

1 2217

.

retr 1//·µ»ØµÚÒ»·âÐŵÄÈ«²¿ÄÚÈÝ

+OK 2217 octets follow.

Return-Path:

X-Original-To: webmaster@toping.net

Delivered-To: webmaster@toping.net

Received: from mail (localhost.toping.net [127.0.0.1])

by mail.toping.net (Postfix) with ESMTP id 58DC71D5

for ; Mon, 9 Aug 2004 21:11:20 +0800 (CST)

SUBJECT:test

Message-Id: <20040809131120.58DC71D5@mail.toping.net>

Date: Mon, 9 Aug 2004 21:11:20 +0800 (CST)

From: webmaster@toping.net

To: undisclosed-recipients:;

test

.

dele 1//ɾ³ý

+OK Deleted

quit

+OK Bye-bye

Connection closed by foreign host

Ò²¿ÉÒÔʹÓÃÈÎºÎÆäËüµÄÓʼþ¿Í»§¶Ë³ÌÐòÀ´²âÊÔ£¬Èçfoxmail¡¢Outlook ExpressµÈµÈ¡£

________________________________________

Chapter 4. ·À²¡¶¾Óë·ÀÀ¬»øÓʼþ

±¾Õ½éÉܲ¡¶¾ÓëÀ¬»øÓʼþµÄ·À·¶¡£

________________________________________

4.1 °²×°Clamav

mail# cd /usr/ports/security/clamav

mail# make install clean

×¢£ºMILTER²»ÓÃÑ¡ÖÐ

ÖØÆô·þÎñÆ÷

²âÊÔ

mail# clamscan -r -i /usr/local/www/data

----------- SCAN SUMMARY -----------

Known viruses: 32358

Scanned directories: 47

Scanned files: 866

Infected files: 0

Data scanned: 10.32 MB

I/O buffer size: 131072 bytes

Time: 41.750 sec (0 m 41 s)

Éý¼¶²¡¶¾¿â

mail# freshclam

ClamAV update process started at Mon Apr 4 10:52:27 2005

main.cvd is up to date (version: 30, sigs: 31086, f-level: 4, builder: tkojm)

daily.cvd is up to date (version: 804, sigs: 1381, f-level: 4, builder: arnaud)

________________________________________

4.2 °²×°amavisd-new

°æ±¾20040701¡£

mail# cd /usr/ports/security/amavisd-new

mail# make install clean

Ñ¡ÖÐMySQL

±à¼­/etc/rc.conf£¬¼ÓÈë

amavisd_enable="YES"

ÐÞ¸Ä/usr/local/etc/amavisd.Conf

$mydomain = 'example.com';¸Ä³É$mydomain = 'toping.net ';

#$notify_method = 'smtp:[127.0.0.1]:10025';

#$forward_method = 'smtp:[127.0.0.1]:10025';

µÄ×¢ÊÍÈ¥µô

ÐÞ¸Ä/usr/local/etc/postfix/master.cf£¬×îºó¼ÓÈë

##########################3amavis######################################

smtp-amavis unix - - y - 2 smtp -o smtp_data_done_timeout=1200

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 smtpd_recipient_restrictions=permit_mynetworks,reject

-o mynetworks=127.0.0.0/8

-o strict_rfc821_envelopes=yes

-o smtpd_error_sleep_time=0

-o smtpd_soft_error_limit=1001

-o smtpd_hard_error_limit=1000

ÖØÆô·þÎñÆ÷

________________________________________

4.3 °²×°ÅäÖÃSpamassassin

ÔÚеÄAMaVisd-newÒѾ­½áºÏÁËSpamassassin¹¦ÄÜ£¬ËùÒÔÖ»ÒªÓà ports°²×°ÁË AMaVisd-new£¬ÄÇSpamassassin Ò²ÒѾ­°²×°ºÃÁË¡£

Ìí¼ÓÐèÒªµÄÓû§

mail# pw useradd spam -c "Spam Bayes Learner" -d /var/empty -s /sbin/nologin

mail# pw useradd notspam -c "Not Spam Bayes Learner" -d /var/empty -s /sbin/nologin

ÐÞ¸Ä/usr/local/etc/mail/spamassassin/local.cf

use_bayes 1

bayes_path /var/amavis/.spamassassin/bayes

auto_learn 1

auto_learn_threshold_nonspam -2

auto_learn_threshold_spam 15

ÐÞ¸Ä/usr/local/etc/amavisd.conf£¬ÔÚ$mydomain = 'toping.net';Ò»¶ÎÏÂÃæÔö¼Ó

$max_requests = 10;

$child_timeout=5*60;

@bypass_virus_checks_acl = qw( . );

@local_domains_acl = ( ".$mydomain" );

$final_spam_destiny = D_PASS;

read_hash(\%whitelist_sender, '/var/amavis/whitelist');

read_hash(\%blacklist_sender, '/var/amavis/blacklist');

read_hash(\%spam_lovers, '/var/amavis/spam_lovers');

½¨Á¢ËùÐèÒªµÄÎļþ

mail# touch /var/amavis/whitelist

mail# touch /var/amavis/blacklist

mail# touch /var/amavis/spam_lovers

mail# chown vscan /var/amavis/whitelist

mail# chown vscan /var/amavis/blacklist

mail# chown vscan /var/amavis/spam_lovers

mail# echo spam@toping.net >> /var/amavis/spam_lovers

mail# echo notspam@toping.ne >> /var/amavis/spam_lovers

ÐÞ¸Ä/usr/local/etc/postfix/main.cf£¬Ìí¼Ó

content_filter = smtp-amavis:[127.0.0.1]:10024

½¨Á¢×Ô¶¯Ñ§Ï°Ìåϵ

mail# vi /usr/local/sbin/my-sa-learn.sh

#!/bin/sh

if [ -e /var/mail/spam ]; then

/usr/local/bin/sa-learn --spam -p /var/amavis/.spamassassin/user_prefs --mbox /var/mail/spam

rm /var/mail/spam > /dev/null

fi

if [ -e /var/mail/notspam ]; then

/usr/local/bin/sa-learn --ham -p /var/amavis/.spamassassin/user_prefs --mbox /var/mail/notspam

rm /va/mail/notspam > /dev/null

fi

mail# chmod a+x /usr/local/sbin/my-sa-learn.sh

½¨Á¢Ñ§Ï°ÖªÊ¶¿â£º

mail# /usr/local/bin/sa-learn --sync -p /var/amavis/.spamassassin/user_prefs

¼ÓÈë×Ô¶¯ÔËÐУº

mail# crontab -e

5 0 * * * /usr/local/sbin/my-sa-learn.sh

ÖØÆô·þÎñÆ÷

²âÊÔ

mail# su - vscan

mail# /usr/local/sbin/amavisd debug

Æô¶¯ÁíÒ»¸öÖÕ¶Ë£º

mail# telnet 127.0.0.1 10024

Trying 127.0.0.1...

Connected to localhost.toping.net.

Escape character is '^]'.

220 [127.0.0.1] ESMTP amavisd-new service ready

MAIL FROM:

250 2.1.0 Sender webmaster@toping.net OK

RCPT TO:

250 2.1.5 Recipient webmaster@toping.net OK

DATA

354 End data with .

Subject: test

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

.

250 2.7.1 Ok, discarded, id=00228-01 - VIRUS: Eicar-Test-Signature

//³öÏÖÕâÒ»ÐбíʾϵͳÒѾ­ÈϳöÕâ¸öÓʼþÖк¬ÓÐ Virus

quit

________________________________________

Chapter 5. °²×°webmail

ÈçºÎʹÓñ¾ÈËÐ޸ĵÄiGENUS webmail 2.0.2 release

________________________________________

webmailʹÓÃigenus£¬°æ±¾ÊÇiGENUS webmail 2.0.2 release

½¨ÒéÏÂÔØ±¾ÈËÐ޸ĵÄiGENUS webmail 2.0.2 release

ÏÂÔØigenusµ½/usr/local/www/data/Ŀ¼ºó½âѹ

°²×°Îĵµ²Î¿¼¹Ù·½ÍøÕ¾¡£

°²×°autorespond¡£

mail# cd /usr/ports/mail/autorespond

mail# make install clean

ÐÞ¸Ä/usr/local/etc/

apache/httpd.conf

Group www¡¢User wwwÐÞ¸ÄΪ£º Group postfix¡¢User postfix

mail# cd /usr/local/www/data

mail# chown -R postfix:postfix phpMyAdmin

mail# cd /usr/local/etc

mail# cp php.ini-dist php.ini

ÐÞ¸Ä/usr/local/etc/php.ini

register_globals = On

max_execution_time = 30//¸ÄΪ60 (Ôö¼Ó´¦Àí½Å±¾µÄʱ¼äÏÞÖÆ)

memory_limit = 8M//¸ÄΪ40M (ÕâÑù²ÅÄÜ·¢10MµÄ¸½¼þ)

post_max_size = 8M//¸ÄΪ10M

upload_max_filesize = 2M//¸ÄΪ10M

ÖØÆôapache

mail# /usr/local/etc/rc.d/apache.sh restart

________________________________________

Chapter 6. ²é¿´ÏµÍ³×´Ì¬

±¾½ÚÖ÷Òª½²ÊöphpSysInfo¹¤¾ßµÄ°²×°ºÍÅäÖÃ

________________________________________

°²×°phpSysInfo(2.2)

mail# cd /usr/ports/www/phpSysInfo

mail# make install clean

mail# cd /usr/local/www/data-dist/phpSysInfo

mail# cp config.php.new config.php

Ïà¹ØÍøÖ·£º

http://:www.toping.net/bbs ÕýÔÚ½¨ÉèÖÐ........

http://osul.3322.org

http://www.xuki.or

ÔðÈα༭£ºadmin
±¾ÎÄÒýÓõØÖ·£º http://www.3pcode.com/server/2004/11/12509.htm
Ïà¹ØÎÄÕÂ