|
 
|
1#
发表于 2005-9-2 10:36
| 只看该作者
【转贴】postfix+ldap+sasl2+courier-imap for freebsd完全ports安装
postfix+ldap+sasl2+courier-imap for freebsd完全ports安装
作者:柯贵中
网站:www.chinake.com
QQ:93606088
邮箱:chaohucity@hotmail.com
为什么使用FREEBSD?因为它有PORTS,有什么好处,就是你安装软件时就不用再考虑软件的依赖关系,它自己会添加的。这一点就足以位列所有的UNIX,包括类UNIX之首!!!!!
本文力求使用最简单的方法,构建出高效的大容量的邮件系统。本次实践过程中得到了hefish的鼓励和帮助,基本过程是hefish的KUNMAIL系统地freebsd上的一次试验。由于新版openldap对某些字段定义的变化,kunmail.schema需要作一些变动,liut对此作些改动mail.schema,同时也使用了陈景峰的postfix.schema。其实直接使用qmail.schema就挺好。
本文旨在帮助初学者,通过基本的架设过程,理解mail系统的基本原理,所以构建的系统也是最基本的,病毒防护和垃圾过滤网上的参照文件很多,就不写了。
本文假设你对类UNIX有一定的了解,最好是架设或使用过邮件系统。本文的重点在openldap,如果你想使用mysql,请参照我的另一篇文章。
本次试验在freebsd4.10下和freebsd5.4下成功通过。SASL2认证采用courier的AUTHDAEMOND认证,认证方式简单高效,只要courier认证通过,postfix认证肯定能通过。与postfix+mysql相比,只是数据库更改了,便于使用现有的经验来架设新的系统。
暂时只使用PLAIN LOGIN,大多数电信都是这两种,对于openldap来说,这种认证方式并不比其自已本身的认证更好(openldap原文),但与sasl2结合,可以有更高的、更安全的认证方式。
参考文章:
1、http://kunmail.cz8.net/
2、http://www.huihoo.com/internet/postfix/pis/book1.html
第一章 系统准备
如果你能够安装基本系统,可以跳过本章。本文未特别申明的,一律是以root身份操作。
freebsd5.4安装
选择最小化安装,配置好网络,添加perl5.8软件包。
在本例中,机器名:mail.chinake.com
域名:chinake.com
默认网关:192.168.0.1
IP地址:192.168.0.66
1、cvsup安装
由于5.4将不少软件包放在第二张盘上,所以只有通过网络安装了。
设计pkg_add环境变量,使它使用国内的服务器,freebsd默认的shell是csh。
bash shell
#export PACKAGEROOT="ftp://ftp.freebsdchina.org"
csh shell
#setenv PACKAGEROOT "ftp://ftp.freebsdchina.org"
#pkg_add -r cvsup-without-gui
2、设计/etc/make.conf
添加
MASTER_SITE_OVERRIDE=ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
3、更新ports树
#/usr/local/bin/cvsup -g -L 2 -h ftp.freebsdchina.org /usr/share/examples/cvsup/ports-supfile ;
第二章 邮件系统软件的安装
1、安装openssl
#cd /usr/ports/security/openssl; make install clean;
2 安装apache
#cd /usr/ports/www/apache13-modssl;make install clean;
支持https连接,web服务路径为:/usr/local/www/data/。也可以选择apache2。
#ee /etc/rc.conf;加入:apache_enable="YES"
3 安装php4
#cd /usr/ports/lang/php4;make install clean;
#cp /usr/local/etc/php.ini.dist /usr/local/etc/php.ini
#ee /usr/local/etc/apache/httpd.conf
在最后加入:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
4 安装expect
#cd /usr/ports/lang/expect;make install clean
5 安装SASL2
#cd /usr/ports/security/cyrus-sasl2;make install WITH_AUTHDAEMON=yes clean;
或者使用:make -DWITH_AUTHDAEMOND install clean
#ln -s /usr/local/lib/sasl2 /usr/lib/sasl2;
下面的这个smtpd.conf就是postfix调用的,很简单吧。
#ee /usr/local/lib/sasl2/smtpd.conf ;
pwcheck_method: authdaemond
log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path:/var/run/authdaemond/socket
6 安装courier-imap
#cd /usr/ports/mail/courier-imap
#make install clean
选择添加:[auth_ldap],[openssl],[gdbm]如果没有做,可以make config,进行重新选择。
然后编辑/etc/rc.conf;增加courier_authdaemond_enable="YES"自启动,并启动:
#/usr/local/etc/rc.d/courier_authdaemond.sh start。
此时会在/var/run/authdaemond/下产生socket。
chmod +x /var/run/authdaemond;
给sasl可执行权限。
我们这里是使用authdaemond认证,不使用pam认证,所以以下的不需要做:
In case you use authpam, you should put the following lines
in your /etc/pam.d/imap
auth required pam_unix.so try_first_pass
account required pam_unix.so try_first_pass
session required pam_permit.so
至此,认证部分基本完成。
7、openldap安装
#cd /usr/ports/net/openldap22-server;
#make WITH_SASL=yes install clean;
#ee /etc/rc.conf;
添加:
slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://0.0.0.0/"'
slapd_sockets="/var/run/openldap/ldapi"
我们来启动它:
#/usr/local/etc/rc.d/slapd.sh start
8、 安装POSTFIX
cd /usr/ports/mail/postfix
安装时选中[sasl2]+[tls]+[ldap]+[vda]+[test]。
make install clean
在安装快结束时会提示两个问题,分别是加入用户组和修改mailer.conf。全部回答为y。
#echo ‘postfix: root’ >> /etc/aliases
#/usr/local/bin/newaliases
#chown postfix:postfix /etc/opiekeys
替换并停止sendmail
#ee /etc/rc.conf;
修改sendmail_enable=’NONE’
建立启动链接:
#cd /usr/local/etc/rc.d/;
#ln |
|