使用Postfix构建基于FreeBSD的邮件系统
2006-6-23
作者:Firebat QQ:7199023 MSN:firebat0@msn.com 本文简单介绍了基于FreeBSD的电子邮件系统的一种实现方法,使用postfix+sasl2+courier-imap+mysql +amavisd+spamd+clamav构建电子邮件系统后台和验证系统,使用apache+php+postfixadmin+squirrelmail构建webmail。整个系统建成后能够提供smtp/pop3/imap/webmail服务,并能够验证smtp登陆,过滤垃圾邮件和扫描邮件中的病毒。本文所介绍的方法在FreeBSD 5.4和FreeBSD 6.1下均能正常操作。 0、更新ports pkg_add –r cvsup rehash cvsup –h cvs.freebsdchina.org /usr/share/examples/cvsup/ports-supfile 1、安装软件 ①安装cyrus-sasl2 sasl2是smtp验证所需要的软件包,由于postfix安装时采用默认配置,使得sasl不支持courier-authdaemond,因此需要首先用指定的选项进行安装。 cd /usr/ports/security/cyrus-sasl2 make WITH_AUTHDAEMON=yes install clean ②安装expect cd /usr/ports/lang/expect make install clean ③安装postfix,安装时选中[SASL2]、[MySQL]、[VDA],sasl2用于smtp验证,mysql用于存放数据表,vda用于支持虚拟投递。 cd /usr/ports/mail/postfix make install clean ④安装courier-imap,通过make config加上对mysql的支持。 cd /usr/ports/mail/courier-imap make config make install clean ⑤安装clamav cd /usr/ports/security/clamav make install clean ⑥安装amavisd,安装过程中会自动把spamd也安装上。在make config中加入mysql支持。 cd /usr/ports/security/amavisd-new make config make install clean ⑦安装apache。安装完成后编辑httpd.conf将主目录设置为/usr/local/www cd /usr/ports/www/apache22 make install clean ⑧安装php。更新ports后的php安装方式有所变化,首先在make config需要选中[Apache]以编译apache模块,安装完成后在httpd.conf中修改2处配置: a、在DirectoryIndex中加入index.php b、加入AddType application/x-httpd-php .php cd /usr/ports/lang/php4 make config make install clean ⑨安装php4-extensions。根据需要选择模块,保证[MYSQL]、[PCRE]、[SESSION]被选中。 cd /usr/ports/lang/php4-extensions make config make install clean ⑩安装postfixadmin。安装完成后将网页移动至/usr/www/data/ cd /usr/ports/mail/postfixadmin make install clean mv /usr/local/www/postfixadmin /usr/local/www/data/ ○11安装squirrelmail cd /usr/ports/mail/squirrelmail make install clean 至此,所需软件全部安装完毕,下面将依次进行配置。 2、配置文件 ①配置sasl ee /usr/local/lib/sasl2/smtpd.conf pwcheck_method: authdaemond log_level: 3 mech_list: PLAIN LOGIN authdaemond_path: /var/run/authdaemond/socket ②配置mysql数据库 chmod –R mysql:mysql /var/db/mysql cd /usr/local/bin/ ./mysql_install_db cd /usr/local/libexec ./mysqld –user=mysql%26amp; cd /usr/local/www/postfixadmin mysql –uroot –p < DATABASE_MYSQL.TXT ③配置postfix 使用和apache一样的用户来读取邮件目录,因为apache用户为www,id:80,所以要注意/usr/local/etc/postfix/main.cf中的用户id。 mkdir –p /usr/local/virtual chmod –R www:www /usr/local/virtual ee /usr/local/etc/postfix/main.cf 在最后添加: #======= BASE ============== #myhostname = #mydomain = example.com home_mailbox = maildir/ #mydestination = $myhostname #local_recipient_maps = #======= MYSQL ============= virtual_gid_maps = static:80 virtual_mailbox_base = /usr/local/virtual virtual_uid_maps = static:80 virtual_minimum_uid = 80 virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql/virtual_alias_maps.cf virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysql/virtual_domains_maps.cf virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql/virtual_mailbox_maps.cf #======= Quota ============ message_size_limit = 5242880 virtual_mailbox_limit_inbox = no virtual_mailbox_limit_override = yes virtual_maildir_extended = yes virtual_create_maildirsize = yes virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mysql/virtual_mailbox_limit_maps.cf virtual_mailbox_limit = 52428800 #======== 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 几个配置文件: cd /usr/local/etc/postfix/ mkdir mysql cd mysql 1、ee virtual_alias_maps.cf user = postfix password = postfix hosts = localhost dbname = postfix table = alias select_field = goto where_field = address 2、ee virtual_domains_maps.cf user = postfix password = postfix hosts = localhost dbname = postfix table = domain select_field = description where_field = domain 3、ee virtual_mailbox_maps.cf user = postfix password = postfix hosts = localhost dbname = postfix table = mailbox select_field = maildir where_field = username 4、ee virtual_mailbox_limit_maps.cf user = postfix 上一篇:Linux 架设 sendmail MAIL 下一篇:ExtMail Solution for FreeBSD 更多相关文章
|
推荐文章
精彩文章
|