设为首页 收藏本站
查看: 1356|回复: 0

[经验分享] RHEL5+postfix+mysql+extmai(源代码)续

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-24 08:17:45 | 显示全部楼层 |阅读模式
十五、安装extmaiWebmail软件
http://www.extmail.org/
#tarzxvf extmail-1.0.5.tar.gz
#mkdir-pv /var/www/extsuite
#mvextmail-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
此句用来指明authdaemosocket文件的位置,这里修改为:
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/
解决依赖关系
#tarzxvf Unix-Syslog-1.1.tar.gz -C /usr/local/src/
#cd/usr/local/src/Unix-Syslog-1.1/
# perlMakefile.PL
# make
# makeinstall

#tar-zxvf DBI-1.58.tar.gz -C /usr/local/src/
#cd/usr/local/src/DBI-1.58/
# perlMakefile.PL
# make
# makeinstall

# tar-zxvf DBD-mysql-3.0002_4.tar.tar -C /usr/local/src/
# cd/usr/local/src/DBD-mysql-3.0002_4/
# perlMakefile.PL
(此步骤中如果出现类同Can'texec &quot;mysql_config&quot;: No such file or directory at Makefile.PL line 76.的错误是因为您的mysqlbin目录没有输出至$PATH环境变量)
# make
# makeinstall

十六、安装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.sqlinit.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 privilegeson extmail.* TO extmail@localhost IDENTIFIED BY 'extmail';
mysql> GRANT all privilegeson extmail.* TO extmail@127.0.0.1 IDENTIFIEDBY '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.rpmrrdtool-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-initstart

添加到自动启动队列
#echo &quot;/usr/local/mailgraph_ext/mailgraph-initstart&quot; >> /etc/rc.local
#echo &quot;/usr/local/mailgraph_ext/qmonitor-initstart&quot; >> /etc/rc.local


十七、安装maildrop(邮件过滤)
http://www.courier-mta.org
maildrop是一个使用C&#43;&#43;编写的用来代替本地MDA的带有过滤功能邮件投递代理,是courier邮件系统组件之一。它从标准输入接受信息并投递到用户邮箱;maildrop既可以将邮件投递到mailboxes&#26684;式邮箱,亦可以将其投递到maildirs&#26684;式邮箱。同时,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/nologinvmail

#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


检查安装结果,请确保有&quot;CourierAuthentication Library extension enabled.&quot;一句出现:

# 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 &quot;/var/log/maildrop.log&quot;  

# 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的时候,即如上两行中的第二行,其参数行必须以空&#26684;开头,否则会出错。

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


virtual_transport = virtual
修改为:
virtual_transport = maildrop

将下面两项指定的UIDGID作相应的修改:
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可能会报告 “signal0x06”的错误报告。


十八、配置apache

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

将用户邮件所在的目录/var/mailboxextman的临时目录/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-authlibrestart

#/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)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-142819-1-1.html 上篇帖子: 邮件系统备份与恢复(postfix+cyrus-imap) 下篇帖子: rhel+postfix+mysql+dovecot+extmail system
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表