博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
postfix+dovecot+MailScanner+spamassassin+F-Prot+extmail+extman构建企业级的虚拟用户邮件服务器(1)...
阅读量:6966 次
发布时间:2019-06-27

本文共 4797 字,大约阅读时间需要 15 分钟。

注意:先要构建一个LAMP环境,然后再按照下面的配置来做

一.     
配置虚拟用户支持
 —— MySQL
1.     
新建虚拟用户数据库
 tar zxvf extman-0.2.5.tar.gz
 cd extman-0.2.5/docs
 /usr/local/mysql/bin/mysql -u root -p < extmail.sql
/usr/local/mysql/bin/mysql -u root -p < init.sql
2.     
编辑
vi /etc/postfix/main.cf
……
#mydestination = $mydomain, $myhostname 
注释掉该行
然后添加如下内容
virtual_mailbox_base = /mailbox
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000
3.     
建立虚拟用户映射表文件
复制
 extman 
软件包中
docs
子目录下的样例文件
进入
 /usr/src/extman-0.2.5/docs
cp mysql_virtual_* /etc/postfix
二.     
配置虚拟用户支持
 —— SMTP
认证
1. 
编译安装
 courier-authlib 
软件
解压软件包,进入相应目录,然后开始安装
./configure --prefix=/usr/local/courier-authlib --without-stdheaderdir --with-authmysql --with-mysql-libs=/usr/local/mysql/lib/mysql --with-mysql-includes=/usr/local/mysql/include/mysql&&make&&make install (安装大约需要6分钟)
然后执行“make install-configure”命令后将生成默认配置文件“
authmysqlrc”和“
authdaemonrc”,作用分别为
p
authdaemonrc
:主配置,设置使用的认证方式
authmysqlrc
:数据库配置,设置连接地址、查询方式等
2. 
修改主配置,
authdaemonrc
文件
cd    /usr/local/courier-authlib/etc/authlib/
编辑authdaemonrc文件,
建议只保留
 authmysql 
认证方式—认证速度快,
修改下面两行
……
authmodulelist="authmysql"      27
authmodulelistorig="authmysql"   34
3. 
修改数据库配置,
authmysqlrc
文件
      
编辑
 authmysqlrc
MYSQL_SERVER localhost   mysql
服务器位置
    26
MYSQL_USERNAME   extmail  mysql
登陆用户名
 27
MYSQL_PASSWORD   extmail  mysql
登陆密码
    28
MYSQL_SOCKET   /tmp/mysql.sock   sock
文件位置
 49(
去掉
#
)
MYSQL_DATABASE   extmail        mysql
数据库名字
 68
MYSQL_USER_TABLE   mailbox   mysql
用户邮箱存储的表的名字
83
……
MYSQL_HOME_FIELD concat('/mailbox/',homedir) 
用户的宿主目录完整路径
 133
……
MYSQL_MAILDIR_FIELD concat('/mailbox/',maildir)
用户的完整邮件存储路径
 150 
同时去掉前面
#
4. 
其他调整
1
)修改
smtpd.conf 
配置文件 改为通过 authdaemond 进行认证
vi /usr/lib/sasl2/smtpd.conf
pwcheck_method: authdaemond
authdaemond_path: /usr/local/courier-authlib/var/spool/authdaemon/socket
2)
调整
socket
目录权限
chmod  -R 755 /usr/local/courier-authlib/var/spool/authdaemon
3)
添加库文件搜索路径
   
 vi /etc/ld.so.conf
……
/usr/local/courier-authlib/lib/courier-authlib
ldconfig
5. 
启动
 counrier-authlib 
服务程序
cp /usr/src/courier-authlib-0.62.2/courier-authlib.sysvinit /etc/init.d/courier-authlib
chmod 755 /etc/init.d/courier-authlib
service courier-authlib start
三.     
配置虚拟用户支持
 —— dovecot
1. 
调整
 dovecot.conf 
配置文件
   
vi /etc/dovecot.conf
mail_location = maildir:/mailbox/%d/%n/Maildir 
修改邮箱存储
位置
212
……
auth default {
          796 
不动
    mechanisms = plain 801 
不动
    passdb sql {        905 
去掉
#
        args = /etc/dovecot-mysql.conf 
用户名及密码查询在独立的配置文件中指定
            907
    }                 908 #
去掉
    userdb sql {         976 #
去掉
        args = /etc/dovecot-mysql.conf 978
}                  979 #
去掉
2. 
创建数据查询配置文件
vi /etc/dovecot-mysql.conf                
driver = mysql
connect = host=localhost dbname=extmail user=extmail password=extmail
default_pass_scheme = CRYPT
password_query = SELECT username AS user,password AS password FROM mailbox WHERE username = '%u' 
user_query = SELECT maildir, uidnumber AS uid, gidnumber AS gid FROM mailbox WHERE username = '%u'
3. 
建立邮箱目录,并调整权限
mkdir -p /mailbox/extmail.org/postmaster/Maildir
chown -R postfix:postfix /mailbox
4. 
重新启动
dovecot
服务
kill `pgrep  dovecot` ; dovecot (killall dovecot)
四.     
部署
Extmail
邮件使用界面
1. 
编译安装相关的
perl
依赖包,三个包的安装几乎一样
Unix-Syslog-1.1.tar.gz
DBI-1.609.tar.gz
DBD-mysql-4.013.tar.gz
比如第一个
先解压;
perl Makefile.PL
make
make install
但第三个包注意:
perl Makefile.PL --libs="-L/usr/local/mysql/lib/mysql -lmysqlclient -lz" --cflags=-I/usr/local/mysql/include/mysql ;make;make install
2. 
安装
 extmail 
程序套件
tar xzvf extmail-1\[1\]\[1\].0.9.tar.gz -C /usr/local/apache2/htdocs/
cd    /usr/local/apache2/htdocs
mv extmail-1.0.9 extmail
cd extmail
cp webmail.cf.default  webmail.cf
编辑webmail.cf
SYS_CONFIG = /usr/local/apache2/htdocs/extmail/
SYS_LANGDIR = /usr/local/apache2/htdocs/extmail/lang
SYS_TEMPLDIR = /usr/local/apache2/htdocs/extmail/html
SYS_MAILDIR_BASE = /mailbox            124
SYS_MYSQL_USER = extmail               136
SYS_MYSQL_PASS = extmail
SYS_MYSQL_DB = extmail                     
SYS_MYSQL_HOST = localhost
SYS_MYSQL_SOCKET = /tmp/mysql.sock    140
4.     
调整
httpd.conf
配置,
1)         
更改允许
apache
的用户和组
User postfix     66
Group postfix   67
2)         
添加如下内容
   
<VirtualHost 192.168.1.1>
    ServerName 192.168.1.1
    DocumentRoot /usr/local/apache2/htdocs/extmail/html/
    ScriptAlias /extmail/cgi/ /usr/local/apache2/htdocs/extmail/cgi/
    Alias /extmail /usr/local/apache2/htdocs/extmail/html/
</VirtualHost>
重启
apache
,然后用浏览器访问
 

邮箱账号:
postmaster 
密码:
extmail 
域名
:extmail.org
五.     
部署
Extman Web
管理界面
1. 
编译安装相关的依赖包
GD-2.41.tar.gz
File-Tail-0.99.3.tar.gz
rrdtool-1.2.23-3.el5.i386.rpm
rrdtool-perl-1.2.23-3.el5.i386.rpm
解压GD; perl  Makefile.PL;make;make install
解压File-Tail; perl  Makefile.PL;make;make install
rpm -vih /usr/src/rrdtool-perl-1.4.1-1.el5.wrl.i386.rpm /usr/src/rrdtool-1.4.1-1.el5.wrl.i386.rpm
本文转自 gehailong 51CTO博客,原文链接:http://blog.51cto.com/gehailong/496255,如需转载请自行联系原作者
你可能感兴趣的文章
系统运维问题诊断集合
查看>>
springboot 2.0+elasticseach 5.5.0集群环境搭建示例(附源码)
查看>>
利用Hadoop提供的RPC API实现简单的RPC程序
查看>>
avg count null值计算
查看>>
SfB迁移CMS中央存储数据库镜像配置
查看>>
Gartner:2013-2014年全球MSS市场分析
查看>>
std::function源码分析
查看>>
Android的Activity组件启动,切换和值传递学习
查看>>
SQL Server中truncate、delete和drop的异同点
查看>>
我的友情链接
查看>>
工作节点配置
查看>>
fedora 20安装软件
查看>>
我的友情链接
查看>>
MySQL热备份工具innobackupex介绍及应用 ------ 常用备份方式
查看>>
Linux--信号
查看>>
单机配置tomcat 8 集群
查看>>
stm32 DMA使用
查看>>
暑假计划
查看>>
重定向
查看>>
UIKit框架(4)App应用沙盒
查看>>