十五、安装extmai(Webmail软件)

http://www.extmail.org/

#tar zxvf extmail-1.0.5.tar.gz
#mkdir -pv /var/www/extsuite
#mv extmail-1.0.5 /var/www/extsuite/extmail
#cp /var/www/extsuite/extmail/webmail.cf.default /var/www/extsuite/extmail/webmail.cf

#vim /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 = /tmp/mysql.sock

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

#vim /etc/httpd/httpd.conf

文件最后添加下面内容

<VirtualHost *:80>

ServerName mail.test.com

DocumentRoot /var/www/extsuite/extmail/html/

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

ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi

Alias /extmail /var/www/extsuite/extmail/html

SuexecUserGroup postfix postfix

</VirtualHost>

# chown -R postfix.postfix /var/www/extsuite/extmail/cgi/

解决依赖关系

#tar zxvf Unix-Syslog-1.1.tar.gz -C /usr/local/src/

#cd /usr/local/src/Unix-Syslog-1.1/

# perl Makefile.PL
# make
# make install

#tar -zxvf DBI-1.58.tar.gz -C /usr/local/src/

#cd /usr/local/src/DBI-1.58/

# perl Makefile.PL
# make
# make install

# tar -zxvf DBD-mysql-3.0002_4.tar.tar -C /usr/local/src/

# cd /usr/local/src/DBD-mysql-3.0002_4/

# perl Makefile.PL
(此步骤中如果出现类同Can't exec "mysql_config": No such file or directory at Makefile.PL line 76.的错误是因为您的mysql的bin目录没有输出至$PATH环境变量)
# make
# make install

十六、安装extman(基于Web的邮件帐号管理系统)

http://www.extmail.org/

# tar zxvf extman-0\[1\]\[1\].2.2.tar.gz

#mv extman-0.2.2/ /var/www/extsite/extman

# vim /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 = /tmp/mysql.sock

使用extman源码目录下docs目录中的extmail.sql和init.sql建立数据库:
# cd /var/www/extsuite/extman/docs
# mysql -u root -p <extmail.sql
# mysql -u root -p <init.sql
修改cgi目录的属主:
# chown -R postfix.postfix /var/www/extsuite/extman/cgi/
如果extman访问数据库权限不足的话,可采用以下命令将新生成的数据库赋予webman用户具有所有权限:
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';

#mkdir –pv /tmp/extman
#chown postfix.postfix /tmp/extman

#/usr/local/apache/bin/apachectl restart

客户端使用浏览器输入地址浏览(http://mail.test.com/)

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

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

#rpm -ivh perl-GD-2.35-1.el4.rf.i386.rpm

如果发信提示:

SMTP rcpt error: 5.1.1 : Recipient address rejected: User unknown in local recipient table

请在/etc/postfix/main.cf里面确保存在下面配置

local_recipient_maps =

(如果发送邮件成功,但是无法接收邮件,请注释掉下面三项:

#myhostname = mail.test.com

#myorigin = test.com

#myhostname = mail.test.com

安装extman图形日志

安装Time::HiRes
#tar zxvf Time-HiRes-1.9719.tar.gz -C /usr/local/src/
#cd /usr/local/src/Time-HiRes-1.9719/
#perl Makefile.PL 
#make
#make test
#make install

安装File::Tail
# tar -zxvf File-Tail-0.99.3.tar.gz -C /usr/local/src/
# cd /usr/local/src/File-Tail-0.99.3/
#perl Makefile
#make
#make test
#make install

安装rrdtool-1.2.23

#rpm –ivh perl-GD-2.35-1.el5.rf.i386.rpm –force
# rpm -ivh rrdtool-1.2.30-1.el5.rf.i386.rpm rrdtool-perl-1.2.27-3.el5.remi.i386.rpm

复制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

十七、安装maildrop(邮件过滤)

http://www.courier-mta.org

maildrop是一个使用C++编写的用来代替本地MDA的带有过滤功能邮件投递代理,是courier邮件系统组件之一。它从标准输入接受信息并投递到用户邮箱;maildrop既可以将邮件投递到mailboxes格式邮箱,亦可以将其投递到maildirs格式邮箱。同时,maildrop可以从文件中读取入站邮件过滤指示,并由此决定是将邮件送入用户邮箱或者转发到其它地址等。和procmail不同的是,maildrop使用结构化的过滤语言,因此,邮件系统管理员可以开发自己的过滤规则并应用其中。
我们在此将使用maildrop来代替postfix自带的MDA,并以此为基础扩展后文的邮件杀毒和反垃圾邮件功能的调用;在此可能会修改前文中的许多设置,请确保您的设置也做了相应的修改。
1、安装
将courier-authlib的头文件及库文件链接至/usr目录(编译maildrop时会到此目录下找此些相关的文件):
# ln -sv /usr/local/courier-authlib/bin/courierauthconfig /usr/bin
# ln -sv /usr/local/courier-authlib/include/* /usr/include

# tar -jxvf pcre-7.3.tar.bz2 -C /usr/local/src/

# cd /usr/local/src/pcre-7.3/

# ./configure
# make 
# make check
# make install

# groupadd -g 1001 vmail
# useradd -g vmail -u 1001 -M -s /sbin/nologin vmail

#tar jxvf maildrop-2.0.4.tar.bz2 -C /usr/local/src/

#cd /usr/local/src/maildrop-2.0.4/

#./configure --enable-sendmail=/usr/sbin/sendmail --enable-trusted-users='root vmail' --enable-syslog=1 --enable-maildirquota --enable-maildrop-uid=1001 --enable-maildrop-gid=1001 --with-trashquota --with-dirsync
# make
# make install

检查安装结果,请确保有"Courier Authentication Library extension enabled."一句出现:

# maildrop -v
maildrop 2.0.4 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.

新建其配置文件/etc/maildroprc文件,首先指定maildrop的日志记录位置:
# vim  /etc/maildroprc

写入下面记录

logfile "/var/log/maildrop.log"

# touch /var/log/maildrop.log
# chown vmail.vmail /var/log/maildrop.log

配置Postfix
编辑master.cf
# vim /etc/postfix/master.cf
启用如下两行
maildrop unix - n n - - pipe
   flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
注意:定义transport的时候,即如上两行中的第二行,其参数行必须以空格开头,否则会出错。

编辑main.cf
# vim /etc/postfix/main.cf

virtual_transport = virtual
修改为:
virtual_transport = maildrop

将下面两项指定的UID和GID作相应的修改:
virtual_uid_maps = static:2525
virtual_gid_maps = static:2525
修改为:
virtual_uid_maps = static:1001
virtual_gid_maps = static:1001

编辑/etc/authmysqlrc

# vim /etc/authmysqlrc

MYSQL_UID_FIELD '2525'
MYSQL_GID_FIELD '2525'
更改为:
MYSQL_UID_FIELD '1001'
MYSQL_GID_FIELD '1001'

注意:没有此处的修改,maildrop可能会报告 “signal 0x06”的错误报告。

十八、配置apache

编辑/etc/httpd/httpd.conf,修改运行用户:
如果启用了suexec的功能,则将虚拟主机中指定的
SuexecUserGroup postfix postfix
修改为:
SuexecUserGroup vmail vmail

将用户邮件所在的目录/var/mailbox和extman的临时目录/tmp/extman的属主和属组指定为vmail 
#chown -R vmail.vmail /var/mailbox

#chmod –R 0755 /var/mailbox
#chown -R vmail.vmail /tmp/extman
#chown -R vmail.vmail /var/www/extsuite/extmail/cgi/
#chown -R vmail.vmail /var/www/extsuite/extman/cgi/
#chown -R vmail.vmail /tmp/viewlog/
#/etc/init.d/courier-authlib restart

#/usr/local/postfix/sbin/postfix reload

#/usr/local/apache/bin/apachectl restart

进行发信测试后,如果日志中的记录类同以下项,则安装成功
#cat /var/log/maillog

Oct 14 03:45:36 localhost postfix/pipe[31494]: 193F257594: to=<abc@test.com>, relay=maildrop, delay=0.23, delays=0.16/0.02/0/0.05, dsn=2.0.0, status=sent (delivered via maildrop service)

RHEL5+postfix+mysql+extmai(源代码)续相关推荐

  1. RHEL5+postfix+mysql+extmai(源代码)

    RHEL5+postfix+mysql+extmai(源代码)配置一个postfix邮件系统,远比我先前的想象复杂.这次共配置2个postfix系统,花了不少精力,其间也经历不少麻烦,还好,最后都做成 ...

  2. mysql ext_RHEL5+postfix+mysql+extmai(源代码)(一)

    一.(1)配置rhel5的yum服务以方便安装常用软件 #service iptables stop #chkconfig iptables off #mkdir /media/cdrom #moun ...

  3. RHEL5+Postfix+MySql+IMAP+MailDrop+ExtMail(5)

    十三.安装Extman-0.2.2<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office&qu ...

  4. freebsd+postfix+mysql+authdaemon+sasl2+bind9

     最小化安装freebsd选上ports 1.安装 apache2   shell $> cd /usr/ports/www/apache22 shell $> make install  ...

  5. postfix+mysql+dovecot

    postfix+mysql+dovecot (也可以下载雷鸟进行收发邮件!!!) 服务器是192.168.0.254 实验的主机是192.168.0.119 (这个实验是在postfix+mysql的 ...

  6. extmail如何登陆mysql_rhel5.4下postfix+mysql+extmail中mysql密码怎么设置?

    我在配置postfix+mysql+extmail中出现了一下问题 首先我安装的是mysql,mysql-server,mysql-devel,phpadmin 其中Postfix不支持mysql是要 ...

  7. Postfix+Mysql+Apache+Dovecot+Thunderbird+Extmail+E

    2019独角兽企业重金招聘Python工程师标准>>> Postfix+Mysql+Apache+Dovecot+Thunderbird+Extmail+Extman 配置 (前提: ...

  8. debian sarge + postfix + mysql + webmail + web admin安装配置指南

    非常简明的debian sarge + postfix + mysql + webmail + web admin安装配置指南 想在debian上安装postfix邮件系统很多年了,参考了许多网上的资 ...

  9. mysql innodb源代码调试跟踪分析 何登成_Mysql+Innodb源代码调试跟踪分析+何登成_IT168文库...

    Mysql+Innodb源代码调试跟踪分析+何登成_IT168文库 Mysql Innodb源代码调试跟踪分析 何登成 1 2 3 4 5 6 7 8 9 10 10.1 10.2 10.3 10.4 ...

最新文章

  1. Docker容器对CPU资源隔离的几种方式
  2. [YTU]_2625( 构造函数和析构函数)
  3. wind up和end up的区别
  4. Python获取.wav音频的时长
  5. 全网段ip扫描工具安卓_我是如何打造个人专属网络扫描利器
  6. requests 分类多级页面_scrapy框架爬取多级页面
  7. 逻辑回归、线性回归直观感受
  8. 安卓PHP maker汉化,android 百度地图marker添加自定义视图
  9. tcp 四次挥手_TCP三次握手和四次挥手通俗理解
  10. python ping 连接_Python检查ping终端的方法
  11. 音频属性采样率、通道数、位数、比特率、帧等
  12. 本地化软件UI部分不显示的一种可能
  13. 中公计算机类考试题库,计算机考试题库:计算机考试模拟练习题(194)
  14. 抖音小程序支付宝异步回调中验签php代码
  15. mc服务器怎么修改浮空字,我的世界浮空字体怎么使用 浮空字体使用攻略
  16. ST-Link设备连接。 Could not verify ST device! Abort connection.
  17. 一个BAT大厂面试者整理的Android面试题目!
  18. MATLAB信号与系统
  19. Compuware 公司
  20. IP地址、端口号、网络字节序

热门文章

  1. 隔空投送找不到_为什么苹果的隔空投送突然搜不到对方了?
  2. 在 Microsoft Word 优雅的插入代码块
  3. Visual Studio VS 快捷键使用大全
  4. 新浪微博粉丝——爬虫涨粉技巧
  5. 三点求平面方程式的算法
  6. vue 页面回退后,不刷新问题
  7. 2018 计蒜之道 初赛 第三场
  8. 快速启动栏增强工具 Free Launch Bar
  9. Diffusion 扩散模型(DDPM)详解及torch复现
  10. 极家精装好吗?看看案例就知道了