常见问题常见问题   搜索搜索   会员列表会员列表   团队团队   注册注册    个人资料个人资料   登录查看您的站内信件登录查看您的站内信件   登录登录 

postfix 安装记录.sasl不打patch支持加密密码认证.

 
发表新文章   这个论题已经被锁定,您不能发表、回复或者编辑文章。    FreeBSD China -> 应用天地
阅读上一个主题 :: 阅读下一个主题  
作者 留言
redtea
半仙


注册时间: 2004-04-29
文章: 111

文章发表于: Mon 2005-04-25 17:03:21    发表主题: postfix 安装记录.sasl不打patch支持加密密码认证. 引用并回复

以下是安装笔记,此方法利用 cyrus-sasl-2.1.20 调用 courier-authlib 的authdaemon 来认证,所以并不需要为cyrus-sasl-2.1.20 打patch 就可以支持加密密码的认证。

软件组合: postfix-2.2.2 + cyrus-sasl-2.1.20 + courier-authlib-0.55 + courier-imap 4.02 + postfixadmin(邮箱/邮局管理)

cyrus-sasl-2.1.20 安装

$ tar -zxvf cyrus-sasl-2.1.20.tar.gz
$ cd cyrus-sasl-1.2.20
$ ./configure -enable-plain --enable-login --enable-cram --enable-digest --enable-sql --disable-otp
--disable-srp --disable-srp-setpass --disable-krb4 --disable-gssapi --disable-anon --disable-ntlm -
-with-authdaemond=/usr/local/courier-authlib/var/spool/authdaemon/socket --with-
mysql=/usr/local/mysql --with-mysql-includes=/usr/local/mysql/include/mysql --with-mysql-
libs=/usr/local/mysql/lib/mysql
$ make
# make install

--with-authdaemond=/usr/local/courier-authlib/var/spool/authdaemon/socket
这行是指定courier-authlib 的 authdaemon 的位置。


/usr/local/lib/sasl2/smtpd.conf

pwcheck_method: authdaemond
log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket



# pw groupadd postfix -g 1000
# pw groupadd postdrop
# pw useradd postfix -u 1000 -g postfix -G postdrop


安装postfix-2.2.2
$ tar -zxvf postfix-2.2.2.tar.gz
$ cd postfix-2.2.2
$ make tidy
$ make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql -DUSE_SASL_AUTH -
I/usr/local/include/sasl' 'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lm -lz -
L/usr/local/lib -lsasl2'

$ make
$ su root
# make install


courier-authlib-0.55 安装
$ ./configure --prefix=/usr/local/courier-authlib --without-authuserdb --without-authpam --without-
authldap --without-authpwd --without-authshadow --without-authvchkpw --without-authpgsql --without-
authcustom --with-authmysql --with-mysql-libs=/usr/local/mysql/lib/mysql --with-mysql-includes=/usr/local/mysql/include/mysql

$ make
# make install
# make install-configure

chmod +x /usr/local/courier-authlib/var/spool/authdaemon
(authdaemon 默认不允许其他用户读取,加上存取权限).

COURIERAUTHCONFIG=/usr/local/courier-authlib/bin/courierauthconfig
(由于courier-authlib我没有安装在默认路径,因此加上此行指定courier-authlib 的位置)

courier-imap-4.0.2
$ ./configure --prefix=/usr/local/courier-imap --enable-unicode
$make
# make install

建立存储邮件的目录:
#mkdir /home/mailbox
#chown postfix:postfix /home/mailbox
#chmod -R 771 /home/mailbox



配置courier-authlib
要让courier-authlib能读取mysql中的认证信息,就需要配置authmysql的配置文件/usr/local/courier-
authlib/etc/authlib/authmysqlrc

MYSQL_SERVER localhost
MYSQL_USERNAME postfix
MYSQL_PASSWORD yourpassword

MYSQL_SOCKET /tmp/mysql.sock

MYSQL_DATABASE postfix
MYSQL_USER_TABLE mailbox

MYSQL_CRYPT_PWFIELD crypt #如果数据库密码字段使用加密请使用此设置
MYSQL_CLEAR_PWFIELD clear #如果数据库密码字段使用明码请使用此设置
(根据数据库里的密码字段设置)

MYSQL_UID_FIELD '1000'
MYSQL_GID_FIELD '1000'
(此处根据设置你所建立的postfix用户及用户组的ID)

MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD '/home/mailbox/' #设置postfix存储邮件的目录
MYSQL_NAME_FIELD name

MYSQL_MAILDIR_FIELD maildir
MYSQL_QUOTA_FIELD quota
MYSQL_WHERE_CLAUSE active='1'


postfix-2.2.2 部分设置

1.main.cf
virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:1000
virtual_mailbox_base = /usr/local/virtual
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
virtual_minimum_uid = 1000
virtual_transport = virtual
virtual_uid_maps = static:1000
# Additional for quota support
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

postfix sasl2认证设置:
main.cf

broken_sasl_auth_clients = yes
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unauth_destination,
reject_unauth_pipelining,
reject_invalid_hostname,
# reject_rbl_client opm.blitzed.org,
# reject_rbl_client list.dsbl.org,
# reject_rbl_client bl.spamcop.net,
# reject_rbl_client sbl-xbl.spamhaus.org
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous


把以下文件保存到根据/usr/local/etc/postfix/
(根据postfix 的 main.cf 里设置的路径/usr/local/etc/postfix/)

2 mysql_virtual_alias_maps.cf

You will need to put this into a text file for postfix to pickup.

user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = address


3 mysql_virtual_domains_maps.cf

You will need to put this into a text file for postfix to pickup.

user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = domain
select_field = description
where_field = domain
#additional_conditions = and backupmx = '0' and active = '1'



4 mysql_virtual_mailbox_maps.cf

You will need to put this into a text file for postfix to pickup.

user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = maildir
where_field = username
#additional_conditions = and active = '1'


5 mysql_virtual_mailbox_limit_maps.cf

You will need to put this into a text file for postfix to pickup.

user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = quota
where_field = username
#additional_conditions = and active = '1'


另外可以参考这篇文章:http://postfixwiki.org/index.php/Virtual_Users_and_Domains_with_Courier-IMAP_and_MySQL
返回页首
阅览会员资料 发送站内信件
从以前的文章开始显示:   
发表新文章   这个论题已经被锁定,您不能发表、回复或者编辑文章。    FreeBSD China -> 应用天地 论坛时间为 北京时间
1页/共1

 
转跳到:  
不能发布新主题
不能在这个论坛回复主题
不能在这个论坛编辑自己的文章
不能在这个论坛删除自己的文章
不能在这个论坛发表投票


Powered by phpBB 2023cc © 2003 Opensource Steps; © 2003-2009 The FreeBSD Simplified Chinese Project
Powered by phpBB © 2001, 2005 phpBB Group
The FreeBSD China Project 网站: 中文计划网站 社区网站
The FreeBSD China Project 版权所有 (C) 1999 - 2003 网页设计版权 著作权和商标