Postfix基础安装(三):安装Webmail前台

说明:Linux下的开源Webmail有多种选择,Extmail(基于Maildir/Perl)、Squirrelmail(基于PHP) 、RoundCube(PHP+JS)、Horde、Surgemail(HTML)、Zimbra、Open WebMail(Perl)、iRedMail等

本文使用的ExtMail&&ExtMan,是国内唯一开源免费的Webmail,前者是基于Maildir/Perl的webmail客户端,后者是支持MySQL/LDAP的邮件帐户管理系统;

还自带了MailGraph_ext,基于mailgrpah/rrdtool的日志采集分析系统。

ExtMail有专业版,功能更多更强大,也有开源免费版EMOS;

EMOS是一个基于CentOS4/5并集成邮件系统的Linux发行版,直接安装就可以使用;

官方网站:

http://www.extmail.org/

1、安装

下载extmail-1.2.tar.gz和extman-1.1.tar.gz到/usr/local/src目录。

(可以从本文附件中下载)

[[email protected] ~]# cd /usr/local/src
[[email protected] src]# tar -zxvf extmail-1.2.tar.gz
[[email protected] src]# tar -zxvf extman-1.1.tar.gz
[[email protected] src]# mkdir /var/www/extsuite
[[email protected] src]# mv extman-1.1 /var/www/extsuite/extman
[[email protected] src]# mv extmail-1.2 /var/www/extsuite/extmail

2、配置extmail

[[email protected] src]# cd /var/www/extsuite
[[email protected] extsuite]# cp extmail/webmail.cf.default extmail/webmail.cf
[[email protected] extsuite]# vi extmail/webmail.cf
SYS_MYSQL_USER = extmail 
SYS_MYSQL_PASS = extmail 
SYS_MYSQL_DB = extmail

3、配置extman

[[email protected] extsuite]# mkdir /var/www/extsuite/extman/session
[[email protected] extsuite]# cp extman/webman.cf.default extman/webman.cf
[[email protected] extsuite]# vi extman/webman.cf
SYS_SESS_DIR = /var/www/extsuite/extman/session/
SYS_DEFAULT_UID = 1002
SYS_DEFAULT_GID = 1002

注意:用户和组1002是前一小节中创建的用户和组vmail,注意保持一致。

目录session用来保存临时会话信息。

4、初始化数据库

(1)给数据库root用户设置密码:

[[email protected] extsuite]# service mysqld start
[[email protected] extsuite]# mysql -uroot
mysql>set password for [email protected]=password(‘123456‘);
mysql>quit

(2)导入extmail数据库:

[[email protected] extsuite]# mysql -uroot -p123456 < extman/docs/extmail.sql

说明:这里导入的是数据库extmail的表结构

(3)修改参数后导入数据:

[[email protected] extsuite]# sed -i ‘s/extmail.org/yourmail.com/g‘ extman/docs/init.sql
[[email protected] extsuite]# sed -i ‘s/1000/1002/g‘ extman/docs/init.sql
[[email protected] extsuite]# mysql -uroot -p123456 < /var/www/extsuite/extman/docs/init.sql

说明:这里将数据库文件中的域名修改成你自己的,用户和组ID修改成1002;这里导入了默认域以及默认管理员账号的数据。

(4)查看数据库:

[[email protected] extsuite]# mysql -uroot -p123456
mysql> use extmail;
mysql> show tables;
+-------------------+
| Tables_in_extmail |
+-------------------+
| alias             |
| domain            |
| domain_manager    |
| mailbox           |
| manager           |
+-------------------+
mysql> select username,uidnumber,gidnumber from mailbox;
+-------------------------+-----------+-----------+
| username                | uidnumber | gidnumber |
+-------------------------+-----------+-----------+
| [email protected] |      1002 |      1002 |
+-------------------------+-----------+-----------+
1 row in set (0.00 sec)
mysql> quit

说明:表mailbox中存储的就是邮箱用户账号信息。

5、配置postfix

[[email protected] extsuite]# cp extman/docs/mysql_*.cf /etc/postfix/
[[email protected] extsuite]# vi /etc/postfix/main.cf
# 添加 extmail 配置 
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf 
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf 
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf 
virtual_transport = maildrop
virtual_uid_maps = static:1002  
virtual_gid_maps = static:1002

6、设置权限和属主

[[email protected] extsuite]# chown root.root -R extmail extman
[[email protected] extsuite]# chown -R vmail:vmail extmail/cgi/ extman/cgi/ extman/session

7、配置Apache虚拟主机

[[email protected] extsuite]# vi /etc/httpd/conf.d/extmail.conf
# VirtualHost for ExtMail Solution 
NameVirtualHost *:80 
<VirtualHost *:80> 
ServerName mail.yourmail.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/ 
# Suexec config 
SuexecUserGroup vmail vmail 
</VirtualHost>

8、重启

[[email protected] extsuite]# service postfix restart
[[email protected] extsuite]# service httpd restart
[[email protected] extsuite]# chkconfig postfix on
[[email protected] extsuite]# chkconfig httpd on

9、建立Maildir

(1)手动建立Maildir

用于存放用户邮件的目录;在WEB上创建其他域名邮箱,会在此自动建立相应域名目录。

[[email protected] extsuite]# cd extman/tools
[[email protected] tools]# ./maildirmake.pl /home/domains/yourmail.com/postmaster/Maildir
[[email protected] tools]# chown -R vmail:vmail /home/domains

(2)测试authlib认证登陆账号

必须先启动authdaemond进程,否则报Authentication FAILED: Operation not permitted

[[email protected] tools]# /usr/local/sbin/authtest -s login [email protected] extmail
Authentication succeeded.
     Authenticated: [email protected]  (uid 1002, gid 1002)
    Home Directory: /home/domains/yourmail.com/postmaster
           Maildir: /home/domains/yourmail.com/postmaster/Maildir/
             Quota: 104857600S
Encrypted Password: $1$phz1mRrj$3ok6BjeaoJYWDBsEPZb5C0
Cleartext Password: extmail
           Options: (none)

说明:输出表明ExtMan的安装正确,数据库也正确导入,courier-authlib能正确连接到mysql数据库。

10、安装其他依赖包

(1)安装绘图工具

图形日志是基于RRDTOOL工具进行绘制图表的。

[[email protected] tools]# yum install -y rrdtool rrdtool-perl

(2)安装依赖perl模块

说明:在运行mailgraph-init和访问http://10.188.1.86/extmail时会报错,

显示如下信息开头,是因为缺少相应的perl模块:

Can‘t locate RRDs.pm in @INC ‘‘‘

#安装perl环境
[[email protected] tools]# yum install -y cpan perl
#安装perl软件包
[[email protected] tools]# yum install -y perl-YAML perl-Test-Exception perl-Crypt-PasswdMD5 perl-GD perl-CGI perl-Time-HiRes
#使用CPAN安装YUM源中没有的perl包
[[email protected] tools]# perl -MCPAN -e ‘install Time::HiRes::Value‘
[[email protected] tools]# perl -MCPAN -e ‘install File::Tail‘
[[email protected] tools]# perl -MCPAN -e ‘install Unix::Syslog‘
[[email protected] tools]# perl -MCPAN -e ‘install DB_File‘

可以在CPAN官方网站搜索perl模块包:

http://search.cpan.org/

(3)启动进程

[[email protected] tools]# cd /var/www/extsuite/extman
[[email protected] extman]# cp -R addon/mailgraph_ext/ /usr/local/
[[email protected] extman]# /usr/local/mailgraph_ext/mailgraph-init start
Starting mail statistics grapher: mailgraph_ext
Starting queue statistics grapher: qmonitor
[[email protected] courier-unicode-1.1]# ps aux|grep mailgraph_ext
root     63848  0.0  0.5 187384  5884 ?        SNs  15:53   0:00 /usr/bin/perl -w /usr/local/mailgraph_ext/mailgraph_ext.pl -l /var/log/maillog -d --daemon-pid=/var/run/mailgraph.pid --daemon-rrd=/var/lib
root     63850  0.2  0.4 181624  4204 ?        SNs  15:53   0:00 /usr/bin/perl -w /usr/local/mailgraph_ext/qmonitor.pl -d --daemon-pid=/var/run/qmonitor.pid --daemon-rrd=/var/lib
root     63852  0.0  0.0 103256   852 pts/1    S+   15:53   0:00 grep mailgraph_ext
[[email protected] extman]# /var/www/extsuite/extman/daemon/cmdserver -v -d
loaded ok
[[email protected] extman]# ps aux|grep cmdserver
root     36597  0.0  0.5 144572  5288 ?        Ss   10:23   0:00 /usr/bin/perl -w /var/www/extsuite/extman/daemon/cmdserver -v -d
root     36568  0.0  0.0 112656   980 pts/1    S+   10:21   0:00 grep --color=auto cmdserver
[[email protected] extman]# echo "/usr/local/mailgraph_ext/mailgraph-init start" >> /etc/rc.d/rc.local
[[email protected] extman]# echo "/var/www/extsuite/extman/daemon/cmdserver -v -d" >> /etc/rc.d/rc.local

说明:进程mailgraph-init用于生成图形日志;进程cmdserver用于生成extman主页的系统信息。

(4)定时任务

[[email protected] extman]# crontab -e
0 4 * * * /var/www/extsuite/extman/tools/expireusers.pl -all [email protected] 
30 4 * * * /var/www/extsuite/extman/tools/reportusage.pl -all /home/domains [email protected]
[[email protected] extman]# service crond restart

说明:每天4点发送关于用户到期的报告给管理员邮箱;

每天4点半发送邮箱容量使用情况报告给管理员邮箱。

11、测试WEB访问

(1)访问邮箱

http://mail.yourmail.com/extmail/

账号:postmaster
密码:extmail
域名:yourmail.com

登陆后给自己发封邮件测试,查看日志:

[[email protected] ~]# tailf /var/log/maillog 
Dec  1 16:11:00 mail postfix/smtpd[63996]: connect from localhost[127.0.0.1]
Dec  1 16:11:00 mail postfix/smtpd[63996]: 31C081A1B7F: client=localhost[127.0.0.1]
Dec  1 16:11:00 mail postfix/cleanup[64003]: 31C081A1B7F: message-id=<[email protected]>
Dec  1 16:11:00 mail postfix/qmgr[63952]: 31C081A1B7F: from=<[email protected]>, size=649, nrcpt=1 (queue active)
Dec  1 16:11:00 mail postfix/smtpd[63996]: disconnect from localhost[127.0.0.1]
Dec  1 16:11:00 mail postfix/pipe[64005]: 31C081A1B7F: to=<[email protected]>, relay=maildrop, delay=0.2, delays=0.09/0.03/0/0.09, dsn=2.0.0, status=sent (delivered via maildrop service)
Dec  1 16:11:00 mail postfix/qmgr[63952]: 31C081A1B7F: removed

说明:这就是Postfix的一个最基本的邮件传递过程。

(2)访问邮箱管理后台

http://mail.yourmail.com/extman/

账号:[email protected]
密码:extmail*123*

验证码的显示需要安装perl-GD,也可以取消验证码:

[[email protected] extsuite]# vi /var/www/extsuite/extman/webman.cf
SYS_CAPTCHA_ON=0

12、检查Maildrop

(1)查看版本信息:

[[email protected] extsuite]# maildrop -v
maildrop 2.7.2 Copyright 1998-2005 Double Precision, Inc.
GDBM/DB extensions enabled.
Courier Authentication Library extension enabled. #必须有这条
Maildir quota extension are now always enabled.
This program is distributed under the terms of the GNU General Public
License. See COPYING for additional information.

(2)测试maildrop连接

[[email protected] extsuite]# echo "test" | maildrop -V 10 -d [email protected]
maildrop: authlib: groupid=1002
maildrop: authlib: userid=1002
maildrop: authlib: [email protected], home=/home/domains/yourmail.com/postmaster, mail=/home/domains/yourmail.com/postmaster/Maildir/
maildrop: Changing to /home/domains/yourmail.com/postmaster
Message envelope sender=MAILER-DAEMON
maildrop: Attempting .mailfilter
maildrop: Delivery complete.

13、检查是否自动创建Maildir

在webman中创建一个邮箱用户test;

检查是否会在/home/domains下自动生成test邮箱目录:

[[email protected] tools]# ll /home/domains/yourmail.com/
总用量 8
drwx------. 3 vmail vmail 4096 12月  1 15:05 postmaster
drwx------. 3 vmail vmail 4096 12月  1 16:24 test

小结:

第一阶段完成:实现Postfix邮箱基础架构Apache+MySQL+Php+Postfix+CourierAuthlib+Maildrop+Extmail+Extman+mailgraph_ext+RRDTool

时间: 2024-08-28 14:33:46

Postfix基础安装(三):安装Webmail前台的相关文章

Postfix基础安装(二):安装Postfix后台

一.系统环境 参考: http://ywzhou.blog.51cto.com/2785388/1578211 1.本地设置 CentOS-6.5-x86_64-bin-DVD1.iso CentOS-6.5-x86_64-bin-DVD2.iso 主机名:mail.yourmail.com IP地址:eth0 = 10.188.1.83 2.安装软件 (1)编译环境 [[email protected] ~]# yum install gcc gcc-c++ (2)依赖软件 [[email p

hadoop学习笔记——基础知识及安装

1.核心 HDFS  分布式文件系统    主从结构,一个namenoe和多个datanode, 分别对应独立的物理机器 1) NameNode是主服务器,管理文件系统的命名空间和客户端对文件的访问操作.NameNode执行文件系统的命名空间操作,比如打开关闭重命名文件或者目录等,它也负责数据块到具体DataNode的映射 2)集群中的DataNode管理存储的数据.负责处理文件系统客户端的文件读写请求,并在NameNode的统一调度下进行数据块的创建删除和复制工作. 3)NameNode是所有

Oracle GoldenGate零基础入门培训--安装、配置、诊断

Oracle GoldenGate零基础入门培训--安装.配置.诊断课程学习地址:http://www.xuetuwuyou.com/course/158课程出自学途无忧网:http://www.xuetuwuyou.com 一.课程介绍: 本课程通过理论讲解以及实战操作的方式,向大家阐述了GoldenGate数据复制软件的产品体系.技术架构.安装配置.数据初始化.数据复制及操作.安全控制等相关内容.课程结合讲师的理解和实际工作经验对部分难点.重点.易错点进行了比较深入的探讨,希望可以为大家带来

SharePoint 2013 基础版 离线安装步骤

SharePoint 2013 基础版 离线安装步骤 1.    介绍 SharePoint 2013 提供了一个企业的业务解决方案,它利用了企业应用程序集成功能,以及灵活的部署选项和管理工具,将来自不同系统的信息集成到一个解决方案中.这个门户站点使得端到端的合作更为容易,实现了个人.团队和信息的整合.组织和搜索.用户可以通过门户内容和布局的定制和个性化以及目标受众,更快地找到相关信息.公司可以根据受众的公司职位.团队身份.兴趣或其他可以设置的成员规则来设定信息.程序和更新.SharePoint

Linux(RadHat)基础学习—软件安装

1.使用已经存在的网络安装资源安装软件 /etc/yum.repos.d/下不能有不可使用的源文件,如果有请备份删除 1.编辑文件:vim /etc/yum.repos.d/yum.repo ##文件名字随意,必须是repo结尾写入内容: [rhel7.3] ##给软件仓库名字 name=rhel7.2 ##对软件仓库的描述 baseurl=资源地址 ##网络安装源地址 gpgcheck=0 ##不检测gpgkey enabled=1 ##表示此安装源语句快生效(不写这句也可以,因为系统默认生效

计算机的基础知识+python安装+pycharm安装+思维导图

目录 计算机的基础知识 计算机是由什么组成的 什么是操作系统??控制计算机流程的软件 什么是应用程序??在操作系统之上运行的软件 python安装 pycharm安装和使用 下载Pycahrm和安装 使用Pycharm 首次使用Pychram 激活Pycharm 个性化设置 启动成功 创建文件 PyCharm选择解释器 PyCharm创建py文件 pycharm快捷键使用方法部分 思维导图 计算机的基础知识 计算机是由什么组成的 主板:人的骨架 用于扩展设备的 cpu: 人的大脑 用于计算和逻辑

一,数据库基础,MySQL安装,配置文件,语法

今日总结: 一,数据库基础 ***** 二:mysql 的下载安装 ***** 三:修改密码 四 配置文件 *** 五:数据库基础语法 ****** 一,数据库基础: 1,数据库基础概念 1,之前储存到文件中 ,数据格式也是千差万别的 2,软件开发目录规范,规定了数据的存放位置,数据都是保存在本地的, 3,将保存数据的,存储到一个公共的地方 MySQL就是一个基于C/S 架构的应用软件,也是一个基于网络通信的socket套接字应用软件 服务端:socket 套接字通信 收发消息 SQL语句(是一

nagios介绍及Server安装(三)

client端服务安装: 监控方式随便,但是常见的有下面几种: 1.使用nagios自带插件监控,也就是nrpe方式:不足之处每台client都需要安装,推荐将编译包进行rpmind,搭建yum源,执行yum即可: 2.snmp方式,好处client端只需要开启snmp服务即可,不足之处每个厂商的oid不尽相同,给监控脚本开发带来不便,推荐开发一个高效率的万能agent: 3.ssh方式,好处监控脚本易于编写,不足频繁执行会对客户端增加不必要的负担. 我这边的Client和Server端系统一样

Centos 7 安装 Wordpress(三)-----安装 MariaDB数据库、PHP & PHPMyAdmin

全文根据 Keneuro的博客来安装,所以也把该地址分享出来. ----------------------------------------------------------------------------- 下面咱们也来试下. 先来试下 Centos 7 安装 Wordpress(三)-----安装 MariaDB数据库.PHP & PHPMyAdmin

oracle进阶笔记-基础准备-oracel-linux安装

Oracle 11g 在RedHat Linux 5.8_x64平台的安装手册 搭建环境:VM10 + RedHat 5.8_x64 +oracle 11g (grid+db) 步骤简述: 1.在电脑上安装VMware软件 2.创建一个RedHat5.8_x64系统的虚拟机完成系统安装,并配置系统基本的操作环境 3.检测环境是否符合Oracle的最低安装要求,并安装软件包和系统补丁 4.创建用户和组,并设置工作角色分离,修改内核参数设置用户资源控制 5.创建ASM并安装grid 6.安装Orac