RedHat 5.4+ Postfix +Extmail实现基于虚拟用户的邮件系统(三)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

十四、配置dovecot

1、配置dovecot的主配置文件

[root@mail docs]# cp /etc/dovecot.conf /etc/dovecot.confbak  #备份

[root@mail docs]# vim /etc/dovecot.conf

211 #mail_location =

修改为:

211 mail_location = maildir:/var/mailbox/%d/%n/Maildir

 

795   passdb pam {

828   }

修改为:

795   #passdb pam {

828   #}

 

869   #passdb sql {

871     #args =

872   #}

修改为:

869   passdb sql {

871    args = /etc/dovecot-mysql.conf

872   }

 

896   userdb passwd {

903   }

修改为:

896   #userdb passwd {

903   #}

 

930   #userdb sql {

      #args =

933   #}

修改为:

930   userdb sql {

       args = /etc/dovecot-mysql.conf

933   }

:wq

 

[root@mail docs]# postfix reload

postfix/postfix-script: refreshing the Postfix mail system

 

2、创建dovecotmysql数据库连接文件              

[root@mail docs]# vim /etc/dovecot-mysql.conf

添加如下内容

driver = mysql

connect = host=localhost dbname=extmail user=extmail password=extmail

default_pass_scheme = CRYPT

password_query = SELECT username AS user,password AS password FROM mailbox WHERE username = '%u'

user_query = SELECT maildir, uidnumber AS uid, gidnumber AS gid FROM mailbox WHERE username = '%u'

 

3、把userdb的其它相关禁用

[root@mail docs]# vim /etc/postfix/main.cf

415 #home_mailbox = Maildir/

修改为:

415 home_mailbox = Maildir/

:wq

 

4、启动dovecot服务

[root@mail docs]# service dovecot start

[root@mail docs]# chkconfig dovecot on

[root@mail docs]# service postfix restart

 

十五、安装Extmail-1.2 (先安装httpd

1、创建extmail网页文件的放置目录

[root@mail ~]# mkdir -pv /var/www/extsuite

mkdir: created directory `/var/www/extsuite'

 

2、安装Extmail-1.2

[root@mail ~]# tar -zxvf extmail-1.2.tar.gz -C /usr/local/src/

[root@mail ~]# cd /usr/local/src/

[root@mail src]# mv extmail-1.2/ /var/www/extsuite/extmail

[root@mail src]# mv extman-1.1/ /var/www/extsuite/extman

[root@mail src]# cd /var/www/extsuite

[root@mail extsuite]# ll

total 16

drwxr-xr-x  7 hw hw 4096 Dec 25  2009 extmail

drwxr-xr-x 11 hw hw 4096 Dec 24  2009 extman

[root@mail extsuite]# cd extmail/

[root@mail extmail]# cp webmail.cf.default webmail.cf

[root@mail extmail]# cp webmail.cf webmail.cfbak    #备份

 

3、修改主配置文件

[root@mail extmail]# vim webmail.cf

77 SYS_USER_LANG = en_US

修改为:

77 SYS_USER_LANG = zh_CN              #语言中文

 

104 SYS_MESSAGE_SIZE_LIMIT = 5242880   #用户可以发送的最大邮件,使用默认值即可

 

127 SYS_MAILDIR_BASE = /home/domains

修改为:

127 SYS_MAILDIR_BASE = /var/mailbox      #用户邮件的存放目录

 

139 SYS_MYSQL_USER = db_user

140 SYS_MYSQL_PASS = db_pass

修改为:

139 SYS_MYSQL_USER = extmail   #连接数据库服务器所使用的用户名

140 SYS_MYSQL_PASS = extmail    #连接数据库服务器所使用的密码

 

142 SYS_MYSQL_HOST = localhost  #指明数据库服务器主机名

 

145 SYS_MYSQL_TABLE = mailbox

146 SYS_MYSQL_ATTR_USERNAME = username

147 SYS_MYSQL_ATTR_DOMAIN = domain

148 SYS_MYSQL_ATTR_PASSWD = password

以上四项用来指定验正用户登录里所用到的表,以及用户名、域名和用户密码分别对应的表中列的名称;这里默认即可

 

197 SYS_AUTHLIB_SOCKET = /var/spool/authdaemon/socket

修改为:

197 SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket  指明authdaemo socket文件的位置

:wq

 

[root@mail extmail]# service httpd start

[root@mail extmail]# chkconfig httpd on

 

4apache相关配置

由于extmail要进行本地邮件的投递操作,故必须将运行apache服务器用户的身份修改为您的邮件投递代理的用户;本例中打开了apache服务器的suexec功能,故使用以下方法来实现虚拟主机运行身份的指定。此例中的MDApostfix自带,因此将指定为postfix用户:

[root@mail extmail]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.confbak  #备份

[root@mail extmail]# vim /etc/httpd/conf/httpd.conf

231 User apache

232 Group apache

修改为:

231 User  postfix

232 Group  postfix

在最后添加以下内容:

<VirtualHost 172.16.1.254:80>

ServerName mail.postfix.rog

DocumentRoot /var/www/extsuite/extmail/html/

ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi

Alias /extmail /var/www/extsuite/extmail/html

</VirtualHost>

:wq

 

4、修改 cgi执行文件属主为运行apache用户

[root@mail extmail]# chown -R postfix.postfix /var/www/extsuite/extmail/cgi/

[root@mail extmail]# service httpd restart

 

5、依赖关系的解决,编译安装Unix-Syslog-0.100.tar.gz

[root@mail ~]# tar -zxvf Unix-Syslog-1.1.tar.gz -C /usr/local/src/

[root@mail ~]# cd /usr/local/src/

[root@mail src]# cd Unix-Syslog-1.1/

[root@mail Unix-Syslog-1.1]# perl Makefile.PL

[root@mail Unix-Syslog-1.1]# make

[root@mail Unix-Syslog-1.1]# make install

 

IE浏览器访问输入:http://172.16.1.254/extmail

报错误信息:

Unix::Syslog not found, please install it first! (in cleanup) Undefined subroutine &Ext::Logger::do_closelog called at /var/www/extsuite/extmail/libs/Ext/Logger.pm line 86.

解决方法:

没装perl-Unix-Syslog,

安装perl-Unix-Syslog-0.100-1hzq.i386.rpm搞定

依赖关系的解决,编译安装Unix-Syslog-0.100.tar.gz

[root@mail ~]# tar -zxvf Unix-Syslog-1.1.tar.gz -C /usr/local/src/

[root@mail ~]# cd /usr/local/src/

[root@mail src]# cd Unix-Syslog-1.1/

[root@mail Unix-Syslog-1.1]# perl Makefile.PL

[root@mail Unix-Syslog-1.1]# make

[root@mail Unix-Syslog-1.1]# make install

 

 

6、启动apache服务

[root@mail Unix-Syslog-1.1]# service httpd start

 

7IE浏览器访问

输入:http://172.16.1.254/extmail

选择“登录邮箱管理”即可登入extman进行后台管理,默认管理帐号为:root@extmail.org  密码为:extmail*123*,如下:

报错:404 Not Found

Not Found

The requested URL /extman/cgi/index.cgi was not found on this server.

解决方法:接如下配置Extman-1.1继续。。。。。。

 




本文转自 yhw85 51CTO博客,原文链接:http://blog.51cto.com/yanghuawu/1103289,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
存储 网络协议 Linux
Postfix + Extmail 企业邮件服务器搭建
ExtMail套件用于提供从浏览器中登录、使用邮件系统的Web操作界面,而Extman套件用于提供从浏览器中管理邮件系统的Web操作界面。它以GPL版权释出,设计初衷是希望设计一个适应当前高速发展的IT应用环境,满足用户多变的需求,能快速进行开发、改进和升级,适应能力强的webmail系统。
749 0
Postfix + Extmail 企业邮件服务器搭建
|
Web App开发 关系型数据库 MySQL