postfix简介:

     postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。

postfix特点

1. postfix是免费的。

2. 更快: postfix在性能上大约比sendmail×××倍。一部运行postfix的台式PC每天可以收发上百万封邮件。

3. 兼容性好: postfix是sendmail兼容的,从而使sendmail用户可以很方便地迁移到postfix。Postfix支持/var[/spool]/mail、/etc/aliases、 NIS、和 ~/.forward 文件。

4. 更健壮: postfix被设计成在重负荷之下仍然可以正常工作。当系统运行超出了可用的内存或磁盘空间时,postfix会自动减少运行进程的数目。当处理的邮件数目增长时,postfix运行的进程不会跟着增加。

5. 更灵活:postfix是由超过一打的小程序组成的,每个程序完成特定的功能。你可以通过配置文件设置每个程序的运行参数。

6. 安全性 :postfix具有多层防御结构,可以有效地抵御恶意***者。如大多数的postfix程序可以运行在较低的权限之下,不可以通过网络访问安全性相关的本地投递程序等等。

postfix处理过程 接收邮件的过程

当postfix接收到一封新邮件时,新邮件首选在incoming队列处停留,然后针对不同的情况进行不同的处理:

1.对于来自于本地的邮件:local进程负责接收来自本地的邮件放在maildrop队列中,然后pickup进程对maildrop中的邮件进行完整性检测。maildrop目录的权限必须设置为某一用户不能删除其他用户的邮件。

2.对于来自于网络的邮件:smtpd进程负责接收来自于网络的邮件,并且进行安全性检测。可以通过UCE(unsolicited commercial email)控制smtpd的行为。

3.由postfix进程产生的邮件:这是为了将不可投递的信息返回给发件人。这些邮件是由bounce后台程序产生的。

5. 由postfix自己产生的邮件:提示postmaster(也即postfix管理员)postfix运行过程中出现的问题。(如SMTP协议问题,违反UCE规则的记录等等。)

关于cleanup后台程序的说明:cleanup是对新邮件进行处理的最后一道工序,它对新邮件进行以下的处理:添加信头中丢失的Form信息;为将地址重写成标准的user@fully.qualified.domain格式进行排列;重信头中抽出收件人的地址;将邮件投入incoming队列中,并请求邮件队列管理进程处理该邮件;请求trivial-rewrite进程将地址转换成标准的user@fully.qualified.domain格式。

投递邮件的过程

新邮件一旦到达incoming队列,下一步就是开始投递邮件,postfix投递邮件时的处理过程如图三所示。相关的说明如下:

邮件队列管理进程是整个postfix邮件系统的心脏。它和local、smtp、pipe等投递代理相联系,将包含有队列文件路径信息、邮件发件人地址、邮件收件人地址的投递请求发送给投递代理。队列管理进程维护着一个deferred队列,那些无法投递的邮件被投递到该队列中。除此之外,队列管理进程还维护着一个active队列,该队列中的邮件数目是有限制的,这是为了防止在负载太大时内存溢出。邮件队列管理程序还负责将收件人地址在relocated表中列出的邮件返回给发件人,该表包含无效的收件人地址。

如果邮件队列管理进程请求,rewrite后台程序对收件人地址进行解析。但是缺省地,rewrite只对邮件收件人是本地的还是远程的进行区别。

如果邮件对你管理进程请求,bounce后台程序可以生成一个邮件不可投递的报告。

本地投递代理local进程可以理解类似UNIX风格的邮箱,sendmail风格的系统别名数据库和sendmail风格的.forward文件。可以同时运行多个local进程,但是对同一个用户的并发投递进程数目是有限制的。你可以配置local将邮件投递到用户的宿主目录,也可以配置local将邮件发送给一个外部命令,如流行的本地投递代理procmail。在流行的linux发行版本RedHat中,我们就使用procmail作为最终的本地投递代理。

远程投递代理SMTP进程根据收件人地址查询一个SMTP服务器列表,按照顺序连接每一个SMTP服务器,根据性能对该表进行排序。在系统负载太大时,可以有数个并发的SMTP进程同时运行。

postfix案例配置:

所用拓扑图

mysql 符合 信创环境吗_mysql

一.安装postfix的准备工作

1)修改dns指向

[root@localhost ~]# vim /etc/resolv.conf

mysql 符合 信创环境吗_操作系统_02

2)修改主机名

[root@localhost ~]# vim /etc/sysconfig/network

mysql 符合 信创环境吗_开发工具_03

3)修改hosts文件

[root@localhost ~]# vim /etc/hosts

 

mysql 符合 信创环境吗_操作系统_04

4)配置本地yum服务器

[root@mail ~]# cd /mnt/cdrom/Server
[root@mail Server]# vim /etc/yum.repos.d/rhel-debuginfo.repo

mysql 符合 信创环境吗_操作系统_05

5)安装dns相关软件包

[root@mail Server]# yum install bind –y
[root@mail Server]# yum install bind-chroot -y
 
[root@mail Server]# yum install caching-nameserver –y

6)产生dns配置文件

[root@mail Server]# cd /var/named/chroot/etc
[root@mail etc]# cp -p named.caching-nameserver.conf named.conf

7)编辑dns配置文件

[root@mail etc]# vim named.conf

mysql 符合 信创环境吗_开发工具_06

mysql 符合 信创环境吗_mysql_07

mysql 符合 信创环境吗_操作系统_08

8)编辑区域声明文件

[root@mail etc]# vim named.rfc1912.zones

创建xht1.com域

mysql 符合 信创环境吗_mysql_09

9)生成区域文件

[root@mail etc]# cd .. 
 [root@mail chroot]# cd var/named/[root@mail named]# cp -p localhost.zone  xht1.org.zone

10)编辑区域文件

[root@mail named]# vim xht1.org.zone

mysql 符合 信创环境吗_开发工具_10

11)启动dns服务

[root@mail named]# service named start
[root@mail named]# chkconfig named on

12)关闭sendmail

[root@mail named]# service sendmail stop
[root@mail named]# chkconfig sendmail off

12)安装所需的rpm包

[root@mail Server]# yum install httpd  php  php-mysql  mysql  mysql-server  mysql-devel  openssl-devel  dovecot  perl-DBD-MySQL  tcl  tcl-devel  libart_lgpl  libart_lgpl-devel libtool-ltdl  libtool-ltdl-devel  expect  -y

13)查看所需软件组环境

[root@mail Server]# yum grouplist 
 Development Libraries 
 Development Tools 
 Legacy Software Development 
 X Software Development如果缺少用以下的方法安装 
 yum groupinstall "packge_group_name"

14)启动mysql数据库,并给mysql的root用户设置密码

[root@mail Server]# service mysqld start
[root@mail Server]# chkconfig mysqld on
[root@mail Server]# mysqladmin -u root -p  password 123

15)进入mysql授权远程用户

[root@mail Server]# mysql -u root -p 
 Enter password:mysql> GRANT  ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '123';
mysql>FLUSH PRIVILEGES;

16)启动saslauthd服务,并将其加入到自动启动队列:

[root@mail Server]# service saslauthd start 
 [root@mail Server]# chkconfig saslauthd on

二.安装配置postfix

1)创建postfix组及postfix用户

[root@mail ~]# groupadd -g 3535 postfix 
 [root@mail ~]# useradd -g postfix -u 3535 -s /sbin/nologin -M postfix

2)创建postdrop组及用户

[root@mail ~]# groupadd -g 3536 postdrop 
 [root@mail ~]# useradd -g postdrop -u 3536 -s /bin/false -M postdrop

3)编译并安装postfix

[root@mail ~]# tar zxvf postfix-2.8.2.tar.gz -C /usr/local/src
[root@mail ~]# cd /usr/local/src
[root@mail src]# cd postfix-2.8.2/
[root@mail postfix-2.8.2]# make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl  -DUSE_TLS ' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2   -lssl –lcrypto'
[root@mail postfix-2.8.2]# make
[root@mail postfix-2.8.2]# make install

安装过程中用到的选项如下:

install_root: [/] / 
 tempdir: [/usr/local/src/ postfix-2.6.5] /tmp 
 config_directory: [/etc/postfix] /etc/postfix 
 daemon_directory: [/usr/libexec/postfix] 
 command_directory: [/usr/sbin] 
 queue_directory: [/var/spool/postfix] 
 sendmail_path: [/usr/sbin/sendmail] 
 newaliases_path: [/usr/bin/newaliases] 
 mailq_path: [/usr/bin/mailq] 
 mail_owner: [postfix] 
 setgid_group: [postdrop]    
 html_directory: [no] /var/www/postfix_html 
 manpages: [/usr/local/man] 
 readme_directory: [no]

4)生成别名二进制文件,这个步骤如果忽略,会造成postfix效率极低

[root@mail postfix-2.8.2]# newaliases

5)启动postfix服务

[root@mail postfix-2.8.2]# postfix start 
 postfix/postfix-script: starting the Postfix mail system

6)查看postfix是否支持mysql

mysql 符合 信创环境吗_数据库_11

7)查看postfix是否支持验证功能

使用以下命令验正postfix是否支持cyrus风格的sasl认证,如果您的输出为以下结果,则是支持的

mysql 符合 信创环境吗_数据库_12

8)配置postfix启动脚本使其能够用service管理

[root@mail postfix-2.8.2]# mkdir /tmp/xh 
 [root@mail postfix-2.8.2]# cd /tmp/xh 
 [root@mail xh]# cp /mnt/cdrom/Server/postfix-2.3.3-2.1.el5_2.i386.rpm 
 [root@mail xh]# cp /mnt/cdrom/Server/postfix-2.3.3-2.1.el5_2.i386.rpm    ./拆解postfix的rpm包
[root@mail xh]# rpm2cpio postfix-2.3.3-2.1.el5_2.i386.rpm |cpio –id
找到postfix的启动脚本
[root@mail init.d]# cd etc
[root@mail init.d]# cd rc.d
[root@mail rc.d]# cd init.d
复制到开机启动队列
[root@mail init.d]# cp postfix /etc/init.d/
用service停止启动服务
[root@mail ~]# service postfix stop 
 关闭 postfix:                                             [确定][root@mail ~]# service postfix start 
 启动 postfix:                                             [确定][root@mail ~]# chkconfig --add postfix
[root@mail ~]# chkconfig postfix on

9) 创建账号测试postfix

[root@mail ~]# useradd xht1 
 [root@mail ~]# passwd xht1

管理员账号给xht1发送邮件

mysql 符合 信创环境吗_数据库_13

10)对postfix进行一些基本配置下面是修改选项的作用

myorigin参数用来指明发件人所在的域名;
mydestination参数指定postfix接收邮件时收件人的域名,即您的postfix系统要接收到哪个域名的邮件;
myhostname 参数指定运行postfix邮件系统的主机的主机名,默认情况下,其值被设定为本地机器名;
mydomain参数指定您的域名,默认情况下,postfix将myhostname的第一部分删除而作为mydomain的值;
mynetworks 参数指定你所在的网络的网络地址,postfix系统根据其值来区别用户是远程的还是本地的,如果是本地网络用户则允许其访问;
inet_interfaces 参数指定postfix系统监听的网络接口;

修改以下几项的值为:
myhostname = mail.xht1.com
myorigin = xht1.com
mydomain = xht1.com
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 192.168.1.0/24, 127.0.0.0/8

按照上面的配置修改配置文件
[root@mail ~]# vi /etc/postfix/main.cf

mysql 符合 信创环境吗_mysql 符合 信创环境吗_14

mysql 符合 信创环境吗_mysql 符合 信创环境吗_15

mysql 符合 信创环境吗_开发工具_16

mysql 符合 信创环境吗_mysql_17

mysql 符合 信创环境吗_操作系统_18

修改配置文件要注意的问题

1、在postfix的配置文件中,参数行和注释行是不能处在同一行中的;
2、任何一个参数的值都不需要加引号,否则,引号将会被当作参数值的一部分来使用;
3、每修改参数及其值后执行 postfix reload 即可令其生效;但若修改了inet_interfaces,则需重新启动postfix;
4、如果一个参数的值有多个,可以将它们放在不同的行中,只需要在其后的每个行前多置一个空格即可;postfix会把第一个字符为空格或tab的文本行视为上一行的延续;

三、为postfix开启基于cyrus-sasl的认证功能

1)编辑postfix主配置文件

[root@mail sasl2]# vi /etc/postfix/main.cf

加入以下内容:

############################CYRU-SSASL######################### 
 broken_sasl_auth_clients = yes 
 smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,reject_non_fqdn_sender,
reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unauth_destination 
 smtpd_sasl_auth_enable = yes 
 smtpd_sasl_local_domain = $myhostname 
 smtpd_sasl_security_options = noanonymous

2)重启postfix服务

[root@mail sasl2]# service postfix restart

3)生成并配置smtpd.conf文件

添加如下内容:

pwcheck_method: saslauthd 
 mech_list: PLAIN LOGIN[root@mail sasl2]# cd /usr/lib/sasl2/
[root@mail sasl2]# cp -p Sendmail.conf smtpd.conf
[root@mail sasl2]# vim smtpd.conf

mysql 符合 信创环境吗_开发工具_19

4)启动sasl服务

[root@mail sasl2]# service saslauthd restart
[root@mail sasl2]# chkconfig saslauthd on

5)确保postfix已经支持验证服务

[root@mail sasl2]# telnet mail.xht1.com 25

mysql 符合 信创环境吗_数据库_20

四、安装并配置Courier authentication library

1)编译并安装Courier authentication library

[root@mail ~]# tar jxvf courier-authlib-0.63.0.tar.bz2 -C /usr/local/src
[root@mail ~]# cd /usr/local/src/
[root@mail src]# cd courier-authlib-0.63.0/
[root@mail courier-authlib-0.63.0]# ./configure --prefix=/usr/local/courier-authlib --sysconfdir=/etc --with-authmysql --with-mysql-libs=/usr/lib/mysql --with-mysql-includes=/usr/include/mysql --with-redhat --with-authmysqlrc=/etc/authmysqlrc --with-authdaemonrc=/etc/authdaemonrc --with-ltdl-lib=/usr/lib --with-ltdl-include=/usr/include
[root@mail courier-authlib-0.63.0]# make
[root@mail courier-authlib-0.63.0]# make install
[root@mail courier-authlib-0.63.0]# chmod 755 /usr/local/courier-authlib/var/spool/authdaemon

2)生成配置文件

[root@mail courier-authlib-0.63.0]# cp /etc/authdaemonrc.dist  /etc/authdaemonrc 
 [root@mail courier-authlib-0.63.0]# cp /etc/authmysqlrc.dist  /etc/authmysqlrc

3)修改/etc/authdaemonrc 文件

修改如下:

[root@mail ~]# vim /etc/authdaemonrc

mysql 符合 信创环境吗_操作系统_21

mysql 符合 信创环境吗_开发工具_22

mysql 符合 信创环境吗_mysql 符合 信创环境吗_23

4)修改/etc/authmysqlrc文件

[root@mail ~]# vim /etc/authmysqlrc

mysql 符合 信创环境吗_mysql 符合 信创环境吗_24

mysql 符合 信创环境吗_数据库_25


mysql 符合 信创环境吗_开发工具_26

mysql 符合 信创环境吗_操作系统_27


mysql 符合 信创环境吗_开发工具_28

 

mysql 符合 信创环境吗_数据库_29

mysql 符合 信创环境吗_操作系统_30

mysql 符合 信创环境吗_操作系统_31

mysql 符合 信创环境吗_开发工具_32

mysql 符合 信创环境吗_数据库_33

 

mysql 符合 信创环境吗_开发工具_34

mysql 符合 信创环境吗_数据库_35

5)配置用service管理courier-authlib服务

[root@mail ~]# cd /usr/local/src/
[root@mail src]# cd courier-authlib-0.63.0/

复制courier-authlib到开机启动脚本

[root@mail courier-authlib-0.63.0]# cp courier-authlib.sysvinit /etc/init.d/courier-authlib
[root@mail courier-authlib-0.63.0]# chmod 755 /etc/init.d/courier-authlib
[root@mail courier-authlib-0.63.0]# chkconfig --add courier-authlib

6)重启courier-authlib服务

[root@mail courier-authlib-0.63.0]# service courier-authlib start 
 Starting Courier authentication services: authdaemond[root@mail courier-authlib-0.63.0]# chkconfig --level 2345 courier-authlib on

7)把courier-authlib库文件复制到标准路径下

[root@mail courier-authlib-0.63.0]# echo "/usr/local/courier-authlib/lib/courier-authlib" >> /etc/ld.so.conf.d/courier-authlib.conf

加载库

[root@mail courier-authlib-0.63.0]# ldconfig –v

重启服务

[root@mail courier-authlib-0.63.0]# service courier-authlib restart

8)新建虚拟用户邮箱所在的目录,并将其权限赋予postfix用户:

[root@mail ~]# mkdir -pv /var/mailbox 
 mkdir: 已创建目录 “/var/mailbox” 
[root@mail ~]# chown -R postfix /var/mailbox

9)接下来重新配置SMTP 认证,编辑 ,确保其为以下内容:

pwcheck_method: authdaemond 
 log_level: 3 
 mech_list:PLAIN LOGIN 
 authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket[root@mail ~]# vim /usr/lib/sasl2/smtpd.conf

mysql 符合 信创环境吗_mysql 符合 信创环境吗_36

重启sasl,courier-authlib 服务

[root@mail ~]# service saslauthd restart
[root@mail ~]# service courier-authlib restart

五、让postfix支持虚拟域和虚拟用户

1)编辑/etc/postfix/main.cf,添加如下内容:

########################Virtual Mailbox Settings######################## 
 virtual_mailbox_base = /var/mailbox 
 virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf 
 virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf 
 virtual_alias_domains = 
 virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf 
 virtual_uid_maps = static:3535 
 virtual_gid_maps = static:3535 
 virtual_transport = virtual 
 maildrop_destination_recipient_limit = 1 
 maildrop_destination_concurrency_limit = 1 
 ##########################QUOTA Settings######################## 
 message_size_limit = 14336000 
 virtual_mailbox_limit = 20971520 
 virtual_create_maildirsize = yes 
 virtual_mailbox_extended = yes 
 virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf 
 virtual_mailbox_limit_override = yes 
 virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please Tidy your mailbox and try again later. 
 virtual_overquota_bounce = yes

按照上面的说明配置如下:

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

mysql 符合 信创环境吗_操作系统_37

2)使用extman源码目录下docs目录中的extmail.sql和init.sql建立数据库:

[root@mail ~]# tar -zxvf extman-1.1.tar.gz
[root@mail ~]# cd extman-1.1
[root@mail extman-1.1]# cd  docs/
[root@mail docs]# mysql -u root -p <extmail.sql
[root@mail docs]# mysql -u root -p <init.sql
[root@mail docs]# cp mysql*  /etc/postfix/

验证

[root@mail docs]# mysql -u root –p

mysql 符合 信创环境吗_开发工具_38

3)授予用户extmail访问extmail数据库的权限

mysql> GRANT all privileges on extmail.* TO extmail@localhost IDENTIFIED BY 'extmail';
mysql>GRANT all privileges on extmail.* TO extmail@127.0.0.1 IDENTIFIED BY 'extmail';

mysql&gt; FLUSH PRIVILEGES; 让设置的内容生效

[root@mail docs]# service postfix restart

说明:启用虚拟域以后,需要取消中心域,即注释掉myhostname, mydestination, mydomain, myorigin几个指令;当然,你也可以把mydestionation的值改为你自己需要的

六、配置dovecot

1)修改dovecot配置文件如下选项:

mail_location = maildir:/var/mailbox/%d/%n/Maildir 
 …… 
 auth default { 
     mechanisms = plain 
     passdb sql { 
         args = /etc/dovecot-mysql.conf 
     } 
     userdb sql { 
         args = /etc/dovecot-mysql.conf 
     } 
     ……[root@mail ~]# vim /etc/dovecot.conf

mysql 符合 信创环境吗_mysql_39

禁用如下模块

mysql 符合 信创环境吗_开发工具_40

mysql 符合 信创环境吗_mysql_41

mysql 符合 信创环境吗_数据库_42

mysql 符合 信创环境吗_数据库_43

修改如下模块

mysql 符合 信创环境吗_开发工具_44

mysql 符合 信创环境吗_mysql_45

 

2)配置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'[root@mail ~]# vim /etc/dovecot-mysql.conf

mysql 符合 信创环境吗_开发工具_46

3)配置postfix配置文件修改如下;

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

mysql 符合 信创环境吗_mysql 符合 信创环境吗_47

重启各种服务

[root@mail ~]# service dovecot restart
[root@mail ~]# chkconfig dovecot on
[root@mail ~]# service postfix restart

七、安装配置Extmail

1)安装extmail

[root@mail ~]# mkdir -pv /var/www/extsuite
[root@mail ~]# tar -zxvf extmail-1.2.tar.gz
[root@mail ~]# mv extmail-1.2 /var/www/extsuite/extmail
[root@mail ~]# mv extman-1.1  /var/www/extsuite/extman
[root@mail ~]# cd /var/www/extsuite/
[root@mail extsuite]# cd extmail 
 [root@mail extmail]# cp /var/www/extsuite/extmail/webmail.cf.default  /var/www/extsuite/extmail/webmail.cf

2)修改主配置文件

部分修改选项的说明:

SYS_MESSAGE_SIZE_LIMIT = 5242880 
 用户可以发送的最大邮件SYS_USER_LANG = en_US 
 语言选项,可改作: 
 SYS_USER_LANG = zh_CNSYS_MAILDIR_BASE = /home/domains


此处即为您在前文所设置的用户邮件的存放目录,可改作:

SYS_MAILDIR_BASE = /var/mailbox
SYS_MYSQL_USER = db_user 
 SYS_MYSQL_PASS = db_pass


以上两句句用来设置连接数据库服务器所使用用户名、密码和邮件服务器用到的数据库,这里修改为:

SYS_MYSQL_USER = extmail 
 SYS_MYSQL_PASS = extmailSYS_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 = /var/spool/authdaemon/socket


此句用来指明authdaemo socket文件的位置,这里修改为:

SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket

按照以上说明修改配置文件如下:

[root@mail extmail]# vim /var/www/extsuite/extmail/webmail.cf

mysql 符合 信创环境吗_数据库_48

mysql 符合 信创环境吗_开发工具_49

mysql 符合 信创环境吗_开发工具_50

mysql 符合 信创环境吗_mysql_51

mysql 符合 信创环境吗_mysql_52

mysql 符合 信创环境吗_数据库_53

3)apache相关配置

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

<VirtualHost 192.168.1.10: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功能,也可以使用以下方法解决:

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

mysql 符合 信创环境吗_数据库_54

启动httpd服务

[root@mail extmail]# service httpd start
[root@mail extmail]# chkconfig httpd on

按照以上说明修改配置文件如下:

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

mysql 符合 信创环境吗_数据库_55

4)修改 cgi执行文件属主为apache运行身份用户:

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

5)测试打开extmail首页

mysql 符合 信创环境吗_开发工具_56

6)依赖关系的解决

extmail将会用到perl的Unix::syslogd功能,您可以去http://search.cpan.org搜索下载原码包进行安装。

[root@mail ~]# tar -zxvf Unix-Syslog-0.100.tar.gz
[root@mail ~]# cd Unix-Syslog-0.100
[root@mail Unix-Syslog-0.100]# perl Makefile.PL
[root@mail Unix-Syslog-0.100]# make
[root@mail Unix-Syslog-0.100]# make install
[root@mail Unix-Syslog-0.100]# service httpd restart

5、启动apache服务

# service httpd start 
 # chkconfig httpd on

安装Extman-1.1

八、Extman-1.1基本配置

1)# tar zxvf  extman-1.1.tar.gz

# mv extman-1.1 /var/www/extsuite/extman

以上两步前面已经做过!

2)修改配置文件以符合需要:

SYS_MAILDIR_BASE = /home/domains


此处即为您在前文所设置的用户邮件的存放目录,可改作:

SYS_MAILDIR_BASE = /var/mailbox

修改
SYS_CAPTCHA_ON = 1

SYS_CAPTCHA_ON = 0

按照以上说明配置

[root@mail extsuite]# cd /var/www/extsuite/
[root@mail extsuite]# cd extman
[root@mail extman]# cp /var/www/extsuite/extman/webman.cf.default  /var/www/extsuite/extman/webman.cf
[root@mail extman]# vim webman.cf

mysql 符合 信创环境吗_数据库_57

mysql 符合 信创环境吗_操作系统_58

 

3)修改cgi目录的 属组:

[root@mail extman]# chown -R postfix.postfix /var/www/extsuite/extman/cgi/
[root@mail extman]# vim /etc/httpd/conf/httpd.conf

4)在apache的主配置文件中Extmail的虚拟主机部分,添加如下两行:

ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi 
 Alias /extman /var/www/extsuite/extman/html[root@mail extman]# vim /etc/httpd/conf/httpd.conf

mysql 符合 信创环境吗_mysql 符合 信创环境吗_59

禁用此行否则后面会出问题

mysql 符合 信创环境吗_mysql 符合 信创环境吗_60

5)创建其运行时所需的临时目录,并修改其相应的权限:

[root@mail extman]# mkdir  -pv  /tmp/extman

[root@mail extman]# chown postfix.postfix  /tmp/extman

好了,到此为止,重新启动apache服务器后,Webmail和Extman已经可以使用了,可以在浏览器中输入指定的虚拟主机的名称进行访问。

九,测试

1)选择管理即可登入extman进行后台管理了。默认管理帐号为:root@extmail.org  密码为:extmail*123*

mysql 符合 信创环境吗_数据库_61

2)进入管理界面

mysql 符合 信创环境吗_mysql 符合 信创环境吗_62

3)创建虚拟域

mysql 符合 信创环境吗_操作系统_63

mysql 符合 信创环境吗_数据库_64

4)注册用户(aa1,aa2,aa3)

mysql 符合 信创环境吗_操作系统_65

mysql 符合 信创环境吗_数据库_66

aa3的注册同上这里就不在显示了。

5)登录邮箱

mysql 符合 信创环境吗_mysql_67

进入邮箱

mysql 符合 信创环境吗_数据库_68

aa2登录

mysql 符合 信创环境吗_数据库_69

查看从aa1发来的邮件

mysql 符合 信创环境吗_开发工具_70

向aa3发送邮件

mysql 符合 信创环境吗_开发工具_71

登录aa3查看aa2发来的邮件

mysql 符合 信创环境吗_mysql 符合 信创环境吗_72

至此测试完毕!


转载于:https://blog.51cto.com/xht35/989650