×ªÔØ£¬À´Ô´£º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
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

