sasl+Extmail实现基于虚拟用户的邮件系统架构(5)

八、安装Extmail-1.2

1、安装
tar zxvf extmail-1.2.tar.gz 
mkdir -pv /var/www/extsuite   创建extmail网页文件的放置目录
mv extmail-1.2 /var/www/extsuite/extmail 
cp /var/www/extsuite/extmail/webmail.cf.default  /var/www/extsuite/extmail/webmail.cf

2、修改主配置文件 /var/www/extsuite/extmail/webmail.cf
vim /var/www/extsuite/extmail/webmail.cf ,对应项修改结果如下:

SYS_MESSAGE_SIZE_LIMIT = 5242880   用户可以发送的最大邮件,使用默认值即可
SYS_USER_LANG = zh_CN    语言为中文
SYS_MAILDIR_BASE = /var/mailbox   用户邮件的存放目录
SYS_MySQL_USER = extmail    连接数据库服务器所使用的用户名
SYS_MYSQL_PASS = extmail    连接数据库服务器所使用的密码
SYS_MYSQL_HOST = localhost  指明数据库服务器主机名

SYS_MYSQL_TABLE = mailbox
SYS_MYSQL_ATTR_USERNAME = username
SYS_MYSQL_ATTR_DOMAIN = domain
SYS_MYSQL_ATTR_PASSWD = password
以上四项用来指定验正用户登录里所用到的表,以及用户名、域名和用户密码分别对应的表中列的名称;这里默认即可
SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket  指明authdaemo socket文件的位置

3、apache相关配置

由于extmail要进行本地邮件的投递操作,故必须将运行apache服务器用户的身份修改为您的邮件投递代理的用户;本例中打开了apache服务器的suexec功能,故使用以下方法来实现虚拟主机运行身份的指定。此例中的MDA为postfix自带,因此将指定为postfix用户:
<VirtualHost *:80>
ServerName mail.test.com
DocumentRoot /var/www/extsuite/extmail/html/
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
Alias /extmail /var/www/extsuite/extmail/html
SuexecUserGroup postfix postfix
</VirtualHost>

如果没有打开apache服务器的suexec功能,也可以使用以下方法解决:
# vi /etc/httpd/httpd.conf
User postfix
Group postfix

<VirtualHost *:80>
ServerName mail.test.com
DocumentRoot /var/www/extsuite/extmail/html/
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
Alias /extmail /var/www/extsuite/extmail/html
</VirtualHost>

修改 cgi执行文件属主为运行apache用户: 
chown -R postfix.postfix /var/www/extsuite/extmail/cgi/

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

extmail将会用到perl的Unix::syslogd功能 
tar zxvf Unix-Syslog-0.100.tar.gz 
cd Unix-Syslog-0.100 
perl Makefile.PL 
make 
make install

5、启动apache服务 
service httpd start 
chkconfig httpd on

 

九、安装Extman-1.1

1、安装及基本配置  
mv extman-1.1 /var/www/extsuite/extman

2、修改配置文件以符合本例的需要: 
  cp /var/www/extsuite/extman/webman.cf.default  /var/www/extsuite/extman/webman.cf 
  vim /var/www/extsuite/extman/webman.cf  对应项修改结果如下:

  SYS_MAILDIR_BASE = /var/mailbox  设置用户邮件的存放目录
  SYS_CAPTCHA_ON = 0

3、修改cgi目录的属主: 
chown -R postfix.postfix /var/www/extsuite/extman/cgi/

4、在apache的主配置文件/etc/httpd/conf/httpd.conf 中Extmail的虚拟主机部分,添加如下两行:
ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
Alias /extman /var/www/extsuite/extman/html

5、创建其运行时所需的临时目录,并修改其相应的权限:
mkdir  -pv  /tmp/extman
chown postfix.postfix  /tmp/extman

6、重启apache服务

service httpd restart

十、登录extmail

如果使用的是虚拟机的话,就将物理主机的DNS服务器地址指向此虚拟机中的主机:

2011-09-22 15-54-33

在浏览器中输入将显示如下页面

2011-09-22 16-46-47

因为此时还没有虚拟域和用户,没有虚拟域就不能进行虚拟用户注册,所以选择“登录邮箱管理”即可登入extman进行后台管理,然后我们创建虚拟域,就可以让用户注册邮箱,并实现邮件的发送和接受了。默认管理帐号为:root@extmail.org  密码为:extmail*123*,如下:

2011-09-22 20-44-59

登录成功进入后台管理界面,我们可以看到系统的基本信息

2011-09-22 21-04-33

点击上图中的“域列表”选项,去创建一个新的虚拟域

2011-09-22 21-17-53

点击上图的“添加域”,进入添加域界面,我们能填一些有关新建域的基本信息

2011-09-22 21-22-18

点击“保存修改”之后,会有添加成功的提示,点击上方的域列表,就可以看到我们新建的虚拟域test.com了。

2011-09-22 21-27-24

我们需要再次点击这个列表中的test.com进行激活,这个虚拟域才能真正的使用,此不就不再演示了。

激活成功之后,我们回到登录页面,选择“免费注册”,在此域中注册两个虚拟用户,进行邮件收发的测试。

2011-09-22 21-31-57

进入注册页面,输入注册的用户名

2011-09-22 21-34-13

点击“提交”,填写详细信息

2011-09-22 21-34-44

填写完成,点击提交即可,注册成功将显示如下信息:

2011-09-22 21-36-59

下面就可以直接登录自己的邮箱了,使用同样的方法再创建一个用户CentOS.test.com,在gentoo的邮箱里给centos发一封邮件进行测试,写信和发送的过程就和我们平成使用其他邮件服务器的客户端软件差不多了。

说明:启用虚拟域以后,需要取消中心域,即注释掉/etc/postfix/main.cf中的myhostname, mydestination, mydomain, myorigin几个指令。

gentoo发一封测试信:

2011-09-22 21-56-09

登录centos的邮箱查看:

2011-09-22 21-56-09

测试成功。

说明:
(1) 如果您安装后无法正常显示校验码,安装perl-GD模块会解决这个问题。如果想简单,您可以到以下地址下载适合您的平台的rpm包,安装即可: 

(2) extman-1.1自带了图形化显示日志的功能;此功能需要rrdtool的支持,您需要安装此些模块才可能正常显示图形日志。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/e369c750043f1c782cb96242057dd8dc.html