Courier 安装指南.docx

上传人:b****2 文档编号:24224586 上传时间:2023-05-25 格式:DOCX 页数:17 大小:89.44KB
下载 相关 举报
Courier 安装指南.docx_第1页
第1页 / 共17页
Courier 安装指南.docx_第2页
第2页 / 共17页
Courier 安装指南.docx_第3页
第3页 / 共17页
Courier 安装指南.docx_第4页
第4页 / 共17页
Courier 安装指南.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

Courier 安装指南.docx

《Courier 安装指南.docx》由会员分享,可在线阅读,更多相关《Courier 安装指南.docx(17页珍藏版)》请在冰豆网上搜索。

Courier 安装指南.docx

Courier安装指南

Courier安装指南

安装指南

虽然在FreeBSD®的port中已有Courier及相关组件收录,但是这些port不能适应中文处理和中国现状,有些需要调整的参数也没有port选项与之对应。

本文所述的是Courier-0.53.3和Courier-authlib-0.58在FreeBSD®6.1-STABLE中的情况。

1.准备工作。

FreeBSD®已经将GNUCC、Perl、BerkeleyDB作为系统的基本组成部分,这些都是安装Courier时必需的。

此外还需要一些其它软件包,在FreeBSD®中可用port安装,或下载安装制作好的package安装。

▪GNUmake(devel/gmake):

编译Courier时需要。

FreeBSD®的PMake不支持GNUmake的那些扩展功能。

▪MySQL®/PostgreSQL(databases/,可选):

使用MySQL®/PostgreSQL实现用户数据库。

▪Bash(shells/bash,可选):

Bash兼容POSIX®SH,可以很好的执行Courier的配置文件。

▪OpenSSL的脚本c_rehash:

用which

(1)命令检查脚本c_rehash是否可用。

FreeBSD®的源代码树中虽然有此文件,但不安装到发行版的目录中。

可从我的服务器上下载或从FreeBSD®CVS树中下载,应放于环境变量PATH包含的目录中,权限设为0555。

▪Apache2.2.x(www/apache22):

提供带有加密的HTTP支持,供网页信箱界面和网页管理使用。

使用Apache2.0.x和Apache1.3.x+mod_ssl当然也是可以的。

▪Gnupg(security/gnupg):

信件加密、数字签名时使用。

▪Ispell(textproc/ispell):

使得网页信箱界面具备英语单词的拼写检查功能。

▪PCRE(devel/pcre或devel/pcre-utf8):

新的信件过滤器maildrop支持Perl兼容正则表达式,功能强于POSIX®正则表达式。

▪BerkeleyDB4.4(databases/db44,可选):

工具db_dump185-4.4可用来查看*.dat和*.db数据文件。

▪Expect(lang/expect,依赖于TCL/TK,可选):

使用操作系统的用户数据库时,在网页界面中更改密码时完成与操作系统passwd

(1)命令的对话。

操作系统的组件模块PAM(3)没有提供更改密码的功能。

2.下载Courier软件包。

原始版本下载位置:

authlib和courier。

其中软件包Courier需要打上与中文和中国现状相关的补丁,还要加上网页信箱界面的中文模板。

我已打补丁的软件包下载位置:

http:

//ftp.intron.ac/pub/network/mail/courier/。

补丁的情况可用diff-r-U10命令检查。

补丁的内容有:

▪courier/module.esmtp/esmtpclient.c:

避免收信时因为遇到域名系统的MX记录直接指向IP地址的错误而拒收(RFC1035错误)。

▪courier/submit.C:

避免发信时因为遇到域名系统的MX记录直接指向IP地址的错误而拒发(RFC1035错误)。

▪courier/submit2.C:

避免信头中有未按RFC2045编码的中文,或是信件中有中文而信头未标注“8bit”而发生错误(RFC2045错误)。

▪rfc2045/rfc2646create.c:

避免在网页信箱界面中写信时系统自动加入软回车带来的乱码。

▪webmail/folder.c:

消除网页信箱界面中RFC2045解码时的冗余显示造成的乱码,正确显示几个信箱的中文名称。

▪webmail/html/zh-cn:

网页信箱界面中文模板。

▪webmail/images/sqwebmail.css:

网页信箱界面的CSS样式表,改用中国人喜欢的清淡色调。

3.配置与安装courier-authlib

解压缩:

~#tarxjvfcourier-authlib-0.58.tar.bz2

配置:

~/courier-authlib-0.58#./configure--prefix=/usr/local/authlib--localstatedir=/var/authlib\

--without-stdheaderdir

选项--without-stdheaderdir使得authlib的配置信息程序courierauthconfig的--cppflags功能生效,才能使后续的配置找到authlib头文件的位置。

编译与安装:

~/courier-authlib-0.58#gmake

~/courier-authlib-0.58#gmakeinstall

~/courier-authlib-0.58#gmakeinstall-configure

4.配置courier。

注意:

配置和编译courier需要以普通用户身份进行,而不是root身份。

解压缩:

~>tarxvjfpcourier-0.53.3.tar.bz2

其中我加入的脚本文件mycfg.sh里只包含一行实质内容:

./configure--prefix=/usr/local/courier--localstatedir=/var/courier--without-ipv6\

--disable-unicode--enable-https=auto--enable-hardtimeout=10800--enable-softtimeout=3600\

--with-maxargsize=67108864--with-maxformargsize=67108864--with-maxmsgsize=67108864\

--enable-mimetypes=/usr/local/etc/apache22/mime.types--with-defaultlang=zh

重要的选项:

▪--disable-unicode是禁用Courier的解码功能,这样网页信箱界面会显示原码,用户可以通过调整浏览器来正确解码所有信件(GB2312、BIG5、UTF-8等),否则网页信箱界面会将无法解码的字符都换成“.”。

▪--with-libcharset是使用GNUlibcharset的函数nl_langinfo(),不过FreeBSD®自己就提供了nl_langinfo(3)。

▪--with-softtimeout指定网页信箱界面登录后最大闲置时间(单位:

秒)(缺省20分钟)。

▪--with-hardtimeout指定网页信箱界面登录后最长操作时限(单位:

秒)。

即无论闲置与否,登录后超过这个时间都会自动禁止继续操作(缺省2小时)。

▪--enable-mimetypes用来指定MIME类型对照表的位置,此文件一般可在Apache的配置文件目录中找到。

▪--with-maxargsize和--with-maxformargsize指定网页信箱界面中可上载的单个附件的最大长度(67108864=64M),由于每一次提交HTML表单只能上载一个附件,所以两者的意义其实相差不大。

▪--with-maxmsgsize指定网页信箱界面中一个信件的最大长度(67108864=64M),而并不是courier核心部分所允许的最大信件长度。

(courier核心部分最大信件长度需要另行调整,见后文)。

也可用--with-mailuser=user--with-mailgroup=group来指定courier运行的UNIX®用户身份。

对于FreeBSD®,configure缺省会配为daemon:

daemon。

▪--with-defaultlang指明网页信箱界面所使用的语言。

我打补丁的软件包里带有我已翻译的中文网页模板。

适当按照自己的要求修改文件mycfg.sh的内容。

然后以普通用户,而不是root的身份运行:

~/pcourier-0.53.3>shmycfg.sh

5.编译

~/pcourier-0.53.3>gmake

~/pcourier-0.53.3>gmakecheck

如果编译无法通过,检查本文第1步中所述的准备工作。

6.安装

切换到root身份:

~/pcourier-0.53.3>su-

安装:

~#cd~ncr/pcourier-0.53.3/

~ncr/pcourier-0.53.3#gmakeinstall

~ncr/pcourier-0.53.3#gmakeinstall-configure

7.配置网页管理界面

将/usr/local/courier/libexec/courier/webmail/webadmin用cp-p命令放入Apache加密HTTP服务的CGI目录。

并在刚才编译courier的目录中执行:

~ncr/pcourier-0.53.3#gmakeinstall-webadmin-password

键入网页管理的密码。

密码被明文存放在/usr/local/courier/etc/webadmin/password中,需要注意保密。

典型的网页管理界面的入口地址是。

使用网页管理界面后,下面许多步骤的设置均可通过它来完成。

8.配置Sendmail式的信件转发(仅限本机转发)

写好/usr/local/courier/etc/aliases/system,补全这一行:

postmaster:

ncr

这是将给系统管理员的信转发给用户ncr,然后执行/usr/local/courier/sbin/makealiases。

需要注意的是:

Courier的这种信件转发方式只适用于本机转发,而不适用于远程转发。

Courier采用与Qmail类似的方式设置远程转发。

9.配置SMTP服务器的访问权限

写好/usr/local/courier/etc/smtpaccess/default,并执行/usr/local/courier/sbin/makesmtpaccess。

10.启用信件过滤器maildrop

修改/usr/local/courier/etc中的courierd,使之启用信件过滤器maildrop。

DEFAULTDELIVERY="|/usr/local/courier/bin/maildrop"

11.设置主域名

书写/usr/local/courier/etc/me,加入信箱地址中“@”后的部分,一般应为域名系统的MX记录或A记录,例如。

只有第一行的内容是有效的,不要多加(主机别名的配置见下文)。

书写完成后执行/usr/local/courier/sbin/makealiases。

12.设置主机别名

书写/usr/local/courier/etc/locals,将所有收信用的域名(包括me中已经指定的域名)加入其中。

例如:

localhost

mail

执行/usr/local/courier/sbin/makealiases。

13.设置接受信件的域名

写入/usr/local/courier/etc/esmtpacceptmailfor,内容要完全包含/usr/local/courier/etc/locals的内容。

在没有虚拟域和代理转发的大多数情形中可以将locals复制为esmtpacceptmailfor。

14.设置Courier核心允许的信件大小

写入/usr/local/courier/etc/sizelimit,这是Courier核心部分所能接受的最大信件长度。

例如:

67108864

(64MB)

15.设置信件过滤器

为maildrop书写/usr/local/courier/etc/maildroprc,一般只需要这行就足够了:

DEFAULT="$HOME/Maildir"

也可以添加一些在全系统范围内生效的过滤语句,如使用SpamAssassin的语句。

16.设置SMTP服务

修改/usr/local/courier/etc/esmtpd,启用SMTP服务的身份认证:

ESMTPAUTH="LOGINCRAM-MD5"

修改以下一行以略去收信时对发信服务器的域名反向解析和ident检查(一种TCP回叫身份认证方式)。

有些配置不规范的SMTP服务器会在这些检查过程中因超时而退信。

TCPDOPTS="-nodnslookup-noidentlookup-stderrlogger=/usr/local/courier/sbin/courierlogger"

17.为Apache设置网页信箱界面服务

将网页信箱界面的CGI程序/usr/local/courier/libexec/courier/webmail/webmail放入Apache的相应CGI程序目录,最好是加密HTTP服务的CGI目录。

在httpd.conf或其它Apache配置文件中设置别名(“Alias”)或者制作一个链接,以便在使用网页信箱界面时浏览器可以得到图标:

/usr/local/www/apache22/data#ln-s/usr/local/courier/share/sqwebmail/imageswebmail

18.启用网页信箱界面中的信件过滤器设置界面

为网页信箱界面书写/usr/local/courier/etc/maildirfilterconfig,可以这么写:

MAILDIRFILTER=../.mailfilter

MAILDIR=./Maildir

19.设置公开信件夹

为网页信箱界面书写/usr/local/courier/etc/maildirshared,两栏之间Tab字符用分隔,例如:

★公告信息★/home/bulletin

20.设置网页信箱界面的缺省域名

为网页信箱界面书写/usr/local/courier/etc/defaultdomain,例如:

否则网页信箱界面会自动使用该机操作系统的主机名。

21.设置信件转发

日常添加信箱别名,可以在/usr/local/courier/etc/aliasdir/书写.courier-*文件。

例如,.courier-webmaster的内容是:

someengineer@

22.选择用户数据库

修改/usr/local/authlib/etc/authlib/authdaemonrc,指明所用的用户认证模块。

Courier支持多种用户数据库,支持同时使用多个用户数据库。

根据需要调整如下一行中各模块名的顺序和使用与否:

authmodulelist="authuserdbauthpamauthmysqlauthcustomauthpipe"

例如:

只使用操作系统的用户数据库:

authmodulelist="authpam"

先查询BerkeleyDB文件(/usr/local/authlib/etc/authlib/userdb.dat);假如没有找到该用户名,再查询MySQL®数据库:

authmodulelist="authuserdbauthmysql"

在用户数量不多时,建议使用BerkeleyDB存储用户数据;在用户数量很多时,建议使用MySQL®等专门的数据库系统存储用户数据。

参见authlib的文档。

23.按需设置BerkeleyDB用户数据库

书写/usr/local/authlib/etc/authlib/userdb,该文件权限设置为root所有600。

例如:

xiaofeisystempw=$1$AAAABBBBCCCCDDDD|gecos=王小飞|home=/home/mail/xiaofei|uid=65534|gid=65534

第一列的用户名与其后内容应该用Tab字符分隔,否则相应的处理工具会出错。

加密的密码可以使用工具/usr/local/authlib/sbin/userdbpw获得。

该用户的家目录权限应与该用户的用户标识、组标识一致,在家目录中应设置信件存储目录。

#mkdir/home/mail/xiaofei

#cd/home/mail/xiaofei

/home/mail/xiaofei#/usr/local/courier/bin/maildirmakeMaildir

/home/mail/xiaofei#chown-Rhnobody:

nobody.

之后运行/usr/local/authlib/sbin/makeuserdb,以产生二进制格式的BerkeleyDB数据文件/usr/local/authlib/etc/authlib/userdb.dat和/usr/local/authlib/etc/authlib/userdbshadow.dat。

24.按需设置MySQL®用户数据库

在MySQL®系统中建立Courier专用的数据库、登录用户。

并建立一张用户数据表,例如:

CREATETABLEpasswd(

idchar(128)DEFAULT''NOTNULL,

cryptchar(128)DEFAULT''NOTNULL,

clearchar(128)DEFAULT''NOTNULL,

namechar(128)DEFAULT''NOTNULL,

uidint(10)unsignedDEFAULT'65534'NOTNULL,

gidint(10)unsignedDEFAULT'65534'NOTNULL,

homechar(255)DEFAULT''NOTNULL,

maildirchar(255)DEFAULT''NOTNULL,

defaultdeliverychar(255)DEFAULT''NOTNULL,

quotachar(255)DEFAULT''NOTNULL,

optionschar(255)DEFAULT''NOTNULL,

KEYid(id(128))

);

修改相应的配置文件/usr/local/authlib/etc/authlib/authmysqlrc,设置连接MySQL®数据库的正确参数,主要是连接协议(TCP或UNIX®套接字)、连接用户名、连接密码、数据库名、数据表名,以及各数据域的名称。

上面的表中有两个数据域存放用户登录密码,“crypt”是指密码的密文,“clear”是指密码的明文。

一般说来只设置密码密文就足够了。

密码明文用于挑战型(challenge)认证方式CRAM-MD5、CRAM-SHA1、CRAM-SHA256,除须在数据库中存放密码明文,还应在配置文件authmysqlrc中用选项MYSQL_CLEAR_PWFIELD启用相应的功能。

25.设置虚拟域

假如需要虚拟域的支持,将要虚拟的域名写入/usr/local/courier/etc/hosteddomains/my,并运行/usr/local/courier/sbin/makehosteddomains。

再将要虚拟域名加入/usr/local/courier/etc/esmtpacceptmailfor,并运行/usr/local/courier/sbin/makealiases。

BerkeleyDB、MySQL®等用户数据库都能支持虚拟域,操作系统的用户数据库不能支持虚拟域。

在BerkeleyDB、MySQL®等用户数据库中,虚拟域用户对应的“用户”项格式为:

用户名@虚拟域名

为网页信箱界面书写/usr/local/courier/etc/logindomainlist(每行第1部分为虚拟域名,第2部分为网页信箱界面网址中的域名):

:

:

mygroup

:

:

mygroup

:

:

mygroup

:

:

mygroup

当用户以含有“”的网址(例如)访问时,登录界面上就会列出信箱的域名、、、。

26.在操作系统启动时启动Courier

在/etc/rc.local中加上启动courier、authdaemon、esmtpd、pop3d、sqwebmaild命令:

/usr/local/courier/libexec/authlib/authdaemondstart

/usr/local/courier/sbin/courierstart

/usr/local/courier/sbin/esmtpdstart

/usr/local/courier/sbin/pop3dstart

/usr/local/courier/libexec/courier/sqwebmaildstart

对于FreeBSD®,可以按一定规范书写一个脚本并放置于/usr/local/etc/rc.d/。

27.设置保密通信服务

若需要SMTP-SSL服务、POP3-SSL服务,还需要在/etc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1