首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 软件教学-> 压缩工具
postfix和cyrusimap安装手册_qmail
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 

前言
  POSTFIX是一个性能卓越的MTA,拥有非常高的稳定性及安全性。在一台普通的机器上拥有足够带宽的前提下每天可以处理超过四百万封邮件。作为一个MTA,POSTFIX被设计为代替Sendmail的一个软件。关于POSTFIX的更多信息可以参见其官方网站:http://www.postfix.org
  POSTFIX一般情况下与CYRUS-IMAP相配合,由于CYRUS-IMAP及相关的附加模块配置起来非常复杂,所以POSTFIX+CYRUS-IMAP并不一定适合于初学者使用!
  由于此手册未经实际验证,所以请不要转载以免误导最终用户!
  本手册只在www.linuxaid.com.cn发表,大家有关于此手册的任何问题请至LinuxAid.com.cn技术支持论坛的《邮件服务器》版面讨论,LinuxAid的技术支持工程师会根据讨论的结果继续完善此手册。

一、编译源码
1、基本概念
  POSTFIX只是一个MTA,也就是一个SMTP服务器。它本身只提供SMTP服务,如果你需要POP3或IMAP服务,则需要通过安装类似于CYRUS这样的IMAP服务器与其配合从而实现一个完整的系统。
  由于POSTFIX只是一个MTA,它只负责邮件的转发以及本地的分发,用户管理工作由MDA负责,所以在理解上要注意。
  POSTFIX的SMTP验证需要通过SASL库才可以实现,SASL库则通过一个称为PWCHECK的服务向POSTFIX提供验证的渠道。
  PWCHECK会在/var/pwcheck中创建一个UNIX SOCKET文件,供客户端进行访问。
  除了CYRUS-IMAP外,所有需要通过SASL进行验证的客户端软件(POSTFIX,等)都需要在SASL库的SASL目录下创建其进程所对应的配置文件,如POSTFIX的文件名为smtpd.conf。并在其中指定验证方式。
  POSTFIX通过LMTP或PIPE与CYRUS-IMAP沟通,将发往本地的邮件直接通过LMTP或PIPE转给CYRUS-IMAP处理。
  POSTFIX可以与MySQL结合将别名(Alias)存放于数据库中。
  缺省情况下POSTFIX和CYRUS-IMAP都使用系统账号作为缺省的用户数据库。如果要使用数据库做为用户账号数据库则需要对源码进行修改,我们这里不进行介绍。
  POSTFIX与CYRUS-IMAP结合并使用系统账号作为邮件账号只适用于不超过两千个账号的系统,当使用数据库(MySQL)作为用户账号存储媒介时只适用于不超过十万个邮件账号的系统。
  基本概念大约就是这么多,希望大家都可以理解POSTFIX和CYRUS-IMAP这一对组合到底可以做些什么,以及有什么限制。

2、先期准备
  我们假设系统所有的东西都将安装在:/usr/local/servers中,之所以要安装在这个目录里面而不使用缺省的安装路径,是为了方便大家在想要删除POSTFIX及其相关的支持文件时,可以直接通过rm对应的目录即可删除,而不需要手工去查找哪些文件需要删除(这特别适用于新入门的用户)。
  相关的路径信息:
  POSTFIX源码目录:/usr/local/servers/packages/postfix
  POSTFIX安装目录:/usr/local/servers/postfix
  CYRUS-IMAP源码目录:/usr/local/servers/packages/cyrus
  CYRUS-IMAP安装目录:/usr/local/servers/cyrus
  CYRUS-SASL源码目录:/usr/local/servers/packages/sasl
  CYRUS-SASL安装目录:/usr/local/servers/library/sasl
  在安装前我们需要先准备好所需要的目录,按照以下的步骤进行(#号后面的是注释,执行时不要输入):
  useradd postfix #为POSTFIX添加一个系统账号
  useradd cyrus -g mail #为cyrus添加一个系统账号,并将其所属的组设置为mail
  passwd cyrus #设置cyrus的密码,注意此密码将用于管理用户账号。
  usermod daemon -g group #将daemon系统账号所属的组设置为mail,因为POSTFIX在做为DAEMON支持时需要用到这个用户
  mkdir /var/pwcheck #为PWCHECK,用户身份验证服务创建目录
  chown cyrus.mail /var/pwcheck #将这个目录的所有者设置为cyrus和mail组

3、为支持SMTP验证准备好库文件
  POSTFIX的SMTP验证需要SASL库的支持,为此我们需要在安装POSTFIX源码前先行安装SASL库文件,步骤如下:
mkdir /usr/local/servers/packages/sasl
cd /usr/local/servers/packages/sasl
wget ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-1.5.24.tar.gz
tar zxf cyrus-sasl-1.5.24.tar.gz
cd cyrus-sasl-1.5.24
./configure --prefix=/usr/local/servers/library/sasl --enable-plain=yes --enable-login=yes --enable-cram=no --enable-digest=no --with-pwcheck=/var/pwcheck
make
make install
ln -s /usr/local/servers/library/sasl /usr/lib/sasl

  修改/etc/ld.so.conf,添加:

/usr/local/servers/library/sasl/lib
/usr/local/servers/library/sasl/lib/sasl

  存盘退出,运行:

ldconfig

  运行:

/usr/local/servers/library/sasl/sbin/saslpasswd -c admin

  输入两次密码,这个程序会在/etc生成一个sasldb文件。对于当前版本的SASL,这个文件是必须的(虽然它在PWCHECK验证方式下没有任何作用)。

chmod o+r /etc/sasldb #让所有用户都可以访问,否则POSTFIX在验证的时候怎么样都通不过:)。
echo "pwcheck_method: pwcheck" > /usr/lib/sasl/smtpd.conf #创建SMTP验证文件

  至此SASL库已经成功安装。

4、安装POSTFIX源码
  安装前我们需要先下载域名,可以从POSTFIX的网站上找到相关的链接,这里我们使用国内的镜像:
     ftp://postfix.cn99.com/pub/postfix/index.html
  从这个地址可以下载到最新版本的POSTFIX,我们这里使用
     ftp://postfix.cn99.com/pub/postfix/official/postfix-20010228-pl06.tar.gz
  按照以下的步骤创建我们的安装目录:

mkdir /usr/local/servers/packages/postfix -p
cd /usr/local/servers/packages/postfix
wget ftp://postfix.cn99.com/pub/postfix/official/postfix-20010228-pl06.tar.gz
tar zxf postfix-20010228-pl06.tar.gz
cd postfix-20010228-pl06

  到这里我们已经成功的把源码解开了,并使用CD命令进入了POSTFIX的源码目录。接下来需要根据我们的需要进行配置。

make -f Makefile.init makefiles CCARGS-DUSE_SASL_AUTH -I/usr/local/servers/library/sasl/include AUXLIBS=-L/usr/local/servers/library/sasl/lib -lsasl
make
sh INSTALL.sh

  按照以下的提示输入相关的路径([]号中的是缺省值,]号后的是输入值)

install_root: [/] /
tempdir: [/usr/local/servers/packages/postfix/postfix-20010228-pl06] /tmp
config_directory: [/etc/postfix] /etc/postfix
daemon_directory: [/usr/libexec/postfix] /usr/local/servers/postfix/libexec
command_directory: [/usr/sbin] /usr/local/servers/postfix/sbin
queue_directory: [/var/spool/postfix] /var/spool/postfix
sendmail_path: [/usr/sbin/sendmail]
newaliases_path: [/usr/bin/newaliases]
mailq_path: [/usr/bin/mailq]
mail_owner: [postfix]
setgid: [no]
manpages: [/usr/local/man] /usr/local/servers/postfix/man
完成以后POSTFIX的安装程序会自动把POSTFIX安装至所提供的目录。

5、安装CYRUS-IMAP源码
  从以下地址得到CYRUS-IMAP的源码:
    ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-2.0.16.tar.gz
  按照以下的步骤创建安装目录:

mkdir /usr/local/servers/packages/cyrus -p
cd /usr/local/servers/packages/cyrus
wget ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-2.0.16.tar.gz
tar zxf cyrus-imapd-2.0.16.tar.gz
cd cyrus-imapd-2.0.16

  然后使用以下命令配置源码:

./configure --prefix=/usr/local/servers/cyrus --with-cyrus-prefix=/usr/local/servers/cyrus --with-sasl=/usr/local/servers/library/sasl
make
make install

  完成之后Cyrus会安装在/usr/local/servers/cyrus中。
  接下来我们要创建CYRUS运行时所必须的几个目录:

mkdir /var/imap/sieve -p
mkdir /var/spool/imap
chown cyrus.mail /var/imap -R
chown cyrus.mail /var/spool/imap -R

二、系统配置
  配置工作主要有两部分,一是配置SMTP服务器也就是POSTFIX,二是配置IMAP服务器也就是CYRUS-IMAP。我们一步一步来,先配置CYRUS-IMAP。

1、配置CYRUS-IMAP服务器
  CYRUS-IMAP服务器的配置文件主要有两个cyrus.conf和imapd.conf
  创建/etc/cyrus.conf,内容如下:

START {
mboxlist cmd="ctl_mboxlist -r"
deliver cmd="ctl_deliver -r"
}
SERVICES {
imap cmd="imapd" listen="imap" prefork=0
pop3 cmd="pop3d" listen="pop3" prefork=0
sieve cmd="timsieved" listen="127.0.0.1:sieve" prefork=0
lmtpunix cmd="lmtpd" listen="/var/imap/conf/socket/lmtp" prefork=0
}

  存盘退出,在/etc/services中添加一项:

sieve 2000/tcp

  存盘退出,再创建/etc/imapd.conf,内容如下:

configdirectory: /var/imap/conf
partition-default: /var/spool/imap
admins: cyrus
sasl_pwcheck_method: pwcheck
sendmail: /usr/sbin/sendmail
sieveusehomedir: false
sievedir: /var/imap/sieve

  存盘退出。至此CYRUS-IMAP的配置文件已经设置完成,我们要运行它的初始化命令去生成整个目录结构:

cd /usr/local/servers/packages/cyrus/cyrus-imapd-2.0.16/tools
su cyrus
./mkimap
exit

  完成之后mkimap程序会自动创建CYRUS-IMAP运行时所需的所有目录。
  接下来就要创建启动脚本了,CYRUS-IMAP缺省是没有启动脚本的,我自己写了两个:
  启动脚本,请将其存为/sbin/startcyrus,内容如下:

#!/bin/sh
#
# /sbin/startcyrus
#
# Starts the cyrus daemon

test -x /usr/local/servers/cyrus/bin/master exit 0

if [ ! -f /var/lock/subsys/cyrus.pid ]; then
/usr/local/servers/cyrus/bin/master%26amp;
echo $! > /var/lock/subsys/cyrus.pid
echo ""
echo "Cyrus IMAP Server started."
echo ""
else
echo "Cyrus IMAP Server:`cat /var/lock/subsys/cyrus.pid`"
kill -TERM `cat /var/lock/subsys/cyrus.pid`
rm -f /var/lock/subsys/cyrus.pid
echo ""
echo "Cyrus IMAP Server shutdown normally."
echo ""

/usr/local/servers/cyrus/bin/master%26amp;
echo $! > /var/lock/subsys/cyrus.pid
echo ""
echo "Cyrus IMAP Server started."
echo ""

fi

  停止脚本,请交其存为/sbin/stopcyrus,内容如下:

#!/bin/sh

if [ ! -f /var/lock/subsys/cyrus.pid ]; then
echo ""
echo "Is cyrus running already?"
echo "I cant found its pid."
echo ""
else
echo "Cyrus IMAP Server:`cat /var/lock/subsys/cyrus.pid`"
kill -TERM `cat /var/lock/subsys/cyrus.pid`
rm -f /var/lock/subsys/cyrus.pid
echo ""
echo "Cyrus IMAP Server shutdown normally."
echo ""
fi

  创建这两个文件之后,不要忘记给它们设置执行属性:

chmod +x /sbin/startcyrus
chmod +x /sbin/stopcyrus

  完成以后,以ROOT的身份运行

startcyrus

  然后使用

tail /var/log/messages

  应该可以看到与之类似的内容:

Nov 4 19:48:28 linuxaid master[1092]: process started
Nov 4 19:48:28 linuxaid ctl_mboxlist[1093]: running mboxlist recovery
Nov 4 19:48:29 linuxaid ctl_mboxlist[1093]: done running mboxlist recovery
Nov 4 19:48:29 linuxaid master[1092]: ready for work

  如果有其它的错误信息,请至论坛《邮件系统》版讨论。然后使用

stopcyrus

  将CYRUS-IMAP停止。

2、配置POSTFIX服务
  POSTFIX的主要配置文件都在/etc/postfix目录中。主配置文件名为main.cf,内容如下:

queue_directory = /var/spool/postfix
command_directory = /usr/local/servers/postfix/sbin
daemon_directory = /usr/local/servers/postfix/libexec
alias_maps = hash:/etc/postfix/aliases
mail_owner = postfix
myhostname = smtp.linuxaid.com.cn #主机名
mydomain = linuxaid.com.cn #域名
myorigin = $mydomain
mailbox_transport = lmtp:unix:/var/imap/conf/socket/lmtp
fallback_transport = lmtp:unix:/var/imap/conf/socket/lmtp
mynetworks = 127.0.0.0/8
smtpd_banner = $mydomain ESMTP 1.0
local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10
debug_peer_level = 2
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_maps_rbl, check_relay_domains
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtp_sasl_security_options = noanonymous
maximal_queue_lifetime = 30m
maps_rbl_domains = blackholes.mail-abuse.org, dialups.mail-abuse.org, relays.mail-abuse.org
smtpd_client_restrictions = permit_mynetworks, reject_maps_rbl

  完成之后存盘退出,生成别名文件:

/usr/local/servers/postfix/sbin/postalias /etc/postfix/aliases

  至此所有配置文件都已经成功设置,再运行:

/usr/local/servers/postfix/sbin/postfix start

  即可启动POSTFIX,使用

tail /var/log/maillog

  应该可以看到,与之类似的信息:

Nov 4 20:10:25 linuxaid postfix-script: warning: creating missing Postfix pid directory
Nov 4 20:10:25 linuxaid postfix-script: warning: creating missing Postfix incoming directory
Nov 4 20:10:25 linuxaid postfix-script: warning: creating missing Postfix active directory
Nov 4 20:10:25 linuxaid postfix-script: warning: creating missing Postfix bounce directory
Nov 4 20:10:25 linuxaid postfix-script: warning: creating missing Postfix defer directory
Nov 4 20:10:25 linuxaid postfix-script: warning: creating missing Postfix deferred directory
Nov 4 20:10:25 linuxaid postfix-script: warning: creating missing Postfix flush directory
Nov 4 20:10:25 linuxaid postfix-script: warning: creating missing Postfix saved directory
Nov 4 20:10:25 linuxaid postfix-script: warning: creating missing Postfix corrupt directory
Nov 4 20:10:25 linuxaid postfix-script: warning: creating missing Postfix public directory
Nov 4 20:10:25 linuxaid postfix-script: warning: creating missing Postfix private directory
Nov 4 20:10:26 linuxaid postfix-script: starting the Postfix mail system
Nov 4 20:10:26 linuxaid postfix/master[1324]: daemon started

  然后使用:

/usr/local/servers/postfix/sbin/postfix stop

  将POSTFIX停止

  至此一个完整的服务已经安装完成。

三、管理
1、记录文件
  邮件系统的记录文件主要有两个,一个是CYRUS-IMAP的记录文件/var/log/messages,另外一个是POSTFIX的记录文件/etc/log/maillog。需要监视系统时只要查看这两个文件即可。
2、用户管理
  由于POSTFIX和CYRUS-IMAP都使用系统账号,所以添加用户时需要在使用系统的useradd对应的添加用户账号。下面我们以用户testuser为例子说明添加用户的过程。
  步骤1,添加普通用户,并设置用户主目录为/home/mailuser,不允许其登录。

useradd testuser -d /home/mailuser -s/usr/bin/passwd

  步骤2,为此用户添加邮箱。

/usr/local/servers/cyrus/bin/cyradm -u cyrus localhost
#启动CYRUS邮箱管理器,会提示你输入CYRUS的密码,输入后就可以进入管理命令行。

  在命令行运行:

cm user.testuser

  即可为此用户添加一个账号,如果需要添加发件箱、垃圾箱,则可以继续使用命令:

cm user.testuser.Sent
cm user.testuser.Trash
cm user.testuser.Drafts

  注意,收件箱是user.testuser,所有的文件夹都必须以user.testuser为基础创建。
  其它用户的管理方法也是这样。

四、启动系统
  只需要使用:
startcyrus
/usr/local/servers/postfix/sbin/postfix start

  就可以启动,至此你就拥有一个支持以下功能的邮件系统了:

SMTP
SMTP AUTH
IMAP4
POP3
SIEVE

  进一步的功能,如邮件账号与系统账号分析等等将在以后的版本中继续说明。
  然后由于此手册还在编写中,大家在实际操作过程中如果遇到任何问题可以到本站的《邮箱服务器》版讨论,同时协助我们更新此档案。

(作者:FloatBoat)

,

文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·web打印的另类方法-ASP教程,打印相关
·Java简单类型进行精确浮点数运算-JSP教程,Java技巧及代码
·使用JAVAMAIL发邮件的一个例子-JSP教程,邮件相关
·中国移动本地传输网建设方案初探
·传输系统中的时钟同步技术
·JSP学习经验总结(转)-JSP教程,Jsp/Servlet
·WEB打印,去页眉和页脚-ASP教程,打印相关
·Native XML数据库技术详解-.NET教程,XML应用
·jsp生成html--readtemplates-JSP教程,Jsp/Servlet
·下拉框反回选定的文字 (修改页面经常用到)-ASP教程,ASP应用
最新文章
·在xp中如何使用windows vista屏保_windows xp
·photoshop调色:cmyk模式处理单色调特效_photoshop教程
·视频分享网站视频广告发展面临的问题_营销推广
·难以置信,这样的网站每月盈利上千万_营销推广
·大站做百度主题推广 小站做google adsense_网赚技巧
·方兴东:保留alexa插件才能给站长带来快乐_站长访谈
·网友天下ceo叶灵:欢迎大家看web2.0笑话_站长访谈
·我们应该如何运营网站_站长心得
·网站从业者还要更加务实才能赚钱_站长心得
·炼成高级网络编辑的三大原则_站长心得
相关主题
  • postfix + cyrus-imap + cyrus-sasl + mysql + imp 完全指南_qmail
  • postfix 邮件病毒过滤_qmail
  • postfix + courier-imap + cyrus-sasl + mysql + imp完全指南(新版)_qmail
  • postfix + spamassassin 安裝手冊_qmail
  • postfix + cyrus-sasl + cyrus-imapd + pgsql howto_qmail
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭