邮件系统 设为首页
加入收藏
总编信箱
| 第一邮局 | 免费邮箱 | 邮箱评测 | 企业邮局 | 移动邮件 | 邮件系统 | 邮件营销 | 反垃圾邮件 | 邮件客户端 | 邮件安全 |
当前位置:第一邮局>邮件系统>Postfix>文章内容

基於FreeBSD6.1功能完善的mail system

来源:Mail1.com.cn 编辑:Mail 发布时间:2007-04-30 [收藏] [推荐] [评论(0条)]
Email System Install Manual
ver1.1

說明 :
測試域名:test.com ; hostname=mail.test.com
系統環境 :

Postfix PostfixAdmin MySQL Apache22 PHP4 PHP4-Session Cyrus-sasl Courier-imap Maildrop Squirrelmail ClamAV Amavisd-new SpamAssassin

1 OS:FreeBSD 6.1 Release
2 mysql-server-5.x:/usr/ports/database/mysql50-server
3 apache-2.2.x:/usr/ports/www/apache22
4 php5-x:/usr/ports/lang/php5
5 php5-session-5.x:/usr/ports/www/php5-session
6 cyrus-sasl-2.x:/usr/ports/security/cyrus-sasl2
7 postfix-2.3.x:/usr/ports/mail/postfix
8 PostfixAdmin :/usr/ports/mail/postfixadmin
9 courier-imap-4.x:/usr/ports/mail/courier-imap
10 maildrop-1.x:/usr/ports/mail/maildrop
11 squirrelmail-1.4.x:/usr/ports/mail/squirrelmail
12 ClamAV(ClamAntiVirus):/usr/ports/security/clamav
13 Amavisd-new:/usr/ports/security/amavisd-new
14 SpamAssassin:/usr/ports/mail/p5-Mail-SpamAssassin

安裝前先更新port tree
系統采用最小化安裝
#cd /usr/ports/net/csup //切換到安裝路徑
#make install clean //安裝並清除過程中不必要的檔案
#cd /usr/share/examples/cvsup //路徑
#cp ports-supfile /root/ //放到/usr下(看你高興要放哪)
#cd /root
#vi ports-supfile //修改原更新站台位置內容如下
default host CHANGE_THIS.FreeBSD.org //官方站台(預設值)
default host cvsup.cn.freebsd.org //改為國內站台,如此下載速度較快
#cd /root //切換路徑
#rehash //才不會出現指令無效訊息(csup: Command not found.)
#csup -L 2 ports-supfile //開始更新
#cd /usr/ports;make fetchindex //或取ports INDEX文件,可以不做這步

安裝 MySQL50 ( Server/Client )
官方網站:http://www.mysql.com
#cd /usr/ports/databases/mysql50-server/
#make install clean

#vi /etc/rc.conf # 設定 mysql 開機自動啟動

mysql_enable="YES"

#/usr/local/etc/rc.d/mysql-server start # 手動啟動 mysql 。

#netstats -na |grep LISTEN # 確認 mysql server 有啟動

tcp4 0 0 *.3306 *.* LISTEN

Setp 2.

安裝 Apache2.2.x
官方網站 http://www.apache.org
#cd /usr/ports/www/apache22
#make install clean

#vi /etc/rc.conf # 設定 apache22 開機自動 up

apache22_enable="YES"
#vi /boot/loader.conf #添加 apache22的accf 選項
accf_http_local=”yes”

#vi /usr/local/etc/apache22/httpd.conf

ServerAdmin test@test.com
ServerName 127.0.0.1
AddDefaultCharset big5

#/usr/local/sbin/apachectl start
#ps -ax |grep http # 確認 apache 有啟動

70558 ?? Ss 0:00.06 /usr/local/sbin/httpd -k start
70559 ?? S 0:00.01 /usr/local/sbin/httpd -k start
70560 ?? S 0:00.01 /usr/local/sbin/httpd -k start
70561 ?? S 0:00.01 /usr/local/sbin/httpd -k start

Setp 3.

安裝 PHP5 php5-session cyrus-sasl2
官方網站 http://www.php.net
#cd /usr/ports/lang/php5
#make install clean
Options for php5.x # 選 apache,debug不選避免zend出錯
[X] APACHE Build Apache Module

#vi /usr/local/etc/apache22/httpd.conf # 修改 apache22 設定讓 php 運行在apache22

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html index.html.var

#cd /usr/local/etc/
#cp php.ini-dist php.ini
#vi php.ini

register_globals =On # 修改 register_globals =Off 變成 On ,squirrelmail 會用得到

#cd /usr/ports/www/php5-session/ # 安裝 php5-session 是 postfixadmin 需要用到的,所以是必須要加裝的
官方網站 http://www.php.net
#make install clean

#apachectl restart # 重新起動 apache
#vi /usr/local/www/apache22/data/index.php
phpinfo();
?>

測試 php5 有無安裝成功: http://192.168.2.130/index.php

# cd /usr/ports/security/cyrus-sasl2 # 安裝 cyrus-sasl
官方網站 http://cyrusimap.web.cmu.edu
# make install WITH_AUTHDAEMON=yes clean
#vi /usr/local/lib/sasl2/smtpd.conf # 配置 sasl SMTP 認證
方案一
pwcheck_method: authdaemond
log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path:/var/run/authdaemond/socket

方案二,
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: plain login cram-md5 digest-md5

# saslpasswd2 –c smtpauth@ # 創建用戶smtpauth@,如果不加”@”,將創建形如username@hostname.
Password: # password : 123456
Again (for verification):
# sasldblistusers2 # 查看sasldb2.db
smtpauth@: userPassword
Setp 4.

安裝 Postfix
官方網站 http://www.postfix.org
#cd /usr/ports/mail/postfix
#make install WITH_AUTHDAEMON=yes clean
Postfix configuration options # 只選 SASL2 跟 MySQL
[X] SASL2 Cyrus SASLv2 (Simple Authentication and Security Layer)
[X] MySQL MySQL map lookups (choose version with WITH_MYSQL_VER)

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

#vi /etc/rc.conf # 開機自動啟動 postfix
加入:
postfix_enable=”YES”
#echo ‘postfix: root’ >> /etc/aliases
#/usr/local/bin/newaliases
#chown postfix:postfix /etc/opiekeys

#vi /usr/local/etc/postfix/main.cf

myhostname = mail.test.com
mydomain = test.com
myorigin = $mydomain
mydestination = $myhostname localhost localhost.$mydomain
mynetworks = 192.168.2.0/24, 127.0.0.0/8
inet_interfaces = all
relay_domains = $mydestination

virtual_mailbox_base = /var/mailbox/
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysql_virtual_domains_maps.cf
virtual_alias_domains =
virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf

virtual_uid_maps = static:5001
virtual_gid_maps = static:5001

virtual_transport = virtual
transport_maps = mysql:/usr/local/etc/postfix/mysql_virtual_transport_maps.cf

message_size_limit = 15728640
virtual_mailbox_limit = 2097152000
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes

virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry,the user's maildir has overdrawn his diskspace quota,please try again later.
virtual_overquota_bounce = yes

broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks
permit_sasl_authenticated
permit_auth_destination
reject_invalid_hostname
reject_unknown_sender_domain
reject_non_fqdn_sender
reject_non_fqdn_recipient
reject_unknown_recipient_domain
reject_unauth_pipelining
reject_unauth_destination
reject
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_security_options = noanonymous
smtpd_sasl_application_name = smtpd
smtpd_client_restrictions = permit_sasl_authenticated
reject_non_fqdn_sender
reject_unknown_sender_domain
reject_sender_login_mismatch
smtpd_banner = $myhostname ESMTP "SZ Mail Server"

content_filter = smtp-amavis:[127.0.0.1]:10024


說明:同域多服務器情況
test.com 域下有A(廣州office) 、B(深圳office)兩台mail server ,A保存所有廣州office的郵箱;B 保存所有深圳office的郵箱。
廣州office:所有發往 “廣州office”內部的郵件將由A mail server進行本地投遞,發往 “深圳office” 的郵件將通過transport_maps (mail address list) 指向 B mail server 進行投遞。
深圳office:所有發往 “深圳office”內部的郵件將由B mail server進行本地投遞,發往 “廣州office”的郵件將通過transport_maps (mail address list) 指向 A mail server 進行投遞。
其中:A mail server 的transport_maps 記錄 “深圳office”的所有郵件地址;B mail server的transport_maps 記錄 “廣州office” 的所有郵件地址。

#mkdir /var/mailbox # 建立郵件存放目錄

#pw groupadd vmail -g 5001 # 建立 vmail 這個使用者帳號及群組
#pw useradd vmail -u 5001 -g 5001 -s/sbin/nologin -d/dev/null # 無home目錄及不可登錄系統。

#chown -R vmail:vmail /var/mailbox
#chmod -R ug rwx,o-rwx /var/mailbox #(chmod –R 770 /var/mailbox)

#vi /usr/local/etc/postfix/mysql_virtual_alias_maps.cf # 建立MySQL 跟 postfix 之間的資料對應關聯文件,總共五個。
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = address

#vi /usr/local/etc/postfix/mysql_virtual_domains_maps.cf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = domain
select_field = description
where_field = domain

#vi /usr/local/etc/postfix/mysql_virtual_transport_maps.cf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = alias
select_field = transport_maps
where_field = mlist
#vi /usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = maildir
where_field = username

#vi /usr/local/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = quota
where_field = username

#/usr/local/sbin/postfix start # 啟動 postfix


Setp 4.

安裝 Postfixadmin
官方網站 http://high5.net/postfixadmin
#cd /usr/ports/mail/postfixadmin/
#make install clean

#chown -R vmail:vmail /usr/local/www/postfixadmin # 修改所有 postfixadmin 的目錄資料夾權限
#cd /usr/local/www/postfixadmin
#chmod 640 *.php *.css
#cd /usr/local/www/postfixadmin/admin/
#chmod 640 *.php .ht*
#cd /usr/local/www/postfixadmin/images/
#chmod 640 *.gif *.png
#cd /usr/local/www/postfixadmin/languages/
#chmod 640 *.lang
#cd /usr/local/www/postfixadmin/templates/
#chmod 640 *.tpl
#cd /usr/local/www/postfixadmin/users/
#chmod 640 *.php

#cd /usr/local/www/postfixadmin # 建立 Postfixadmin 的 MySQL 資料庫
vi DATABASE_MYSQL.TXT # 在以下位置新增兩行,加下劃線紅色的為新增行
# Table structure for table alias # ailas表中存儲alias 和transport_maps 信息。
#
CREATE TABLE alias (
address varchar(255) NOT NULL default '',
goto text NOT NULL,
domain varchar(255) NOT NULL default '',
created datetime NOT NULL default '0000-00-00 00:00:00',
modified datetime NOT NULL default '0000-00-00 00:00:00',
active tinyint(1) NOT NULL default '1',
mlist varchar(255) NULL default ‘’, # 新增字段mlist
transport_maps varchar(255) NULL default ‘’, # 新增字段 transport_maps
PRIMARY KEY (address),
KEY address (address)
) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Aliases';

#mysql -u root –p < DATABASE_MYSQL.TXT # root password: testadmin

#vi config.inc.php # 修改 postfixadmin 的設定檔
$CONF['default_language'] = 'tw';
$CONF['database_type'] = 'mysql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfixadmin';
$CONF['database_password'] = 'postfixadmin';
$CONF['database_name'] = 'postfix';
$CONF['encrypt'] = 'md5crypt'; # 用md5 加密密碼
$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'NO';
$CONF['quota'] = 'YES';
$CONF['alias_control'] = 'YES';
$CONF['footer_text'] = 'Return to mail.test.com';
$CONF['footer_link'] = 'http://mail.test.com/postfixadmin/';

#vi /usr/local/etc/apache22/httpd.conf # 修改 apache 的 User 跟 Group

#User www
#Group www
User vmail
Group vmail

#vi /usr/local/etc/apache22/Includes/mine.conf # 增加 apache 對應的 postfixadmin 虛擬目錄

Alias /postfixadmin/ "/usr/local/www/postfixadmin/"

Options None
AllowOverride ALL
Order allow,deny
Allow from all


#apachectl stop # 重新啟動apache
#apachectl start

由於postfixadmin 本身沒有添加transport_maps選項功能,為了實現添加mail address list記錄到alias 表中需要修改以下幾個文件:
# vi /usr/local/www/postfixadmin/variables.inc.php # 增加如下四個變量
$fTransport_maps = "";
$fMlist = "";
$tMlist = "";
$tTransport_maps = "";

# vi /usr/local/www/postfixadmin/templates/craete-alias.tpl # 加下劃線部分為新增行








































# vi /usr/local/www/postfixadmin/templates/edit-alias.tpl # 加下劃線部分為新增或修改部分










上一篇:Postfix 日志脚本   下一篇:postfix限制特定用户收发邮件的高级访问控制方法
[365Key收藏] [雅虎收藏+] [返回顶部] [打印本页] [关闭窗口]  
邮箱   相关文章
·Postfix 日志脚本
·postfix限制特定用户收发邮件的
·邮件帐号管理的shell script
·postfix中如何获得一个邮件的信
·postfix邮件系统解决方案(源代码
·使用nfs使得mx邮件服务器跟mail
·debian 3.0(sarge)下postfix邮件
·debian31r2 postfix automatic s
·SPF在Postfix上的实现
·postfix中限制认证用户使用的sen
·Postfix的TLS安装与设定
·Postfix SMTP身份验证完整方案解
免费邮箱 163邮箱  21CN邮箱  Gmail  Hotmail  QQ邮箱  SoGou邮箱  新浪邮箱  雅虎邮箱  
邮箱评测 企业邮箱评测  
企业邮局 企业邮箱  企业邮箱资讯  
移动邮件 技术前沿  手机邮件  
邮件系统 CMail Server  WinMail  SendMail  Qmail  Postfix  MDaemon Server  Lotus Notes  IMail Server  Foxmail Server  Exchange Server  Domino  Winwebmail  
邮件营销 网络营销  营销案例  营销技巧  邮件营销  
反垃圾邮件 Anti-Spam技术产品  新闻资讯  
邮件客户端 DreamMail  Foxmail  IncrediMail  KooMail  Outlook  The Bat!  
邮件安全
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·Postfix SMTP身份验证完整方案解
·debian 3.0(sarge)下postfix邮件
·postfix邮件系统解决方案(源代码
·ExtMail Solution for FreeBSD
·Linux邮件服务器软件的分析评测
·SPF在Postfix上的实现
·postfix限制特定用户收发邮件的
·使用nfs使得mx邮件服务器跟mail
·ExtMail Solution HOWTO for Lin
·在DEBIAN 下安装POSTFIX 邮件系
·Postfix的TLS安装与设定
·Red Hat 企业版4.1 antivir-ma
网站首页 -  网站地图 -  域名注册 -  虚拟主机 -  企业邮箱  -  网站投稿  -  广告联系 -  帮助中心  -  

Copyright 2007-2008 Mail1.com.cn All Rights Reserved
本站内容均来自网络,如果侵犯版权请来信告知,核实后我们会在24小时删除 联系方式:
第一邮局QQ群:14743955 E-mail:www@onlinex.com.cn