一、   系统运行环境

1.1系统版本:
Description:      Red Hat Enterprise Linux Server release 5.4 (Tikanga)
Release: 5.4 x86_64、
1.2 软件版本:
软件名称
版本
用途
Perl
v5.16.2
提供 perl软件包的支持
Apache
Apache/2.2.3
提供 web服务
Openldap
openldap-2.3.43
轻型目录访问协议,用于数据存储
PhP
PHP 5.1.6
extman和 extmail需要使用php解析
BerkeleyDB
db-5.1.29
提供数据库效率
courier-authlib
0.63.0
提供邮件服务器的 pop3认证
cyrus-sasl
2.1.22
用于实现身份验证的 smtp服务器
postfix
2.8.2
邮件系统的 smtp服务器,充当MTA角色,邮件传输代理
pcre
6.6
安装 maildrop所需组件
maildrop
2.5.4
邮件投递代理,将收到的邮件转发到用户的邮箱目录
courier-imap
4.11.0
用于实现 pop3、imap收邮件功能
extman
1.1
用于邮服务器的后台管理
extmail
1.2
用于实现 webmail,支持多语言、全部模板化
Unix-Syslog
1.1
解决依赖关系

 一、   准备工作

1、关闭 selinuxiptables(过程略)
2、关闭 iptables(过程略)
3、卸载或禁用 sendmail(过程略)
4、网络设置
# vim /etc/sysconfig/network
修改 -->
HOSTNAME=mail.servyou-it.com
# vim /etc/resolv.conf
修改 -->
search servyou-it.com
 
二、   Postfix 邮件系统各个组件的安装与配置
3.1 安装 http、php
# yum  -y install  httpd  php  php-mysql  php-gd php-imap php-mbstring php-ldap
# /etc/init.d/httpd  start
# chkconfig  httpd  on
 
3.2 安装所依赖的 perl软件包
# yum -y install perl-Digest-SHA1 perl-Digest-HMAC perl-Net-IP perl-Net-DNS perl-HTML-Tagset perl-HTML-Parser perl-libwww-perl perl-IO-stringy perl-IO-Multiplex perl-Net-SSLeay-1.30 perl-IO-Socket-SSL  perl-Net-Server perl-TimeDate perl-MailTools perl-MIME-Base64 perl-Convert-BinHex perl-MIME-tools perl-Convert-TNEF perl-Convert-UUlib  perl-Compress-Zlib  perl-Archive-Zip  perl-IO-Zlib  perl-Archive-Tar
 
3.3 安装 openldap及配置、初始化
3.3.1 openldap初始设置
Openldap的配置文件位于 /etc/openldap目录下,主要的配置文件有slapd.conf和ldap.conf。
其中 ldap.conf主要是本机ldap测试工具连接ldap服务器时的一些参数的设置;slapd.conf是ldap服务器的配置文件。
1.ldap.conf
# vim /etc/openldap/ldap.conf
修改 —>
BASE     dc=servyou-it.com
2.slapd.conf
# vim /etc/openldap/slapd.conf
修改 —>
include      /etc/openldap/schema/extmail.schema //新增,该文件位于于 extman的解压包里
suffix           "dc=servyou-it.com"
rootdn           "cn=Manager,dc=servyou-it.com"
rootpw            123456
 
3.3.2 openldap数据的初始化
在配置 ldap的时候,我们需要把后面webmail使用的ldap的schema配置在ldap服务器的配置文件中去。
# cd /tmp/src/
# tar -zxvf extman-1.1.tar.gz
# cp extman-1.1/docs/extmail.schema  /etc/openldap/schema/
# cp extman-1.1/docs/init.ldif  /etc/openldap/
# vim /etc/openldap/init.ldif
修改 —>
将 init.ldif文件里面的extmail.org修改为servyou-it.com
# cp /etc/openldap/DB_CONFIG.example  /var/lib/ldap/DB_CONFIG
# /etc/init.d/ldap  start
Starting slapd:                                             [ OK ]
# chkconfig  ldap  on
# ldapadd -x -D "cn=Manager,dc=servyou-it.com" -W -f /etc/openldap/init.ldif
Enter LDAP Password: (这里输入上面 slapd.conf配置文件中配置的rootpw的密码)
adding new entry "dc=servyou-it.com"
adding new entry "cn=Manager,dc=servyou-it.com"
adding new entry "o=extmailAccount,dc=servyou-it.com"
adding new entry "o=extmailAlias,dc=servyou-it.com"
adding new entry "o=extmailManager,dc=servyou-it.com"
adding new entry "virtualDomain=servyou-it.com, o=extmailAccount, dc=servyou-it.com"
adding new entry "mail=postmaster@servyou-it.com, virtualDomain=servyou-it.com, o=extmailAccount, dc=servyou-it.com"
adding new entry "mailLocalAddress=support@servyou-it.com, o=extmailAlias, dc=servyou-it.com"
adding new entry "mail=root@servyou-it.com, o=extmailManager, dc=servyou-it.com"
如果出现上面内容说明数据初始化完成
注意:
错误提示::
Enter LDAP Password:
ldap_bind: Invalid credentials (49)
解决方法:有可能是配置初始化数据或者配置文件有错,请仔细检查配置或者密码
 
3.4 BerkeleyDB的安装与配置
3.4.1 BerkeleyDB的安装
系统默认已经安装的,如果版本太低可以使用 yum升级;亦或者通过源码编译安装。
# tar -zxvf db-5.1.29.tar.gz
#cd db-5.1.29
#./dist/configure --prefix=/usr/local/BerkeleyDB
#make
#make install
 
3.4.2 BerkeleyDB的配置
BerkeleyDB安装完成后所有的头文件都保存在 /usr/local/BerkeleyDB/include/,为了方便其它组件的调用BerkeleyDB的头文件,需要做一下操作
# ln -sv /usr/local/BerkeleyDB/include/ /usr/include/db4
create symbolic link `/usr/include/db4/include' to `/usr/local/BerkeleyDB/include/'
# mv /usr/include/db.h /usr/include/db.h.bak
# ln -sv /usr/local/BerkeleyDB/include/db.h    /usr/include/db.h
create symbolic link `/usr/include/db.h' to `/usr/local/BerkeleyDB/include/db.h'
# mv /usr/include/db_cxx.h /usr/include/db_cxx.h.bak
# ln -sv /usr/local/BerkeleyDB/include/db_cxx.h /usr/include/db_cxx.h
create symbolic link `/usr/include/db_cxx.h' to `/usr/local/BerkeleyDB/include/db_cxx.h'
# ldconfig –v
 
3.5 认证系统 Courier-authlib的安装与配置
3.5.1 Courier-authlib的安装
authlib提供了 pop3、smtp、imap等其他组件访问LDAP、Mysql、PAM等数据库组件的认证接口,类似于ODBC,所以我们需要在其它组件前安装,具体安装过程如下:
# tar -jxvf courier-authlib-0.63.0.tar.bz2
# cd courier-authlib-0.63.0
#./configure --prefix=/usr/local/authlib --sysconfdir=/etc --with-authldaprc=/etc/authlib/authldaprc --with-mailuser=vmail --with-mailgroup=vmail --without-stdheaderdir --without-authuserdb --without-pam --without-authmysql --without-authpwd --without-authshadow --without-authpgsql --without-authcustom --with-redhat
#make
#make install
# make install-configure
 
3.5.2 Courier-authlib初始配置
# vim /etc/authlib/authdaemonrc
修改 —>
authmodulelist="authldap"
authmodulelistorig="authldap"
daemons=5 #改参数可以根据服务器的性能做适当的调整。
authdaemonvar=/usr/local/authlib/var/spool/authdaemon
DEBUG_LOGIN=0  #改参数的值可以为 0、1、2,一般情况下设置为0,需要调试的时候修改为2
DEFAULTOPTIONS="wbnodsn=1"   
LOGGEROPTS=""
 
3.5.3 authldaprc配置
# cp /etc/authlib/authldaprc /etc/authlib/authldaprc.bak
# vim /etc/authlib/authldaprc
修改 —>
LDAP_URI                 ldap://127.0.0.1:389
LDAP_PROTOCOL_VERSION    3
LDAP_BASEDN              o=extmailAccount,dc=servyou-it.com
LDAP_BINDDN              cn=Manager,dc=servyou-it.com
LDAP_BINDPW           123456
LDAP_TIMEOUT             5
LDAP_MAIL                mail
LDAP_FILTER              (&(objectClass=extmailUser)(active=1))
LDAP_DOMAIN              servyou-it.com
LDAP_HOMEDIR             homeDirectory
LDAP_MAILROOT            /home/domains
LDAP_MAILDIR             mailMessageStore
LDAP_MAILDIRQUOTA        quota
LDAP_CRYPTPW             userPassword
LDAP_UID                 uidNumber
LDAP_GID                 gidNumber
LDAP_AUXOPTIONS          disablesmtpd=disablesmtpd,disablesmtp=disablesmtp,disablewebmail=disablewebmail,disablenetdisk=disablenetdisk,disableimap=disableimap,disablepop3=disablepop3
LDAP_DEREF               never
LDAP_TLS                 0
 
3.5.4 系统初始化配置
在每次系统启动的时候,需要 courier-authlib自动启动,需要做如下设置:
# cd courier-authlib-0.63.0
# cp courier-authlib.sysvinit /etc/init.d/courier-authlib
# chmod 755 /etc/init.d/courier-authlib
# chkconfig --add courier-authlib
# chkconfig courier-authlib on
# /etc/init.d/courier-authlib start
Starting Courier authentication services: authdaemond
# chmod +x /usr/local/authlib/var/spool/authdaemon/
# echo "/usr/local/authlib/lib/courier-authlib/" >> /etc/ld.so.conf
#ldconfig
 
3.6 smtpd认证工具 Cyrus-sasl组件的安装与配置
SASL全称 Simple Authentication and Security Layer,是一种用来扩充C/S模式验证能力的机制。在Postfix可以利用SASL来判断用户是否有权使用转发服务或是辨认谁在使用我们的服务器。
3.6.1 cyrus-sasl安装
在安装之前确认系统默认是否已经安装 cyrus-sasl,然后在进行cysasl的安装。
确认系统中是否已经安装 cyrus-sasl,确认方法:
[root@mail ~]#rpm –qa |grep sasl
用 rpm -e –nodeps 软件包名 进行卸载,如果是64为操作系统,系统默认会安装64和x86的两个相关包,需要加上 --allmatches的参数进行卸载,卸载完成之后,可以用前面的命令进行确认,直到系统没有sasl相关的软件包为止。再进行 cyrus-sasl的安装。(可不删除)
#tar zxvf cyrus-sasl-2.1.23.tar.gz
#cd cyrus-sasl-2.1.23
#./configure --prefix=/usr/local/sasl2/ --sysconfdir=/etc --disable-anon --enable-plain --enable-login --enable-ldapdb --with-ldap --with-authdaemond=/usr/local/authlib/var/spool/authdaemon/socket
报错: checking for ldap_initialize in -lldap... no
checking for ldap_initialize in -lldap... no
说明:
1、 make 报错
db_berkeley.c:106: error: too few arguments to function '(*mbdb)->open'
make[2]: *** [db_berkeley.lo] Error 1
make[2]: Leaving directory `/data/cyrus-sasl-2.1.23/sasldb'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/data/cyrus-sasl-2.1.23'
make: *** [all] Error 2
解决方法
[root@mail cyrus-sasl-2.1.23]#cd sasldb/
[root@mail sasldb]#vi db_berkeley.c 修改为 -->
#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
        ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, flags, 0660);
#else
        ret = (*mbdb)->open(*mbdb, "NULL", path, NULL, DB_HASH, flags, 0660);
#endif
#vi    utils/dbconverter-2.c 
修改为 -->
#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
        ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, DB_CREATE, 0664);
#else
        ret = (*mbdb)->open(*mbdb, "NULL", path, NULL, DB_HASH, DB_CREATE, 0664);
#endif
#make
#make install
 
3.6.2 cyrus-sasl初始配置
#vi /usr/lib64/sasl2/smtpd.conf
修改 -->
pwcheck_method: authdaemond
log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path:/usr/local/authlib/var/spool/authdaemon/socket
#cp /usr/lib64/sasl2/smtpd.conf /etc/
#echo "/usr/local/sasl2/lib/sasl2" >>/etc/ld.so.conf( cyrus-sasl编译后的初始配置,如果是yum安装可省略)
#cp /usr/lib64/sasl2/smtpd.conf /usr/lib/sasl2/( cyrus-sasl编译后的初始配置,如果是yum安装可省略)
 
3.7 postfix软件的安装与配置
Postfix邮件系统的核心,主要提供 MTA服务及整个邮件系统的框架。
3.7.1 新增系统帐户
#groupadd postfix
#useradd -g postfix -s /bin/false postfix
#groupadd postdrop
#groupadd vmail -g 1000
#useradd -u 1000 -g 1000 -M -s /sbin/nologin -d /dev/null vmail
 
3.7.2 安装 postfix
# yum install db*-devel –y
# yum install cyrus-sasl-devel –y
# tar -zxvf postfix-2.8.2.tar.gz
# cd    postfix-2.8.2
# make tidy
#make makefiles "CCARGS=-DHAS_LDAP -I/usr/include -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl/(如果 cyrus-sasl是源码编译安装,这里需注意安装路径,如:-I/usr/local/sasl2/include/sasl/) -I/usr/local/BerkeleyDB/include -DUSE_TLS -I-DUSE_TLS -I/usr/include/openssl" "AUXLIBS=-L/usr/lib -lldap -llber -L/usr/lib -lsasl2 -L/usr/local/BerkeleyDB/lib -L/usr/lib -lssl -lcrypto"
#make
#make install
提示输入 -->
install_root: [/]
tempdir: [/data/postfix-2.8.2] /tmp
config_directory: [/etc/Postfix]
如果这里 []是空的,那么cp /usr/local/BerkeleyDB/lib/libdb-5.1.so /usr/lib64/问题解决,32位的copy到/usr/lib/下
command_directory: [/usr/sbin]
daemon_directory: [/usr/libexec/postfix]
data_directory: [/var/lib/postfix]
html_directory: [no]
mail_owner: [postfix]
mailq_path: [/usr/bin/mailq]
manpage_directory: [/usr/local/man]
newaliases_path: [/usr/bin/newaliases]
queue_directory: [/var/spool/Postfix]
readme_directory: [no]
Sendmail_path: [/usr/sbin/Sendmail]
setgid_group: [postdrop]
# newaliases //生成别名数据库
 
3.8 Maildrop的安装与配置
maildrop 是一个使用 C++编写的用来代替本地MDA 的带有过滤功能邮件投递代理,是courier 邮件系统组件之一。它从标准输入接受信息并投递到用户邮箱;maildrop 既可以将邮件投递到mailboxes 格式邮箱,亦可以将其投递到maildirs 格式邮箱。同时,maildrop 可以从文件中读取入站邮件过滤指示,并由此决定是将邮件送入用户邮箱或者转发到其它地址等。和procmail 不同的是,maildrop 使用结构化的过滤语言,因此,邮件系统管理员可以开发自己的过滤规则并应用其中。
在此将使用 maildrop 来代替Postfix 自带的MDA,并以此为基础扩展后文的邮件杀毒和反垃圾邮件功能的调用;在此可能会修改前文中的许多设置,请确保您的设置也做了相应的修改。
3.8.1 maildrop的安装
1.pcre的安装
 在安装 maildrop之前需确认系统是否已经安装了排除热组件,maildrop需要此组件支持。
# rpm -qa | grep pcre
如果没有安装,下载 pcre源码并安装
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.10.tar.bz2
#configure
#make&&make install
2.maildrop的安装
# yum  install  pcre-devel –y
# tar -jxvf maildrop-2.5.4.tar.bz2
# cd maildrop-2.5.4
# ln -s /usr/local/authlib/bin/courierauthconfig /usr/bin/courierauthconfig
# ln -s /usr/local/authlib/include/* /usr/include/
# ./configure --enable-sendmail=/usr/sbin/sendmail --enable-trusted-users='root vmail' --enable-syslog=1 --enable-maildirquota --enable-maildrop-uid=1000 --enable-maildrop-gid=1000 --with-trashquota --with-dirsync
#make
#make install
 
3.8.2 maildrop的配置
配置 Postfix调用maildrop来处理邮件。
1. 修改 Postfix中master.cf配置文件
# vim /etc/postfix/master.cf
修改 -->
maildrop unix -        n       n       -       -       pipe
 flags=DRhu user=vmail:vmail argv=/usr/local/bin/maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user} ${extension} {nexthop}
 
2. 修改 main.cf配置文件
# vi    /etc/postfix/main.cf
修改 -->
virtual_transport = maildrop(新增)
 
3. 添加 maildrop的配置文件maildroprc
#vim /etc/maildroprc
新增 -->
logfile "/var/log/maildrop.log"
TEST="/bin/test -f"
#
# Check for custom user .mailfilter file
#
CUSTOM_FILTER="$HOME/.mailfilter"
`$TEST $CUSTOM_FILTER && exit 1 || exit 0`
if ( $RETURNCODE == 0 )
{
        to "$HOME/Maildir"
}
 
4. 创建 maildrop的日志文件,并赋予相应的权限
#touch /var/log/maildrop.log
#chown vmail.vmail /var/log/maildrop.log
 
3.8.9 maildrop的验证
# maildrop -v
maildrop 2.5.4 Copyright 1998-2005 Double Precision, Inc.
GDBM/DB extensions enabled.
Courier Authentication Library extension enabled. (说明安装正常)
Maildir quota extension are now always enabled.
This program is distributed under the terms of the GNU General Public
License. See COPYING for additional information.
 
3.9 Courier-imap的安装与配置
Courier-imap在整个邮件系统中充当 MAA的角色,主要为用户提供pop3和imap服务。
3.9.1 Courier-imap的安装
# tar -jxvf courier-imap-4.11.0.tar.bz2
# cd courier-imap-4.11.0
#./configure --prefix=/usr/local/imap --sysconfdir=/etc --with-redhat --enable-unicode --disable-root-check --with-trashquota --without-ipv6 CPPFLAGS='-I/usr/local/authlib/include' LDFLAGS='-L/usr/local/authlib/lib/courier-authlib' COURIERAUTHCONFIG='/usr/local/authlib/bin/courierauthconfig'
#make
#make install
#amke install-configure
 
3.9.2 Courier-imap的配置
Courier-imap的配置文件主要包括: pop3d、pop3-ssl、imapd、imapd-ssl。
1. 修改 pop3d配置
#vim    /etc/pop3d  
修改 -->
POP3DSTART=YES
2. 修改 pop3d-ssl配置
#vim    /etc/pop3d-ssl
修改 -->
POP3DSSLSTART=YES
3. 修改 pop3d.cnd配置
#vim    /etc/pop3d.cnf
修改 -->
#default_md = sha1  //注释点这项
4. 修改 imapd配置
#vim /etc/imapd 修改 -->
IMAPDSTART=yes
5. 修改 imapd-ssl配置
#vim /etc/imapd-ssl
修改 -->
IMAPDSSLSTART=YES
6. 修改 imapd.cnf配置
#vim /etc/imapd.cnf
 修改 -->
#default_md = sha1   //注释点这项
7. 初始化配置 maildrop
# cp /tmp/src/courier-imap-4.11.0/packaging/systemd/courier-imap.sysvinit /etc/init.d/courier-imapd
# chmod  755  /etc/init.d/courier-imapd
# chkconfig  --add  courier-imapd
# chkconfig  courier-imapd  on
# /etc/init.d/courier-imapd  start
Starting Courier-IMAP server: imap generating-SSL-certificate... imap-ssl pop3 generating-SSL-certificate... pop3-ssl
 
三、   Webmail 的安装与配置
Webmail主要为管理员提供管理和维护的平台、为用户提供查看和管理邮件的平台。主要包括 extman和extmail两个组件。
4.1 extman的安装与配置
extman主要提供 web的后台管理和维护。
4.1.1   extman的安装
#tar zxvf extman-1.1.tar.gz
# mkdir -p /var/www/extsuite
# cp -ra extman-1.1 /var/www/extsuite/extman
4.1.2   extman的配置
# cd /var/www/extsuite/extman/
# cp webman.cf.default  webman.cf
# vim  webman.cf
修改内容 -->
SYS_SESS_DIR = /var/www/extsuite/extman/tmp
SYS_BACKEND_TYPE = ldap
SYS_LDAP_BASE = dc=servyou-it.com
SYS_LDAP_RDN = cn=Manager,dc=servyou-it.com
SYS_LDAP_PASS = 123456
SYS_GROUPMAIL_SENDER = postmaster@servyou-it.com
 
4.2 extmail的安装与配置
4.2.1 extmail的安装
#tar    zxvf extmail-1.2.tar.gz
#cp -ra  extmail-1.2  /var/www/extsuite/extmail
4.2.2 extmail的配置
#cd /var/www/extsuite/extmail/
#cp webmail.cf.default  webmail.cf
#vim webmail.cf
修改内容 -->
SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_DB = extmail
SYS_AUTH_TYPE = ldap
SYS_SPAM_REPORT_ON = 1
SYS_DEBUG_ON = 0
SYS_LDAP_PASS = 123456
SYS_LDAP_BASE = o=extmailAccount,dc=servyou-it.com
SYS_LDAP_RDN = cn=Manager,dc=servyou-it.com
SYS_G_ABOOK_LDAP_BASE = ou=AddressBook,dc=servyou-it.com
SYS_G_ABOOK_LDAP_ROOTDN = cn=Manager,dc=servyou-it.com
SYS_SESS_DIR = /var/www/extsuite/extmail/tmp
SYS_UPLOAD_TMPDIR = /var/www/extsuite/extmail/tmp
SYS_AUTHLIB_SOCKET = /usr/local/authlib/var/spool/authdaemon/socket
 
4.3 Apache的配置
#vi /etc/httpd/conf/httpd.conf
修改用户和组 -->
User vmail
Group vmail
末尾添加 -->
include conf/vhost_*.conf
#vim  /etc/httpd/conf/vhost_extmail.conf
# VirtualHost for ExtMail Solution
<VirtualHost *:80>
ServerName mail2.servyou-it.com
DocumentRoot  /var/www/extsuite/extmail/html/
ScriptAlias  /extmail/cgi/  /var/www/extsuite/extmail/cgi/
Alias  /extmail  /var/www/extsuite/extmail/html/
ScriptAlias  /extman/cgi/  /var/www/extsuite/extman/cgi/
Alias  /extman  /var/www/extsuite/extman/html/
#Alias  /phpldapadmin /var/www/extsuite/phpldapadmin/htdocs/
#Suexec config
#SuexecUserGroup  vmail  vmail
</VirtualHost>
配置完成之后启动 httpd服务
#service httpd start
 
4.4 Postfix虚拟用户的配置
一般情况下,邮件服务器都不会直接用系统帐号户用户提供邮件服务,所以我们需要用到虚拟用户这个功能,将用户的信息保存在后台数据库中,这里我们采用 ldap的方式保存用户数据,接下来将详细介绍为Postfix添加虚拟用户支持,具体配置如下:
4.4.1 Postfix主配置文件 main.cf配置
#vi /etc/postfix/main.cf
添加如下内容 -->
#extmail config here
virtual_mailbox_base = /home/domains
virtual_alias_maps = ldap:/etc/postfix/ldap_virtual_alias_maps.cf
virtual_mailbox_domains = ldap:/etc/postfix/ldap_virtual_domains_maps.cf
virtual_mailbox_maps = ldap:/etc/postfix/ldap_virtual_mailbox_maps.cf
virtual_transport = maildrop
smtpd_sender_login_maps = ldap:/etc/postfix/ldap_virtual_sender_maps.cf,ldap:/etc/postfix/ldap_virtual_alias_maps.cf
4.4.2 配置 postfix的ldap列表
#cp /var/www/extsuite/extman/docs/ldap* /etc/postfix/
# postfix start
postfix/postfix-script: starting the Postfix mail system
# postfix reload
postfix/postfix-script: refreshing the Postfix mail system
 
4.5 安装 perl-GD显示校验码和图形日志
4.5.1 校验码设置
webman.cf默认打开了校验码功能,可以通过配置 extman/webman.cf中的SYS_CAPTCHA_ON = 0即可取消。
# yum install gd-devel -y
# perl -MCPAN -e shell
Terminal does not support AddHistory.
cpan shell -- CPAN exploration and modules installation (v1.7602)
ReadLine support available (try 'install Bundle::CPAN')
cpan> install GD
参数说明:
SYS_CAPTCHA_ON = 1 | 0 如果为 0则关闭此功能
SYS_CAPTCHA_KEY 该参数非常重要,设置的是您的校验 key,强烈建议安装extman后修改此参数,否则非法分子可以利用默认的key来伪造请求!!请设置一个复杂、不易猜测的key值。
SYS_CAPTCHA_LEN 校验码的长度,默认是 6位。
校验码使用了 ttf字库,如果您的操作系统没有freetype等ttf库,请删除 extman/addon/font.ttf这个软链接,这样校验码就会用gd默认的字体来显示。

 

4.5.2 管理后台登录测试
# mkdir -p /var/www/extsuite/extman/tmp
# chmod 777 /var/www/extsuite/extman/tmp/ 
//该目录对应 /var/www/extsuite/extman/webmail.cf文件里面的配置
# sys_sess_dir, the session dir
SYS_SESS_DIR =
url输入 http://IP/extman

 

默认密码: extmail*123*
登录成功后记得修改管理员密码,“管理员” —“操作”—“密码相关”
# /var/www/extsuite/extman/daemon/cmdserver  --daemon   //显示系统信息,默认登录 extman后台是看不到系统信息的
 
4.5.2 图形日志设置
extman自带了图形显示日志的功能,但需 Time::HiRes、File::Tail、rrdtool等软件包的支持。
1. 安装 Time::HiRes
#tar -zxvf Time-HiRes-1.9725.tar.gz
#cd Time-HiRes-1.9725
#perl Makefile.PL
#make
#make install
2. 安装 File::Tail
# tar  -zxvf  File-Tail-0.99.3.tar.gz
# cd  File-Tail-0.99.3
# perl Makefile.PL
#make
#make install
3. 安装 rrdtool
#yum install tcl  tcl-devel  libart* pango-devel cairo-devel libxml2-devel -y
#tar  -zxvf  cgilib-0.5.tar.gz
#cd  cgilib-0.5
#make
#cp  libcgi.a  /usr/local/lib
#cp  cgi.h  /usr/include/
#tar -zxvf rrdtool-1.4.7.tar.gz
#cd rrdtool-1.4.7
#./configure --prefix=/usr/local/rrdtool --enable-perl-site-install
#make
#make install
4. 收集监控数据
#cp -ar /var/www/extsuite/extman/addon/mailgraph_ext/ /usr/local/
#chmod  -R  777 /usr/local/mailgraph_ext/
#/usr/local/mailgraph_ext/mailgraph-init  start
# echo  "/usr/local/mailgraph_ext/mailgraph-init start" >> /etc/rc.local
加入开机启动,便于系统重启动后自动启动相关进程,过一段时间看 /var/lib下是否产生了mailgraph_**.rrd。
1、效果展示

 

4.5.3 安装 Unix-syslog
Extmail依赖 unix-syslog
# tar  -zxvf  Unix-Syslog-1.1.tar.gz
# cd  Unix-Syslog-1.1
# perl  Makefile.PL
#make
#make install
 
1.6 设置 postfix(邮件传输代理MTA)开机启动
# vim  /etc/init.d/postfix
脚本见附件
#chkconfig --add postfix
#chmod 755  /etc/init.d/postfix
# chkconfig  postfix  on
这样就可以通过 service postfix start|stop|restart|status来管理postfix服务
 
1.6 Extmail功能测试
4.7.1 第一次登录的时候会提示一些目录不存在,该问题系权限问题,更改目录的属性即可,如下图所示:

 

#mkdir -p /home/domains/servyou-it.com/user1/Maildir
# chown -R vmail:vmail domains/
再次登录成功,如下图所示 ….

 

4.7.2收发邮件测试

创建测试用户 user1、user2,使用user1对user2发送邮件……

 

到此为止,我们的 postfix邮件服务器搭建完毕……
《 Postfix系列之防病毒反垃圾》后续跟上……