zoukankan      html  css  js  c++  java
  • Linux中Postfix邮件WebMail配置(七)

    Extmail

    Extmail 是一个以perl语言编写,面向大容量/ISP级应用,免费的高性能Webmail软件,主要包括ExtMail、Extman两个部分的程序套件。ExtMail套件用于提供从浏览器中登录、使用邮件系统的Web操作界面,提供给普通邮件用户使用。而Extman套件用于提供从浏览器中管理邮件系统的Web操作界面,提供给邮件系统的管理员使用。它以GPL版权释出,设计初衷是希望设计一个适应当前高速发展的IT应用环境,满足用户多变的需求,能快速进行开发、改进和升级,适应能力强的webmail系统。

    Extmail还被设计成一个能够替代目前国内外一些主流webmail软件的系统,例如:SqWebMail,OpenWebmail及squirrel,Igenus等。

    ExtMail Project 是一个活跃的开源邮件系统项目,目前由ExtMail 团队维护。该项于2005年9月18日正式启动,最初以WebMail软件为主,至今已逐步形成了ExtMail软件系列。整个项目的目标是开发出高效、 易用、富有生命力的邮件系统(方案),经过粗略的统计,截止2009年10月份,已有超过8000个服务器在运行ExtMail软件,其中有超过4000 个运行在互联网上。

    目前Extmail的主要特点集中如下:

    支持Maildir,索引技术,速度超快 支持多国语言同屏显示,真正国际邮 支持巨型邮箱(超过1GB)海量文件 支持无限尺寸附件,I/O能力强 模板化,多语言,修改非常容易。

    配置Extmail

    安装Extmail
    [root@localhost ~]# tar zxvf extmail-1.2.tar.gz
    [root@localhost ~]# mkdir -pv /var/www/extsuite
    [root@localhost ~]# mv extmail-1.2 /var/www/extsuite/extmail
    [root@localhost ~]# cd /var/www/extsuite/extmail/
    [root@localhost extmail]# cp webmail.cf.default webmail.cf
    
    配置Extmail连接MySQY
    [root@localhost ~]# vim /var/www/extsuite/extmail/webmail.cf
    SYS_CONFIG = /var/www/extsuite/extmail/
      #默认的网页路径(所以上面直接创建了一个目录)
    SYS_MESSAGE_SIZE_LIMIT = 5242880
      #用户可以发送的最大邮件
    SYS_USER_LANG = zh_CN
      #语言选项(这里修改为中文,默认是英文)
    SYS_MAILDIR_BASE = /var/mailbox
      #此处即为您在前文所设置的虚拟用户邮件的存放目录(这里修改为/var/mailbox) 
    SYS_MYSQL_USER = extmail
    SYS_MYSQL_PASS = extmail
    SYS_MYSQL_PASS = extmail
      #以上用来设置连接数据库服务器所使用用户名、密码和邮件服务器用到的数据库
    SYS_MYSQL_HOST = localhost
      #指明数据库服务器主机名,这里默认即可
    SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock
      #指明数据库sock文件,这里默认,如果不是使用RPM包就要修改
    SYS_MYSQL_TABLE = mailbox
    SYS_MYSQL_ATTR_USERNAME = username
    SYS_MYSQL_ATTR_DOMAIN = domain
    SYS_MYSQL_ATTR_PASSWD = password
      #以上用来指定验正用户登录里所用到的表,以及用户名字段、域名字段和用户密码字段,这里默认即可
    SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket
      #此句用来指明authdaemond socket文件的位置(修改为authlib默认的位置)
    
    配置Httpd服务器

    由于extmail要进行本地邮件的投递操作,故必须将运行apache服务器用户的身份修改为您的邮件投递代理的用户,本例中打开了apache服务器的suexec功能,这样其他虚拟主机在运行时不会影响其运行账号,故使用以下方法来实现虚拟主机运行身份的指定。此例中的MDA为postfix自带因此将指定为postfix用户。

    [root@localhost ~]# vim /etc/httpd/conf/httpd.conf
    ServerName mail.ywnds.com:80
    #DocumentRoot "/var/www/html"
    User vmail
    Group vmail
    
    ServerName mail.ywnds.com
    DocumentRoot /var/www/extsuite/extmail/html/
    ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
    Alias /extmail /var/www/extsuite/extmail/html
    
    

    由于使用postfix运行httpd有风险,如果一个Httpd服务器有多个虚拟主机,那么可以使用apache提供的suexec只针对这一个虚拟主机运行postfix用户和组,而其他主机使用apache用户运行。那么就需要将上面的虚拟主机改为以下:

    [root@localhost ~]# vim /etc/httpd/conf/httpd.conf
    #DocumentRoot "/var/www/html"
    
    ServerName mail.ywnds.com
    DocumentRoot /var/www/extsuite/extmail/html/
    ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
    Alias /extmail /var/www/extsuite/extmail/html
    SuexecUserGroup vmail vmail
    
    
    修改网页目录权限
    [root@localhost ~]# chown -R vmail.vmail /var/www/extsuite/extmail
    
    安装unix-syslog

    Extmail是使用perl语言写的程序,需要要用到perl的UNIX::syslog功能

    [root@localhost ~]# tar xvf Unix-Syslog-1.1.tar.gz -C /usr/src/
    [root@localhost ~]# cd /usr/src/Unix-Syslog-1.1
    [root@localhost Unix-Syslog-1.1]# perl Makefile.PL
    [root@localhost Unix-Syslog-1.1]# make && make install
    
    启动Httpd服务
    [root@localhost ~]# setenforce 0
    [root@localhost ~]# service httpd restart
    [root@localhost ~]# chkconfig httpd on
    

    客户端配置DNS地址为我们设置的DNS服务器(192.168.60.10),或者添加Hosts文件,然后访问http://mail.ywnds.com,就可以看到以下页面。

    Linux中Postfix邮件WebMail配置(七)Linux中Postfix邮件WebMail配置(七)

    配置Extman

    安装Extman后台管理程序
    [root@localhost ~]# tar xvf extman-1.1.tar.gz -C /usr/src/
    [root@localhost ~]# mv /usr/src/extman-1.1 /var/www/extsuite/extman
    
    修改配置文件以符合本例的需要
    [root@localhost ~]# cd /var/www/extsuite/extman/
    [root@localhost extman]# cp webman.cf.default webman.cf
    [root@localhost extman]# vim webman.cf
    SYS_CAPTCHA_ON = 0
      #此处是否开启图形验证码,如果开启会有一些依赖软件需要安装 
    SYS_MAILDIR_BASE = /var/mailbox
      #此处即为您在前文所设置的用户邮件的存放目录
    SYS_SESS_DIR = /tmp/extman
    SYS_SESS_DIR = /tmp/extman/upload
      #建立会话的目录,默认没有需要建立并且属主和属组还必须是Httpd进程的属主属组
    SYS_DEFAULT_UID = 1001
    SYS_DEFAULT_GID = 1001
      #使用vmail的UID和GID
    SYS_BACKEND_TYPE = mysql
      #后端连接默认使用Mysql
    SYS_MYSQL_USER = webman
    SYS_MYSQL_PASS = webman
    SYS_MYSQL_DB = extmail
    SYS_MYSQL_HOST = localhost
    SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock
    SYS_MYSQL_TABLE = manager
    SYS_MYSQL_ATTR_USERNAME = username
    SYS_MYSQL_ATTR_PASSWD = password
    

    #这里就使用webman这是用户,它需要给全部权限,因为webman是后台程序使用,需要创建域和用户

    创建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';
    mysql> flush privileges;
    
    创建/tmp/extman
    [root@localhost ~]# mkdir -pv /tmp/extman/upload
    [root@localhost ~]# chown vmail.vmail /tmp/extman
    
    修改网页目录权限
    [root@localhost ~]# chown -R vmail.vmail /var/www/extsuite/extman
    
    修改httpd.conf配置文件在extmail主机添加上extman路径
    [root@localhost ~]# vim /etc/httpd/conf/httpd.conf
    
    ServerName mail.ywnds.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
    
    
    重启所有服务
    [root@localhost ~]# service httpd restart
    [root@localhost ~]# service saslauthd restart
    [root@localhost ~]# service courier-authlib restart
    [root@localhost ~]# service dovecot restart
    [root@localhost ~]# service postfix restart
    [root@localhost ~]# service named restart
    [root@localhost ~]# service mysqld restart
    [root@localhost ~]# chkconfig | egrep 'named|postfix|saslauthd|courier-authlib|dovecot|httpd|mysqld'
    

    测试webmail

    好了,到此为止,整个邮件架构以及完成了。你的Webmail和Extman也都可以使用了,可以登录extmail然后转到extman后台管理程序进行邮箱服务器的管理,其默认账号密码如下:

    帐号:root@extmail.org

    密码:extmail*123*

    Linux中Postfix邮件WebMail配置(七)Linux中Postfix邮件WebMail配置(七)

    添加一个域

    Linux中Postfix邮件WebMail配置(七)Linux中Postfix邮件WebMail配置(七)

    添加两个用户

    Linux中Postfix邮件WebMail配置(七)Linux中Postfix邮件WebMail配置(七)

    可以使用hadoop用户给openstack用户发封邮件测试效果

    其他问题

    1.如果你想使用校验码,需要安装perl-GD模块会解决校验码不显示的问题。

    2.Extman-1.1自带了图形化显示日志的功能,如果想使用需要安装图形日志的运行所需要的软件包Time::HiRes、File::Tail和rrdtool。

    其中前两个包您可以去http://search.cpan.org搜索并下载获得。

    安装依赖包
    
    [root@localhost ~]# yum install tcl tcl-devel libart_lgpl libart_lgpl-devel
    
    安装Time::HiRes
    
    [root@localhost ~]# tar xvf Time-HiRes-1.9721.tar.gz
    [root@localhost ~]# cd Time-HiRes-1.9721
    [root@localhost Time-HiRes-1.9721]# perl Makefile.PL 
    [root@localhost Time-HiRes-1.9721]# make
    [root@localhost Time-HiRes-1.9721]# make test
    [root@localhost Time-HiRes-1.9721]# make install
    
    安装File::Tail
    
    [root@localhost ~]# tar xvf File-Tail-0.99.3.tar.gz 
    [root@localhost ~]# cd File-Tail-0.99.3
    [root@localhost File-Tail-0.99.3]# perl Makefile.PL
    [root@localhost File-Tail-0.99.3]# make
    [root@localhost File-Tail-0.99.3]# make test
    [root@localhost File-Tail-0.99.3]# make install
    
    安装rrdtool-1.2.23
    
    [root@localhost ~]# tar xvf rrdtool-1.4.5.tar.gz
    [root@localhost ~]# cd rrdtool-1.4.5
    [root@localhost rrdtool-1.4.5]# ./configure --prefix=/usr/local/rrdtool
    [root@localhost rrdtool-1.4.5]# make && make install
    
    创建链接
    
    [root@localhost ~]# cd /usr/local/rrdtool/lib/perl/5.10.1/x86_64-linux-thread-multi/auto/RRDs/
    [root@localhost RRDs]# ln -sv RRDs.so /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi/
    [root@localhost RRDs]# ln -sv /usr/local/rrdtool/lib/perl/5.10.1/RRDp.pm /usr/lib64/perl5/5.10.0/
    [root@localhost RRDs]# ln -sv /usr/local/rrdtool/lib/perl/5.10.1/x86_64-linux-thread-multi/RRDs.pm /usr/lib64/perl5/5.10.0/
    
    PS:Extman会到这些路径下找相关的库文件,复制mailgraph_ext到/usr/local
    
    [root@localhost ~]# cp -r /var/www/extsuite/extman/addon/mailgraph_ext/ /usr/local  
    [root@localhost ~]# /usr/local/mailgraph_ext/mailgraph-init start
    [root@localhost ~]# /var/www/extsuite/extman/daemon/cmdserver -v -d
    [root@localhost ~]# echo "/usr/local/mailgraph_ext/mailgraph-init start" >> /etc/rc.local
    [root@localhost ~]# echo “/var/www/extsuite/extman/daemon/cmdserver -v -d” >> /etc/rc.local
    
    如果编译安装的RRD不行就YUM安装
    
    [root@localhost ~]# yum install rrdtool rrdtool-perl
    

    好了,接下来您就可以到extman的后台查看图表日志了。效果如下图:

    Linux中Postfix邮件WebMail配置(七)Linux中Postfix邮件WebMail配置(七)

  • 相关阅读:
    centos7.6 使用yum安装mysql5.7
    解决hadoop本地库问题
    docker-compose 启动警告
    docker 安装zabbix5.0 界面乱码问题解决
    docker 部署zabbix问题
    zookeeper 超时问题
    hbase regionserver异常宕机
    (转载)hadoop 滚动升级
    hadoop Requested data length 86483783 is longer than maximum configured RPC length
    zkfc 异常退出问题,报错Received stat error from Zookeeper. code:CONNECTIONLOSS
  • 原文地址:https://www.cnblogs.com/linuxprobe-sarah/p/10275362.html
Copyright © 2011-2022 走看看