【 tulaoshi.com - Linux 】
作者:柯贵中 网站: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/$ 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 3.3.1 cd /usr/ports/mail/postfix 安装时选中[sasl2