Linux Postfix 全面安装指导手册之五安装 Courier-imap与Maildrop
2012-02-22 14:58
337 查看
[align=left](1)安装courier-imap[/align]
[align=left](2)修改配置文件/usr/local/imap/etc/pop3d及/usr/local/imap/etc/imapd。把/usr/local/imap/etc/pop3d 文件的行"POP3DSTART=NO"改成"POP3DSTART=YES",再依照这个形式把文件 /usr/local/imap/etc/imapd的行"IMAPDSTART=NO"改成"IMAPDSTART=YES"即可。[/align]
[align=left](3)复制文件 courier-imap.sysvinit到目录/usr/local/imap/sbin,以便于启动imap的守护进程。[/align]
[align=left][root@mail1courier-imap-4.1.3]# cp courier-imap.sysvinit /usr/local/imap/sbin/imapd[/align]
[align=left](4)测试imap服务。[/align]
[root@mail1 courier-imap-4.1.3]# /usr/local/imap/sbin/imapd start
Starting Courier-IMAP server: imap pop3
[align=left]5> 使用 POP3 over ssl[/align]
[align=left]1)进入目录 /usr/local/imap/share 修改文件mkpop3dcert,将其有效期改成365000 (默认值是 365),修改后的行为:[/align]
[align=left]Usr/bin/openssl req –new –x509 –days 36500 –nodes \[/align]
[align=left] -config /usr/local/imap/etc/pop3d.conf –out[/align]
[align=left]/usr/local/imap/share/pop3d.pem –keyout[/align]
[align=left]/usr/local/imap/share/pop3d.pem || cleanup[/align]
[align=left]2)执行命令/usr/local/imap/share/mkpop3dcert.在同一目录生成所需的文件 pop3d.pem[/align]
[align=left]3)执行命令/usr/local/imap/libexec/pop3d-ssl.rc start, 启动pop3-ssl[/align]
[align=left]4)然后用netstan –anp | grep 995检查是否在监听。正常情况下会有以下的输出:[/align]
[align=left]Tcp 0 0 :::995 :::*[/align]
[align=left] LISTEN 2412/couriertcpd[/align]
[align=left]在postfix所有组件都正常工作以后。把客户端的POP端口由110修改成995,然后收一下,这样就能准确无误地验证SSL功能是否正常工作了。[/align]
[align=left]◆安装courier-maildrop[/align]
[align=left]Maiidrop的作用是本地投递,即把收到的邮件移动到相应的用户目录。在前面配置postfix的时候,我们已经把与maildrop相关的东西写进文件/etc/postfix/master.cf了,因此这里就不再叙述。前面的步骤我们也提到过pcre 这个软件,它是安装maildrop所必须的,所以需要先安装这个软件(如果系统不存在这个软件的话)。[/align]
[align=left]下面的命令简单验证maildrop[/align]
[align=left]输出内容一定要有"Courier Authentication Library extension enabled"这一行。如果没有这个输出,那是非常不幸的事情了,返回去挨个排错吧。那么这个"Courier Authentication Library extension enabled"是怎么一回事呢?这表明maildrop已经和前面我们安装配置的SASL和courier-authlib紧密结合在一起了。[/align]
[align=left]知道maildrop把邮件移动到哪个用户目录还是非常有必要的,这个操作就是maildrop的日志记录。这里我们创建一个新文件/etc/maildroprc,这个文件就2行内容:[/align]
的信,
[align=left]很可惜maidrop没有创建和删除邮件用户目录的能力,在配置postfixadmin时,我们提到需要使用2个shell脚本 /usr/sbin/maildirdel.sh及/usr/sbin/maildirmake.sh,这2个脚本的作用就是用来弥补maildrop不能创建/删除目录这个缺陷的。[/align]
[align=left]这2个脚本由web调用,而web(apache)的执行用户为vmail,出于安全考虑,我们给vmail用户的权限非常有限,为了保证这2个 shell脚本能正常执行,需要使用sudo这个工具来完成这个任务。尽管可以使用vi这样的编辑器来修改/etc/sudoers这个配置文件,但还是不及visudo可靠,因为visudo可以对修改的内容做语法检查,如果更改不正确,保存文件是会给出提示。把行"vmail ALL = NOPASSWD: /usr/sbin/maildirmake.sh , /usr/sbin/maildirdel.sh"追加到文件末尾即可![/align]
[align=left]有的时候,在postfixadmin里创建新的邮件帐号,帐号倒是创建成功了,却并没有在指定的位置生成相应的虚拟用户目录,从网上收集的信息来看,这个问题似乎很普遍,我本人也被这个问题困扰过--以vmail 用户手动执行sudo /usr/sbin/maildirdel.sh就能创建目录,用web方式就是不行-实验多次才找出原因,原来是/etc/sudoers里需要把 "Defaults requiretty"这行注释掉。有人可能要问,你怎么知道要这样做呢?答:我是通过看apache日志知道要这样干的。[/align]
安装创建邮件存储目录[root@mail1 ~]# mkdir -p /var/mailbox/mail.sery.com/postmaster
[root@mail1 ~]# maildirmake /var/mailbox/mail.sery.com /Maildir
[root@mail1 ~]# chown -R vmail:vmail /var/mailbox
[align=left] [/align]
[align=left]调式POSTFIX[/align]
[align=left] [/align]
[root@mail1 postfixadmin]# perl -e 'use MIME::Base64;print encode_base64("ggggg\@mail.sery.com")'
Z2dnZ2dAbWFpbC5zZXJ5LmNvbQ==
[root@mail1 postfixadmin]# perl -e 'use MIME::Base64;print encode_base64("123456)'
MTIzNDU2
[root@mail1 postfixadmin]# telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 mail1.mail.sery.com ESMTP "Version not Available"
ehlo mail.sery.com
250-mail1.mail.sery.com
250-PIPELINING
250-SIZE 14336000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth login
334 VXNlcm5hbWU6
Z2dnZ2dAbWFpbC5zZXJ5LmNvbQ==
334 UGFzc3dvcmQ6
MTIzNDU2
235 2.0.0 Authentication successful
quit
221 2.0.0 Bye
Connection closed by foreign host.
[root@mail1 postfixadmin]#
[align=left] [/align]
[root@mail1 postfixadmin]# telnet 127.0.0.1 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK Hello there.
user ggggg
+OK Password required.
pass 123456
+OK logged in.
quit
+OK Bye-bye.
Connection closed by foreign host.
[align=left] [/align]
[root@mail1 postfixadmin]# /usr/local/authlib/sbin/authtest -s login ggggg@mail.sery.com 123456
Authentication succeeded.
Authenticated: ggggg@mail.sery.com (uid 1001, gid 1001)
Home Directory: /var/mailbox/
Maildir: /var/mailbox/mail.sery.com/ggggg/
Quota: 0S
Encrypted Password: $1$b52655bb$pKOrEujA0eZnhBAuunfhG0
Cleartext Password: 123456
Options: (none)
[align=left] [/align]
[align=left]OK 测试SASL 与POP3 SMTP 成功了[/align]
[align=left] [/align]
[align=left]认所有服务在系统启动后启动起来[/align]
[root@mail1 postfixadmin]# cat /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
######################################
/usr/local/apache/bin/apachectl start
/usr/local/mysql/bin/mysqld_safe --user=mysql &
/usr/local/authlib/sbin/authdaemond start
/usr/local/sbin/saslauthd -a shadow pam
/usr/local/authlib/sbin/courierlogger -pid=/usr/local/authlib/var/spool/authdaemon/pid -start /usr/local/authlib/libexec/courier-authlib/authdaemond
/usr/local/imap/sbin/imapd start
/usr/local/imap/libexec/pop3d-ssl.rc start
本文出自 “IT” 博客,请务必保留此出处http://benly.blog.51cto.com/460663/786751
[align=left][root@mail1~]# cd[/align] [align=left][root@mail1~]# tar jxvf courier-imap-4.5.0.tar.bz2[/align] [align=left][root@mail1~]# cd courier-imap-4.5.0[/align] [align=left] [root@mail1 urier-imap-4.5.0]#./configure --prefix=/usr/local/imap --with-redhat [/align] [align=left]--disable-root-check --enable-unicode=utf-8,iso-8859-1,gb2312,gbk,gb18030[/align] [align=left]--with-trashquota --with-dirsync --with-mysql-libs=/usr/local/mysql/lib/mysql --with-mysql-includes=/usr/local/mysql/include/mysql/ --with-authmysql --with-authmysql=yes[/align] [align=left][root@mail1courier-imap-4.1.3]# make[/align] [align=left][root@mail1courier-imap-4.1.3]# make install[/align] [align=left][root@mail1courier-imap-4.1.3]# make install-configure[/align] |
[align=left](3)复制文件 courier-imap.sysvinit到目录/usr/local/imap/sbin,以便于启动imap的守护进程。[/align]
[align=left][root@mail1courier-imap-4.1.3]# cp courier-imap.sysvinit /usr/local/imap/sbin/imapd[/align]
[align=left](4)测试imap服务。[/align]
[root@mail1 courier-imap-4.1.3]# /usr/local/imap/sbin/imapd start
Starting Courier-IMAP server: imap pop3
[align=left]5> 使用 POP3 over ssl[/align]
[align=left]1)进入目录 /usr/local/imap/share 修改文件mkpop3dcert,将其有效期改成365000 (默认值是 365),修改后的行为:[/align]
[align=left]Usr/bin/openssl req –new –x509 –days 36500 –nodes \[/align]
[align=left] -config /usr/local/imap/etc/pop3d.conf –out[/align]
[align=left]/usr/local/imap/share/pop3d.pem –keyout[/align]
[align=left]/usr/local/imap/share/pop3d.pem || cleanup[/align]
[align=left]2)执行命令/usr/local/imap/share/mkpop3dcert.在同一目录生成所需的文件 pop3d.pem[/align]
[align=left]3)执行命令/usr/local/imap/libexec/pop3d-ssl.rc start, 启动pop3-ssl[/align]
[align=left]4)然后用netstan –anp | grep 995检查是否在监听。正常情况下会有以下的输出:[/align]
[align=left]Tcp 0 0 :::995 :::*[/align]
[align=left] LISTEN 2412/couriertcpd[/align]
[align=left]在postfix所有组件都正常工作以后。把客户端的POP端口由110修改成995,然后收一下,这样就能准确无误地验证SSL功能是否正常工作了。[/align]
[align=left]◆安装courier-maildrop[/align]
[align=left]Maiidrop的作用是本地投递,即把收到的邮件移动到相应的用户目录。在前面配置postfix的时候,我们已经把与maildrop相关的东西写进文件/etc/postfix/master.cf了,因此这里就不再叙述。前面的步骤我们也提到过pcre 这个软件,它是安装maildrop所必须的,所以需要先安装这个软件(如果系统不存在这个软件的话)。[/align]
[align=left][root@mail1 courier-imap-4.1.3]# cd[/align] [align=left][root@mail1 courier-imap-4.1.3]# tar jxvf pcre-7.2.tar.bz2[/align] [align=left][root@mail1 courier-imap-4.1.3]# cd pcre-7.2[/align] [align=left][root@mail1 courier-imap-4.1.3]# ./configure[/align] [align=left][root@mail1 courier-imap-4.1.3]# make[/align] [align=left][root@mail1 courier-imap-4.1.3]# make install[/align] [align=left]//安装pcre应该是非常容易的事情,片刻之间就可搞定,接下来安装maildrop.在执行配置过程中,需要很多选项,不要疏漏。[/align] [align=left][root@mail1 pcre-7.2]# cd[/align] [align=left][root@mail1 pcre-7.2]# tar jxvf maildrop-2.5.0.tar.bz2[/align] [align=left][root@mail1 pcre-7.2]# cd maildrop-2.5.0[/align] [align=left][root@mail1 maildrop-2.5.0]#[/align] [align=left] [/align] 首先将courier-authlib的头文件及库文件链接至/usr目录(编译maildrop时会到此目录下找此些相关的文件): ln -sv /usr/local/authlib/bin/courierauthconfig /usr/bin ln -sv /usr/local/authlib/include/* /usr/include [align=left] [/align] [align=left][root@mail1 maildrop-2.5.0]# ./configure --prefix=/usr/local/maildrop --enable-[/align] [align=left]sendmail=/usr/sbin/sendmail --enable-trusted-users='root vmail' --enable-syslog=1 [/align] [align=left]--enable-maildirquota --enable-maildrop-uid=1001 --enable-maildrop-gid=1001 --with[/align] [align=left]-trashquota --with-dirsync[/align] [align=left][root@mail1maildrop-2.0.4]# make[/align] [align=left][root@mail1maildrop-2.0.4]# make install[/align] [align=left][root@mail1maildrop-2.0.4]# cp /usr/local/maildrop/bin/maildrop /usr/bin[/align] |
[align=left][root@mail1~]# maildrop –v[/align] [align=left]maildrop 2.0.4 Copyright 1998-2005 Double Precision, Inc.[/align] [align=left]GDBM extensions enabled.[/align] [align=left]Courier Authentication Library extension enabled.[/align] [align=left]Maildir quota extension enabled.[/align] [align=left]This program is distributed under the terms of the GNU General Public[/align] [align=left]License. See COPYING for additional information.[/align] |
[align=left]知道maildrop把邮件移动到哪个用户目录还是非常有必要的,这个操作就是maildrop的日志记录。这里我们创建一个新文件/etc/maildroprc,这个文件就2行内容:[/align]
[align=left][root@mail1mailbox]# more /etc/maildroprc[/align] [align=left]logfile "/var/mailbox/maildrop.log" [/align] [align=left]to "$HOME/$DEFAULT" 或者 to "$HOME/Maildir" [/align] |
[align=left]很可惜maidrop没有创建和删除邮件用户目录的能力,在配置postfixadmin时,我们提到需要使用2个shell脚本 /usr/sbin/maildirdel.sh及/usr/sbin/maildirmake.sh,这2个脚本的作用就是用来弥补maildrop不能创建/删除目录这个缺陷的。[/align]
[align=left][root@mail1 ~]# more /usr/sbin/maildirmake.sh[/align] [align=left]#!/bin/bash[/align] [align=left]set -e[/align] [align=left]if [ ! -d /var/mailbox/$1 ][/align] [align=left]then[/align] [align=left]mkdir /var/mailbox/$1[/align] [align=left]fi [/align] [align=left]chown -R vmail:vmail /var/mailbox/$1[/align] [align=left]cd "/var/mailbox/$1"[/align] [align=left]/usr/local/imap/bin/maildirmake $2[/align] [align=left]mkdir /var/mailbox/$1/$2/Maildir[/align] [align=left]chown -R vmail:vmail /var/mailbox/$1/$2[/align] [align=left] [/align] [align=left][root@mail1 ~]# more /usr/sbin/maildirdel.sh[/align] [align=left]#!/bin/bash[/align] [align=left]rm -rf /var/mailbox/$1/$2[/align] |
[align=left]有的时候,在postfixadmin里创建新的邮件帐号,帐号倒是创建成功了,却并没有在指定的位置生成相应的虚拟用户目录,从网上收集的信息来看,这个问题似乎很普遍,我本人也被这个问题困扰过--以vmail 用户手动执行sudo /usr/sbin/maildirdel.sh就能创建目录,用web方式就是不行-实验多次才找出原因,原来是/etc/sudoers里需要把 "Defaults requiretty"这行注释掉。有人可能要问,你怎么知道要这样做呢?答:我是通过看apache日志知道要这样干的。[/align]
安装创建邮件存储目录[root@mail1 ~]# mkdir -p /var/mailbox/mail.sery.com/postmaster
[root@mail1 ~]# maildirmake /var/mailbox/mail.sery.com /Maildir
[root@mail1 ~]# chown -R vmail:vmail /var/mailbox
[align=left] [/align]
[align=left]调式POSTFIX[/align]
[align=left] [/align]
[root@mail1 postfixadmin]# perl -e 'use MIME::Base64;print encode_base64("ggggg\@mail.sery.com")'
Z2dnZ2dAbWFpbC5zZXJ5LmNvbQ==
[root@mail1 postfixadmin]# perl -e 'use MIME::Base64;print encode_base64("123456)'
MTIzNDU2
[root@mail1 postfixadmin]# telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 mail1.mail.sery.com ESMTP "Version not Available"
ehlo mail.sery.com
250-mail1.mail.sery.com
250-PIPELINING
250-SIZE 14336000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth login
334 VXNlcm5hbWU6
Z2dnZ2dAbWFpbC5zZXJ5LmNvbQ==
334 UGFzc3dvcmQ6
MTIzNDU2
235 2.0.0 Authentication successful
quit
221 2.0.0 Bye
Connection closed by foreign host.
[root@mail1 postfixadmin]#
[align=left] [/align]
[root@mail1 postfixadmin]# telnet 127.0.0.1 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK Hello there.
user ggggg
+OK Password required.
pass 123456
+OK logged in.
quit
+OK Bye-bye.
Connection closed by foreign host.
[align=left] [/align]
[root@mail1 postfixadmin]# /usr/local/authlib/sbin/authtest -s login ggggg@mail.sery.com 123456
Authentication succeeded.
Authenticated: ggggg@mail.sery.com (uid 1001, gid 1001)
Home Directory: /var/mailbox/
Maildir: /var/mailbox/mail.sery.com/ggggg/
Quota: 0S
Encrypted Password: $1$b52655bb$pKOrEujA0eZnhBAuunfhG0
Cleartext Password: 123456
Options: (none)
[align=left] [/align]
[align=left]OK 测试SASL 与POP3 SMTP 成功了[/align]
[align=left] [/align]
[align=left]认所有服务在系统启动后启动起来[/align]
[root@mail1 postfixadmin]# cat /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
######################################
/usr/local/apache/bin/apachectl start
/usr/local/mysql/bin/mysqld_safe --user=mysql &
/usr/local/authlib/sbin/authdaemond start
/usr/local/sbin/saslauthd -a shadow pam
/usr/local/authlib/sbin/courierlogger -pid=/usr/local/authlib/var/spool/authdaemon/pid -start /usr/local/authlib/libexec/courier-authlib/authdaemond
/usr/local/imap/sbin/imapd start
/usr/local/imap/libexec/pop3d-ssl.rc start
本文出自 “IT” 博客,请务必保留此出处http://benly.blog.51cto.com/460663/786751
相关文章推荐
- Linux Postfix 全面安装指导手册三之Postfixadmin安装
- Linux Postfix 全面安装指导手册之六
- Linux Postfix 全面安装指导手册一之Postfix基本网络与LAMP环境配置
- Linux Postfix 全面安装指导手册之四 Postfix 安装与配置
- Linux Postfix 全面安装指导手册二之SASL Authlib安装调试
- courier-authlib、courier-imap、maildrop、cyrus-sasl的编译安装及与postfix的关联
- Oracle 11gR2 64bit On Linux 安装指导手册—数据库技术(一)
- redhat9+postfix+cyrus-sasl+mysql+postfixadmin+courier-imap+courier-maildrop+squirrelmail(courier-sqwebmail openwebmail)+clamav+s
- 基于Linux和Postfix的邮件系统的web mail安装手册(转)
- 基于Linux和Postfix的邮件系统的web mail安装手册
- Linux安装指导手册—Unix/Linux技术文档(一)
- Postfix+ Courier-imap+Smtp的安装配置(Gentoo)-A
- Postfix-courier-authlib-cyrus-sasl-courier-imap-maildrop-extmail-extman源码安装
- linux_6上安装oracle11gR2指导手册
- 邮件服务器 之 基于Linux和Postfix的邮件系统的web mail安装手册
- linux安装apache、mysql、php指导手册
- 基于Linux和Postfix的邮件系统的web mail和extman安装手册
- Dell PE750 Red Hat Enterprise Linux 3.0安装指导手册
- Postfix邮箱(五):安装Courier-IMAP以及TLS安全传输