Postfix邮件服务器搭建

 

第一部分、系统准备
#========================关闭SELinux===================
setenforce 0
cp /opt/config/selinux-config /etc/selinux/config
#=====================删除sendmail=====================
rpm -e --nodeps sendmail
groupadd -g 2525 postfix
useradd -g postfix -u 2525 -s /sbin/nologin -M postfix
groupadd -g 2526 postdrop
useradd -g postdrop -u 2526 -s /bin/false -M postdrop
groupadd -g 1000 vgroup
useradd -g 1000 -u 1000 -M -s /bin/false vuser

yum install ncurses-devel gdbm-devel gcc* perl-DBI openssl-devel flex libxml2-devel libpng-devel db4-devel* pcre-devel gd-devel libc-client-devel cairo*  pango-devel

 

第二部分、 LAMP 站点服务搭建
1 )安装 ncurses-5.6================================================
cd /opt
tar zxvf ncurses-5.6.tar.gz
cd ncurses-5.6
./configure --prefix=/usr --with-shared --without-debug
make
make install
2 )安装 mysql======================================================
cd /opt
groupadd mysql
useradd mysql -g mysql -s /sbin/nologin
tar -zxvf mysql-5.0.70.tar.gz
cd mysql-5.0.70
./configure --with-mysqld-user=mysql --prefix=/usr/local/webserver/mysql5 --with-charset=gbk --with-extra-charset=all --without-isam --exec-prefix=/usr/local/webserver/mysql5 --with-unix-socket-path=/usr/local/webserver/mysql5/var/mysql.sock
make;make install

 

/usr/local/webserver/mysql5/bin/mysql_install_db
cp /usr/local/webserver/mysql5/share/mysql/my-medium.cnf /usr/local/webserver/mysql5/var/my.cnf
cp /usr/local/webserver/mysql5/share/mysql/mysql.server /etc/init.d/mysqld
chmod 700 /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 2345 mysqld on
chown mysql:mysql -R /usr/local/webserver/mysql5/
vi /usr/local/webserver/mysql5/var/my.cnf
 添加 max_connections=1000
service mysqld start
ln -s /usr/local/webserver/mysql5/bin/mysql_config /usr/bin/mysql_config
ln -s /usr/local/webserver/mysql5/bin/mysql /sbin/mysql
ln -s /usr/local/webserver/mysql5/bin/mysqladmin /sbin/mysqladmin
#配置库文件搜索路径
echo "/usr/local/webserver/mysql5/lib/mysql" >> /etc/ld.so.conf
ldconfig -v
#添加/usr/local/mysql/bin到环境变量PATH中
export PATH=$PATH:/usr/local/webserver/mysql5/bin
3 Courier authentication library================
tar -jxvf courier-authlib-0.63.0.tar.bz2
cd courier-authlib-0.63.0
./configure --prefix=/usr/local/webserver/courier-authlib --without-stdheaderdir --sysconfdir=/etc --without-authuserdb --without-authpam --without-authldap --without-authpwd --without-authshadow --without-authvchkpw --without-authpgsql --with-authcustom --with-authmysql --with-mysql-libs=/usr/local/webserver/mysql5/lib/mysql --with-mysql-includes=/usr/local/webserver/mysql5/include/mysql --with-redhat --with-mailuser=vuser --with-mailgroup=vgroup --with-authmysqlrc=/etc/authmysqlrc --with-authdaemonrc=/etc/authdaemonrc CFLAGS="-march=i686 -O2 -fexpensive-optimizations" CXXFLAGS="-march=i686 -O2 -fexpensive-optimizations"
make;make install
make install-migrate
make install-configure
echo "/usr/local/webserver/courier-authlib/lib/courier-authlib">>/etc/ld.so.conf
ldconfig -v
如果无法发送邮件的解决办法
问题:.warning: SASL authentication failure: cannot connect to Courier authdaemond: Permission denied
增加"/usr/local/webserver/courier-authlib/lib/courier-authlib"到你的"/etc/ld.so.conf",并执行ldconfig命令。
chmod +x /usr/local/webserver/courier-authlib/var/spool/authdaemon
chmod 755 /usr/local/webserver/courier-authlib/var/spool/authdaemon
#编辑配置文件
ln -s /usr/local/webserver/courier-authlib/bin/courierauthconfig /usr/bin/courierauthconfig
ln -svf /usr/local/webserver/courier-authlib/include/* /usr/include/
cp ./courier-authlib.sysvinit /etc/init.d/courier-authlib
chmod 755 /etc/init.d/courier-authlib
chkconfig --add courier-authlib
chkconfig --level 2345 courier-authlib on
#启动服务
service courier-authlib start
修改/etc/authdaemonrc 文件
authmodulelist="authmysql"
authmodulelistorig="authmysql"
daemons=10
DEBUG_LOGIN=2
编辑/etc/authmysqlrc 为以下内容,其中1000,1000为vuser用户的UID和vgroup的GID。
MYSQL_SERVER localhost
MYSQL_PORT 3306             (指定你的mysql监听的端口,这里使用默认的3306)
MYSQL_USERNAME extmail       (这时为后文要用的数据库的所有者的用户名)
MYSQL_PASSWORD extmail         (密码)
MYSQL_SOCKET /usr/local/webserver/mysql5/var/mysql.sock (思考:/usr/local/mysql/var/mysql.sock)
MYSQL_DATABASE extmail
MYSQL_USER_TABLE mailbox
MYSQL_CRYPT_PWFIELD password
MYSQL_UID_FIELD '1000'
MYSQL_GID_FIELD '1000'
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD concat('/var/mailbox/',homedir)
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD concat('/var/mailbox/',maildir)
MYSQL_QUOTA_FIELD quota
4 )安装安装 sasl-2.1.22==========================================
tar zxvf cyrus-sasl-2.1.23.tar.gz
cd cyrus-sasl-2.1.23
#./configure --prefix=/usr/local/webserver/sasl2 --disable-gssapi --disable-anon --disable-sample --disable-digest --enable-plain --enable-login --enable-sql --with-mysql=/usr/local/webserver/mysql5 -with-mysql-includes=/usr/local/webserver/mysql5/include/mysql --with-mysql-libs=/usr/local/webserver/mysql5/lib/mysql --with-authdaemond=/usr/local/webserver/courier-authlib/var/spool/authdaemon/socket
cp mac/libdes/public/des.h ./
make
make install
关闭原有的sasl,并创建链接(这个地方我和原文有不同)postfix 2.3以后的版本会分别在/usr/local/lib和/usr/local/include中搜索sasl库文件及头文件,故还须将其链接至此目录中:
mv /usr/lib/sasl2 /usr/lib/sasl2.save
mv /usr/lib/libsasl2.so.2 /usr/lib/libsasl2.so.2.save
mv /usr/lib/libsasl2.so.2.0.22 /usr/lib/libsasl2.so.2.0.22.save
ln -sv /usr/local/webserver/sasl2/lib/* /usr/lib
ln -sv /usr/local/webserver/sasl2/lib/* /usr/local/lib
ln -sv /usr/local/webserver/sasl2/include/sasl/* /usr/local/include
 
创建运行时需要的目录并调试启动
mkdir -pv /var/state/saslauthd
/usr/local/webserver/sasl2/sbin/saslauthd -a shadow pam -d
启动并测试
/usr/local/webserver/sasl2/sbin/saslauthd -a shadow pam
配置库文件搜索路径
echo "/usr/local/webserver/sasl2/lib" >> /etc/ld.so.conf
echo "/usr/local/webserver/sasl2/lib/sasl2" >> /etc/ld.so.conf
ldconfig -v
echo "/usr/local/webserver/sasl2/sbin/saslauthd -a shadow pam" >> /etc/rc.local
接下来配置SMTP 认证,编辑 /usr/local/lib/sasl2/smtpd.conf,确保其为以下内容:
pwcheck_method: authdaemond
log_level: 3
mech_list:PLAIN LOGIN
authdaemond_path:/usr/local/webserver/courier-authlib/var/spool/authdaemon/socket
5 )安装 httpd-2.2.8===========================================
tar jxvf httpd-2.2.6.tar.bz2
cd  httpd-2.2.6
./configure --prefix=/usr/local/webserver/httpd --enable-so --enable-ssl --with-ssl --enable-track-vars --enable-rewrite --with-zlib --enable-mods-shared=most --enable-suexec --with-suexec-caller=daemon --with-suexec-docroot=/var/www --enable-proxy
make;make install
#apache 开机启动
/usr/local/webserver/httpd/bin/apachectl start
echo "/usr/local/webserver/httpd/bin/apachectl start" >> /etc/rc.local
 
6 )安装 libPNG==============================================
tar zxvf /mnt/libpng*
cd  libpng
./configure --prefix /usr/local/webserver/libpng
make;make install
 ln -svf /usr/local/webserver/libpng/lib/pkgconfig/* /usr/lib/pkgconfig/
ln -svf /usr/local/webserver/libpng/lib/* /usr/lib
ln -svf /usr/local/webserver/libpng/lib/* /usr/local/lib
 ln -svf /usr/local/webserver/libpng/include/libpng12/* /usr/include/libpng12/
 ln -svf /usr/local/webserver/libpng/include/* /usr/include/
ln -svf /usr/local/webserver/libpng/include/* /usr/local/include/
 echo "/usr/local/webserver/libpng/lib">>/etc/ld.so.conf
ldconfig –v
(9)安装freetype==========================================
tar zxvf freetype-2.3.5.tar.gz
cd freetype-2.3.5
./configure --prefix=/usr/local/webserver/freetype
make;make install
 ln -vsf /usr/local/webserver/freetype/lib/* /usr/lib
 ln -svf /usr/local/webserver/freetype/lib/pkgconfig/* /usr/lib/pkgconfig/
 ln -vsf /usr/local/webserver/freetype/lib/* /usr/local/lib
ln -vsf /usr/local/webserver/freetype/include/freetype2/* /usr/include/
ln -vsf /usr/local/webserver/freetype/include/freetype2/* /usr/local/include/
 echo "/usr/local/webserver/freetype/lib" >> /etc/ld.so.conf
ldconfig -v
 
7 )安装 JPEG6============================================
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir -pv /usr/local/webserver/jpeg/{,bin,lib,include,man/man1,man1}
./configure --prefix=/usr/local/webserver/jpeg --enable-shared --enable-static
make;make install
 ln -svf /usr/local/webserver/jpeg/lib/* /usr/local/lib
 ln -svf /usr/local/webserver/jpeg/lib/* /usr/lib
ln -svf /usr/local/webserver/jpeg/include/* /usr/local/include/
ln -svf /usr/local/webserver/jpeg/include/* /usr/include/
 echo "/usr/local/webserver/jpeg/lib" >> /etc/ld.so.conf
ldconfig -v
 
8 )安装 GD==============================================
tar zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr --with-png --with-freetype=/usr/local/webserver/freetype --with-jpeg=/usr/local/webserver/jpeg/
make;make install
9 )安装 LIBXML2========================================#
tar zxvf libxml2-2.6.31.tar.gz
cd libxml2-2.6.31
./configure --prefix=/usr/local/webserver/libxml2
make;make install
cp xml2-config /usr/bin
ln -svf /usr/local/webserver/libxml2/include/* /usr/local/include/
ln -svf /usr/local/webserver/libxml2/include/* /usr/include/
ln -svf /usr/local/webserver/libxml2/lib/pkgconfig/* /usr/lib/pkgconfig/
ln -svf /usr/local/webserver/libxml2/lib/* /usr/lib
ln -svf /usr/local/webserver/libxml2/lib/* /usr/local/lib
echo "/usr/local/webserver/libxml2/lib">>/etc/ld.so.conf
ldconfig -v
 
10 )安装 libmcrypt=====================================
tar zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure --prefix=/usr/local/webserver/libmcrypt
make;make install
ln -sv /usr/local/webserver/libmcrypt/include/* /usr/local/include/
ln -sv /usr/local/webserver/libmcrypt/include/* /usr/include/
ln -sv /usr/local/webserver/libmcrypt/lib/* /usr/local/lib
ln -sv /usr/local/webserver/libmcrypt/lib/* /usr/lib
echo " /usr/local/webserver/libmcrypt/lib" >> /etc/ld.so.conf
ldconfig –v
11 )安装 Courier-IMAP====================================
tar jxvf courier-imap-4.8.0.20100628.tar.bz2
cd courier-imap-4.8.0.20100628
./configure --prefix=/usr/local/webserver/courier-imap --with-redhat --enable-unicode --disable-root-check --with-trashquota --without-ipv6 CPPFLAGS=' -I/usr/local/webserver/courier-authlib/include' LDFLAGS='-L/usr/local/webserver/courier-authlib/lib/courier-authlib' COURIERAUTHCONFIG='/usr/local/webserver/courier-authlib/bin/courierauthconfig'
make
make install
 
#编辑配置文件
cp /usr/local/webserver/courier-imap/etc/imapd.dist /usr/local/webserver/courier-imap/etc/imapd
cp /usr/local/webserver/courier-imap/etc/imapd-ssl.dist /usr/local/webserver/courier-imap/etc/imapd-ssl
cp /usr/local/webserver/courier-imap/etc/pop3d.dist /usr/local/webserver/courier-imap/etc/pop3d
cp /usr/local/webserver/courier-imap/etc/pop3d-ssl.dist /usr/local/webserver/courier-imap/etc/pop3d-ssl
cp ./courier-imap.sysvinit /etc/init.d/courier-imapd
chmod 755 /etc/rc.d/init.d/courier-imapd
chkconfig --add courier-imapd
chkconfig --level 2345 courier-imapd on
#修改/usr/local/lib/sasl2/smtpd.conf文件,配置SMTP 认证
pwcheck_method: authdaemond
log_level: 3
mech_list:PLAIN LOGIN
authdaemond_path:/usr/local/webserver/courier-authlib/var/spool/authdaemon/socket
#启动courier-imapd
service courier-imapd start
12 )安装 PHP5.2.5=====================================
 
tar zxvf php-5.2.4.tar.gz
cd php-5.2.4
   ./configure --prefix=/usr/local/webserver/php5 --with-mysql=/usr/local/webserver/mysql5 --with-apxs2=/usr/local/webserver/httpd/bin/apxs --with-jpeg-dir=/usr/local/webserver/jpeg --with-freetype-dir=/usr/local/webserver/freetype --with-zlib --with-gd --enable-ftp --enable-sockets -enable-mbstring=all --with-mcrypt=/usr/local/webserver/libmcrypt --with-mysqli=/usr/local/webserver/mysql5/bin/mysql_config --with-imap   --with-kerberos --with-imap-ssl
make;make install
cp php.ini-dist /usr/local/webserver/php5/lib/php.ini
# vi httpd.conf
1、添加如下二行
 AddType application/x-httpd-php .php
 AddType application/x-httpd-php-source .phps
2、定位至DirectoryIndex index.html
  修改为:
   DirectoryIndex index.php index.html
killall httpd
/usr/local/apache2/bin/apachectl start
 
第三部分、 postfix 安装及配置
1 )安装 /postfix-2.8-20100213.tar.gz================================
tar zxvf postfix-2.8-20100213.tar.gz
cd /postfix-2.8-20100213
 make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/local/webserver/mysql5/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/local/webserver/sasl2/include/sasl' 'AUXLIBS=-L/usr/local/webserver/mysql5/lib/mysql -lmysqlclient -lz -lm -L/usr/local/webserver/sasl2/lib -lsasl2 -L/usr/local/ssl/lib -lssl -lcrypto'
make;make install
#生成别名二进制文件,这个步骤如果忽略,会造成postfix效率极低:
newaliases
#生成的aliases.db默认是在/etc/目录下,须做软连接,后面的lias_maps配置会用到
ln -s /etc/aliases.db /etc/postfix/aliases.db
#编辑配置文件
#vi /etc/postfix/main.cf
修改以下几项为您需要的配置
myhostname = mail.lxh.com
myorigin = lxh.com
mydomain = lxh.com
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = 192.168.1.0/24, 127.0.0.0/8
vi /etc/postfix/main.cf
在文件末尾添加以下内容:
############################CYRUS-SASL############################
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 permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_sasl_application_name = smtpd
smtpd_banner = Welcome to our $myhostname ESMTP,Warning: Version not Available!
postfix 支持虚拟域和虚拟用户
A .编辑 /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:1000
virtual_gid_maps = static:1000
virtual_transport = maildrop
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
B .添加为支持虚拟域和虚拟用户所用到的配置文件
编辑/etc/postfix/mysql_virtual_alias_maps.cf ,添加如下内容:
user = extmail
password = extmail
hosts = 127.0.0.1
dbname = extmail
table = alias
select_field = goto
where_field = address
编辑/etc/postfix/mysql_virtual_domains_maps.cf ,添加如下内容:
user = extmail
password = extmail
hosts = 127.0.0.1
dbname = extmail
table = domain
select_field = description
where_field = domain
编辑/etc/postfix/mysql_virtual_mailbox_limit_maps.cf ,添加如下内容:
user = extmail
password = extmail
hosts =127.0.0.1
dbname = extmail
table = mailbox
select_field = quota
where_field = username
编辑/etc/postfix/mysql_virtual_mailbox_maps.cf ,添加如下内容:
user = extmail
password = extmail
hosts = 127.0.0.1
dbname = extmail
table = mailbox
select_field = maildir
where_field = username
C .说明:
1、这里用到的数据库及用户的建立可以后文中的extmail说明部分来实现,您可以参照那一部分来理解这里指定的数据库及其用户名等;
2、以上新建文件亦可以从extman安装文件中获得,您也可以由此不用手动输入;
3、虚拟用户邮箱目录我这里沿用了/var/mailbox,你可以指定为别的目录,比如常见到的/var/spool/mail,或者/home/domains等;但如果这里做了修改,请在后文中用到时作了相应的修改;
#启动postfix
mkdir –pv /var/mailbox
chown -R vuser.vgroup /var/mailbox
echo "/usr/sbin/postfix start">>/etc/rc.local
 (2) 安装 pcre==============================================
tar jxvf /mnt/pcre-7.3.tar.bz2
rpm -e --nodeps pcre-*
cd pcre-7.3
./configure
make
make install
3 )安装 courier-maildrop================================
tar jxvf /mnt/maildrop-2.5.0.20100628.tar.bz2
cd maildrop-2.5.0.20100628
./configure --enable-sendmail=/usr/sbin/sendmail --enable-trusted-users='root vuser' --enable-syslog=1 --enable-maildirquota --enable-maildrop-uid=1000 --enable-maildrop-gid=1000 --with-trashquota --with-dirsync
make
make install
A.检查安装结果,请确保有"Courier Authentication Library extension enabled."一句出现:
# maildrop -v
maildrop 2.0.2 Copyright 1998-2005 Double Precision, Inc.
GDBM extensions enabled.
Courier Authentication Library extension enabled.
Maildir quota extension enabled.
This program is distributed under the terms of the GNU General Public
License. See COPYING for additional information.
B.新建其配置文件/etc/maildroprc文件,首先指定maildrop的日志记录位置:
# vi /etc/maildroprc
添加如下内容:
logfile "/var/log/maildrop.log"
to "$HOME/Maildir"
建立日志文件
touch /var/log/maildrop.log
chown vuser.vgroup /var/log/maildrop.log
C.配置Postfix
 编辑master.cf
# vi /etc/postfix/master.cf
启用如下两行
maildrop unix -        n       n       -       -       pipe
 flags=DRhu user=vuser argv=/usr/local/bin/maildrop -d ${recipient}
注意:定义transport的时候,即如上两行中的第二行,其参数行必须以空格开头,否则会出错。
  4)Webmail 安装配置========================================
tar -zxvf extmail-1.2.tar.gz
mkdir -pv /var/www/extsuite
mv extmail-1.2 /var/www/extsuite/extmail
cp /var/www/extsuite/extmail/webmail.cf.default /var/www/extsuite/extmail/webmail.cf
vi /var/www/extsuite/extmail/webmail.cf
部分修改选项的说明:
SYS_MESSAGE_SIZE_LIMIT = 5242880
用户可以发送的最大邮件
SYS_USER_LANG = en_US
语言选项,可改作:
SYS_USER_LANG = zh_CN
SYS_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 = extmail
SYS_MYSQL_HOST = localhost
指明数据库服务器主机名,这里默认即可
SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock
连接数据库的sock文件位置,这里修改为:
SYS_MYSQL_SOCKET = /usr/local/webserver/mysql5/var/mysql.sock
SYS_MYSQL_HOST = 127.0.0.1
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/webserver/courier-authlib/var/spool/authdaemon/socket
chown -R vuser.vgroup /var/www/extsuite/extmail/cgi/
apache相关配置
由于extmail要进行本地邮件的投递操作,故必须将运行apache服务器用户的身份修改为您的邮件投递代理的用户;本例中打开了apache服务器的suexec功能,故使用以下方法来实现虚拟主机运行身份的指定。此例中的MDA为postfix自带,因此将指定为postfix用户:
<VirtualHost *:80>
ServerName mail.lxh.com
DocumentRoot /var/www/extsuite/extmail/html/
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
Alias /extmail /var/www/extsuite/extmail/html
SuexecUserGroup vuser vgroup
</VirtualHost>
(5) 安装 Extman=============================================
tar zxvf extman-1.0.0.tar.gz
 mv extman-1.0.0 /var/www/extsuite/extman
修改配置文件以符合本例的需要:
 vi /var/www/extsuite/extman/webman.cf
SYS_MAILDIR_BASE = /home/domains
此处即为您在前文所设置的用户邮件的存放目录,可改作:
SYS_MAILDIR_BASE = /var/mailbox
SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock
此处修改为:
SYS_MYSQL_SOCKET = /usr/local/webserver/mysql5/var/mysql.sock
SYS_CAPTCHA_ON = 1 此处为0登陆后台要不要显示验证码,1为需要。
SYS_CHARSET = gb2312
SYS_MYSQL_HOST = 127.0.0.1
SYS_LANG = zh_CN
使用extman源码目录下docs目录中的extmail.sql和init.sql建立数据库:
 cd /var/www/extsuite/extman/docs
 mysql -u root -p <extmail.sql
 mysql -u root -p <init.sql
cd /var/www/extsuite/extman/libs/Ext
./buildpkg.sh build /var/www/extsuite/extmail/libs/Ext
mkdir /tmp/extman
chown -R vuser:vgroup /tmp/extman
cd /var/www/extsuite/extman/tools/
./maildirmake.pl /var/mailbox/extmail.org/postmaster/Maildir
chown -R vuser:vgroup /var/mailbox/
修改cgi目录的属主:
# chown -R vuser.vgroup /var/www/extsuite/extman/cgi/
如果extman访问数据库权限不足的话,可采用以下命令将新生成的数据库赋予webman用户具有所有权限:
mysql> GRANT all privileges on extmail.* TO webman@localhost IDENTIFIED BY 'webman';
mysql> GRANT all privileges on extmail.* TO webman@127.0.0.1 IDENTIFIED BY 'webman';
在apache的主配置文件中Extmail的虚拟主机部分,添加如下两行:
ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
Alias /extman /var/www/extsuite/extman/html
 创建其运行时所需的临时目录,并修改其相应的权限:
 mkdir -pv /tmp/extman
 chown vuser.vgroup /tmp/extman
6 )安装 extman 依赖关系包
 A.tar zxvf gd-2.0.35.tar.gz
 cd gd-2.0.35
 ./configure --with-png -with-freetype --with-jpeg --with-zlib --with-fontconfig
 make
 make install
B.安装GD
 tar zxvf GD-2.44.tar.gz
 cd GD-2.44
 perl Makefile.PL
 make
 make install
C.安装Unix::Syslog
tar zxvf /mnt/Unix-Syslog-1.1.tar.gz
cd Unix-Syslog-1.1.tar.gz
perl Makefile.PL
make
make install
D.安装DBD-mysql-4.014
tar zxvf DBD-mysql-4.014
cd DBD-mysql-4.014
perl Makefile.PL
make
make install
好了,到此为止,重新启动apache服务器后,您的Webmail和Extman已经可以使用了,可以在浏览器中输入指定的虚拟主机的名称进行访问,如下:
http://mail.lxh.com/选择管理即可登入extman进行后台管理了。默认管理帐号为:root@extmail.org 密码为:extmail*123*
7 )安装 rrdtool-1.2.23
ln -sv /usr/local/webserver/libxml2/lib/* /usr/lib/
ln -sv /usr/local/webserver/libxml2/lib/* /usr/local/lib/
ln -sv /usr/local/webserver/libxml2/include/* /usr/include/
perl -MCPAN -e shell
install File::Tail
tar zxvf rrdtool-1.2.23.tar.tar
cd rrdtool-1.2.23
./configure --prefix=/usr/local/webserver/rrdtool
make
make install
#创建必要的符号链接(Extman会到这些路径下找相关的库文件)
ln -sv /usr/local/webserver/rrdtool/lib/perl/5.8.8/i386-linux-thread-multi/auto/RRDs/RRDs.so /usr/lib/perl5/5.8.8//i386-linux-thread-multi/
ln -sv /usr/local/webserver/rrdtool/lib/perl/5.8.8/RRDp.pm /usr/lib/perl5/5.8.8/
 ln -sv /usr/local/webserver/rrdtool/lib/perl/5.8.8/i386-linux-thread-multi/RRDs.pm /usr/lib/perl5/5.8.8/
cp -r /usr/local/webserver/rrdtool/lib/perl/5.8.8/i386-linux-thread-multi/* /usr/lib/perl5/5.8.8/i386-linux-thread-multi/
复制mailgraph_ext到/usr/local,并启动之
cp -r /var/www/extsuite/extman/addon/mailgraph_ext /usr/local
/usr/local/mailgraph_ext/mailgraph-init start
/usr/local/mailgraph_ext/qmonitor-init start
#添加到自动启动队列
echo "/usr/local/mailgraph_ext/mailgraph-init start" >> /etc/rc.local
echo "/usr/local/mailgraph_ext/qmonitor-init start" >> /etc/rc.local
 
测试:http:// 你的服务器ip/  访问mail前台页面
  http://你的服务器ip/extman   访问mail的后台管理
========================= =完成= ==================================