热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

CENTOS5下配置mail服务器

来源: 作者: 时间:2007-12-06 Tag: 点击:

==courier-authlib==按装配置配置courier-authlib
==courier-authlib==下载地址:http://sourceforge.net/project/showfiles.php?group_id=5404
文件名:courier-authlib-0.60.2.tar.bz2
# yum install gdbm-*
==courier-authlib==进入解压目录编译
./configure \
--prefix=/usr/local/courier-authlib \
--without-stdheaderdir \
--without-authuserdb \
--without-authpam \
--without-authldap \
--without-authpwd \
--without-authshadow \
--without-authvchkpw \
--without-authpgsql \
--without-authcustom \
--with-authmysql \
--with-redhat

#make
#make install
#make install-configure

编辑vi /etc/ld.so.conf
加入/usr/local/courier-authlib/lib/courier-authlib
# ldconfig
备注:如果没有运行ldconfig,按装完maildrop,运行maildrop -v时会出现错误(maildrop:

error while loading shared libraries: libcourierauth.so.0)

# vi /etc/rc.d/rc.local
/usr/local/courier-authlib/sbin/authdaemond start //增加该行
修改目录权限,如果该目录权限不正确修改,maildrop及postfix等将无法正确获取用户的信息及

密码认证:
#chmod 755 /usr/local/courier-authlib/var/spool/authdaemon

然后编辑/usr/local/courier-authlib/etc/authlib/authmysqlrc
清空原内容加入

MYSQL_SERVER            localhost
MYSQL_USERNAME          extmail
MYSQL_PASSWORD          extmail
MYSQL_SOCKET            /var/lib/mysql/mysql.sock
MYSQL_PORT              3306
MYSQL_OPT               0
MYSQL_DATABASE          extmail
MYSQL_USER_TABLE        mailbox
MYSQL_CRYPT_PWFIELD     password
MYSQL_UID_FIELD         uidnumber
MYSQL_GID_FIELD         gidnumber
MYSQL_LOGIN_FIELD       username
MYSQL_HOME_FIELD        homedir
MYSQL_NAME_FIELD        name
MYSQL_MAILDIR_FIELD     maildir
MYSQL_QUOTA_FIELD       quota
MYSQL_SELECT_CLAUSE     SELECT username,password,"",uidnumber,gidnumber,\
                        CONCAT('/home/domains/',homedir),               \
                        CONCAT('/home/domains/',maildir),               \
                        quota,                                          \
                        name                                            \
                        FROM mailbox                                    \
                        WHERE username = '$(local_part)@$(domain)'

启动服务
# /usr/local/courier-authlib/sbin/authdaemond start


==maildrop==按装配置maildrop
==maildrop==下载地址:http://sourceforge.net/project/showfiles.php?group_id=5404
==maildrop==文件名:maildrop-2.0.4.tar.bz2
#yum install pcre-*
#ln -s /usr/local/courier-authlib/bin/courierauthconfig /usr/bin/courierauthconfig
==maildrop==这样编译出来的maildrop才会ourier Authentication Library extension enabled.
# groupadd -g 1000 vgroup
# useradd -g 1000 -u 1000 -s /bin/false vuser
==maildrop==编译:
./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
# maildrop -v   //检查信息,如果有courier-authlib则表示安装成功


==maildrop==配置main.cf和master.cf使postfix调用maildrop
由于maildrop不支持一次接收多个收件人,因此必须在main.cf里增加如下参数:
vi /etc/postfix/main.cf
加入
maildrop_destination_recipient_limit = 1
为了使Postfix支持Maildrop,必须修改/etc/postfix/master.cf文件,注释掉原来的maildrop的

配置内容,并改为:
vi /etc/postfix/master.cf

maildrop   unix        -       n        n        -        -        pipe
    #flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
flags=DRhu user=vuser argv=/usr/local/bin/maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user} ${extension} {nexthop}

此处要注意argv=后边的maildrop要加上路径,否则会出现
temporary failure. Command output: pipe: fatal: pipe_command: execvp maildrop: No such

file or directory
注意maildrop unix这行前边不能有空格,要不会出现以下错误提示
warning: connect to transport maildrop: No such file or directory
Oct 31 23:21:24 localhost postfix/error[2235]: BE0AE27DAF6: to=<jjq002@abc.com>,

relay=none, delay=1443, delays=1443/0.24/0/0.02, dsn=4.3.0, status=deferred (mail

transport unavailable)
注意flags=Drhu这一行前边有两个空格,要不会出现以下错(fatal: /etc/postfix/master.cf: line

100: bad transport type: user=vuser):

虚拟主机设置
在http.conf中,注解掉
#AddDefaultCharset UTF-8
在最后一行加上:
NameVirtualHost *:80
Include conf/vhost_*.conf

编辑/etc/httpd/conf/vhost_extmail.conf,里面定义虚拟主机的相关内容包括主目录,以及ExtMail和ExtMan的
相关配置,Suexec的设置等。

# VirtualHost for ExtMail Solution
<VirtualHost *:80>
ServerName www.abc.com
DocumentRoot /var/www/html/extsuite/extmail/html/

ScriptAlias /extmail/cgi/ /var/www/html/extsuite/extmail/cgi/
Alias /extmail/ /var/www/html/extsuite/extmail/html/

ScriptAlias /extman/cgi/ /var/www/html/extsuite/extman/cgi/
Alias /extman/ /var/www/html/extsuite/extman/html/

# Suexec config
SuexecUserGroup vuser vgroup
</VirtualHost>
保存,重启apache
出现Warning: DocumentRoot [/var/www/html/extsuite/extmail/html/] does not exist
不必理会,下边马上会配置
========================

配置extmail,extman
下载地址:http://www.extmail.org/cgi-bin/download.cgi
文件名:extmail-1.0.2.tar.gz   extman-0.2.2.tar.gz 下载并解压
配置过程:
#mkdir -p /var/www/html/extsuite
=====针对ExtMailcyrus-sasl-2.1.22.tar.gz
#cp -r extmail-1.0.2 /var/www/html/extsuite/extmail
#cd /var/www/html/extsuite/extmail/
#cp webmail.cf.default webmail.cf
编辑webmail.cf
把/var/www/extsuite/替换为/var/www/html/extsuite/
其它变动如下:
SYS_USER_LANG = zh_CN
SYS_USER_CHARSET = gb2312

SYS_MFILTER_ON = 1
SYS_NETDISK_ON = 1

SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_DB = extmail

SYS_G_ABOOK_TYPE = file
SYS_G_ABOOK_FILE_CHARSET = gb2312

更新cgi目录权限
由于SuEXEC的需要,必须将extmail的cgi目录修改成vuser:vgroup权限:
chown -R vuser:vgroup /var/www/html/extsuite/extmail/cgi/

====针对ExtMab
#cp -r extman-0.2.2 /var/www/html/extsuite/extman
#cd /var/www/html/extsuite/extman
编辑webman.cf
把/var/www/extsuite/替换为/var/www/html/extsuite/
其它配置
SYS_CHARSET = gb2312
SYS_LANG = zh_CN

更新cgi目录权限
由于SuEXEC的需要,必须将extman的cgi目录修改成vuser:vgroup权限:
chown -R vuser:vgroup /var/www/html/extsuite/extman/cgi/

====数据库初始化,need to edit extmail.sql and init.sql to suit you website,and the

init user ,passwd are in this tow file
#mysql -u root -p < /var/www/html/extsuite/extman/docs/extmail.sql //创建数据库
#Enter password:
# mysql -u root -p < /var/www/html/extsuite/extman/docs/init.sql //插入一些默认值
#Enter password:

=======链接基本库到Extmail
由于ExtMan的体系与ExtMail比较类似,因此ExtMan需要使用ExtMail中几个基础perl 模块,在
extman的源码包里,包含了一个叫buildpkg.sh(可能以前版 本为buildlink.sh) 的小脚本,该脚
本完成了这些链接的工作,使用方法:
#cd /var/www/html/extsuite/extman/libs/Ext
#./buildpkg.sh build /var/www/html/extsuite/extmail/libs/Ext
#mkdir /tmp/extman
#chown -R vuser:vgroup /tmp/extman

======数据库中默认插入的测试邮箱时postmaster@extmail.org为其建立 maildir
#cd /var/www/html/extsuite/extman/tools/
#./maildirmake.pl /home/domains/extmail.org/postmaster/Maildir
#chown -R vuser:vgroup /home/domains


=======[cloudrainwind.com是我自己建立的URL]通过http://www.cloudrainwind.com/exmail/访问邮件登陆页面。会出现
Unix::Syslog not found, please install it first!
需要按装:perl-Unix-Syslog
下载地址:http://rpm.pbone.net/index.php3/stat/4/idpl/4851834/com/perl-Unix-Syslog-0.100-9.el5.i386.rpm.html
文件名: perl-Unix-Syslog-0.100-9.el5.i386.rpm

=====通过http://www.cloudrainwind.com/extman访问后台管理面,会看不到验证码,需要按装

perl-GD
下载地址:http://dries.ulyssis.org/rpm/packages/perl-GD/info.html
            或:http://apt.sw.be/packages/perl-GD/
文件名:perl-GD-2.30-2.2.el5.rf.i386.rpm

整体测试:
# echo "test"|maildrop -V 10 -d postmaster@extmail.org
//出现maildrop: Delivery complete.说明已经正常投递

配置courier-imap
下载地址:http://sourceforge.net/project/showfiles.php?group_id=5404
文件名: courier-imap-4.2.1.tar.bz2
编译:
# ./configure --prefix=/usr/local/courier-imap \
--with-redhat \
--enable-unicode \
--disable-root-check \
--with-trashquota \
--without-ipv6 COURIERAUTHCONFIG='/usr/local/courier-authlib/bin/courierauthconfig'
# make
# make install
然后
#cp /usr/local/courier-imap/etc/imapd.dist /usr/local/courier-imap/etc/imapd
#cp /usr/local/courier-imap/etc/imapd-ssl.dist /usr/local/courier-imap/etc/imapd-ssl
#cp /usr/local/courier-imap/etc/pop3d.dist /usr/local/courier-imap/etc/pop3d
#cp /usr/local/courier-imap/etc/pop3d-ssl.dist /usr/local/courier-imap/etc/pop3d-ssl
配置Courier-IMAP,为用户提供pop3服务:
vi /usr/local/courier-imap/etc/pop3d
POP3DSTART=yes
注:如果你想为用户提供IMAP服务,可以在"/usr/local/courier-imap/etc/imapd"文件中设

置"IMAPDSTART=YES"。
cp courier-imap.sysvinit /etc/rc.d/init.d/imapd
chmod 755 /etc/rc.d/init.d/imapd
chkconfig --add imapd

==mailgraph_ext==配置,需要的包及下载地址:
下载地址:http://rpm.pbone.net/index.php3/stat/4/idpl/4852050/com/rrdtool-1.2.23-3.el5.i386.rpm.html
文件名:rrdtool-1.2.23-3.el5.i386.rpm
下载地址:http://rpm.pbone.net/index.php3/stat/4/idpl/4509699/com/perl-rrdtool-1.2.23-1.el5.rf.i386.rpm.html
文件名:perl-rrdtool-1.2.23-1.el5.rf.i386.rpm
rpm -ivh按装上以上两个rpm包
按装:File::Tail及Time::HiRes
# yum install perl-CPAN
#perl -MCPAN -e shell
#cpan>install File::Tail
#cpan>install Time::HiRes
#cpan>quit
必要的包装好后,配置mailgraph_ext
#cp -r /var/www/html/extsuite/extman/addon/mailgraph_ext/ /usr/local/mailgraph_ext/
# /usr/local/mailgraph_ext/mailgraph-init start
# /usr/local/mailgraph_ext/qmonitor-init start
为了一开机就能自动执行上述进程,将上述命令加到rc.local 里面:
echo "/usr/local/mailgraph_ext/mailgraph-init start" >> /etc/rc.d/rc.local
echo "/usr/local/mailgraph_ext/qmonitor-init start" >> /etc/rc.d/rc.local


到这里邮件系统就可以运行了,下边的部分可以选择配置
以下给stfix邮件系统加上防病毒和防垃圾邮件系统




相关文章:
apache jsp tomcat 虚拟主机 在加上pure-ftp
squid 优化(解释篇)
调整centos文件打开数
REDHAT AS安装10g错误
用SystemImager克隆系统(一)
openssh 5.1版使用chroot sftp帐号技术
HPUX从入门到提高之三
postfix+vm-pop3+openmail 构造邮件服务器
SecureCRT设置
双机备份方案(resin集群+冷备)
开启rsh服务
Solaris9允许root用户登录ssh
Solairs如何上网?
实战PXE启动安装Redhat AS 5 Linux
RHCT Lab1: Network Installation
RHCE Lab1: Kickstart
RHCE Lab1.1: Auto Installation
apache版本号显示的问题
修改tomcat端口号
RS/6000小型机故障的基本定位方法
Linux下的权限管理-ACL
CactiEZv9监控CentOS5.0
Red Hat Enterprise Linux 5.2 简明安装手册
StorNext 简单安装说明
FreeBSD7 Apache2.2 PHP5 PostgreSQL8.3 Ports安
关于nagios监控系统添加主机和服务脚本
C和C++语言学习总结
apache优化
CentOS+Nginx+PHP+Mysql(1)
Apache服务器限制并发连接和下载速度