在RHEL5下构建基于虚拟用户的Postfix邮件系统
来源:互联网 发布:唐泽寿明知乎 编辑:程序博客网 时间:2024/05/17 03:37
http://netslyz.blog.51cto.com/1006247/395439
在RHEL5下构建基于虚拟用户的Postfix邮件系统
标签:LinuxRedHat 邮件系统 Postfix 虚拟用户
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://netslyz.blog.51cto.com/1006247/395439
在本邮件系统架构实验中,服务器所使用的相关配置环境如下:
邮件服务器IP地址:177.17.17.1
DNS服务器IP地址:177.17.17.1
Apache服务器:177.17.17.1
Mysql数据库:177.17.17.1
主机名:mail.sjzz.com
邮件账号:使用虚拟用户。
POP3/IMAP服务器软件:编译安装的Dovecot
Webmail平台软件:Extmail、Extman
APACHE、MYSQL平台:使用编译安装的apache、mysql,对应的安装目录分别为:/usr/local/apache2、/usr/local/mysql
关于Apache、MYsql、Postfix的安装配置过程已经在此前写的博文中出现过,在此不再赘述,相关配置详见以下三篇博文:
1.http://kk5234.blog.51cto.com/1006247/388128 在Red Hat Linux5下构建LAMP网站服务平台之编译安装Apache与配置基于域名的虚拟Web主机
2.http://kk5234.blog.51cto.com/1006247/389600 在Red Hat Linux5下构建LAMP网站服务平台之MySQL、PHP的安装与配置
3. http://kk5234.blog.51cto.com/1006247/392833在Red Hat Linux5下构建基于系统用户的Postfix邮件系统
DNS服务器的配置如下:
接下来开始构建Postfix服务器:
一.配置Postfix支持虚拟用户
1.建立虚拟用户数据库:
直接导入Extman邮件管理工具套件提供的创建数据库和初始化数据库的sql脚本,当然也可以手动创建数据库:
#service mysqld restart //重新启动一下mysql数据库
#tar zxf extman-0.2.5.tar.gz
#cd extman-0.2.5/docs
#mysql -u root -p123456 < extmail.sql //导入extmail.sql脚本,root用户登入数据库密码为123456
#mysql-u root -p123456 < init.sql //导入init.sql脚本
extmail.sql脚本完成的主要数据库操作如下:
*创建名为extmail的数据库及该库中的一些表;
*建立数据库用户extmail@localhost,初始密码为extmail,对数据库extmail中的表有select、update权限;
*建立数据库用户webman@localhost,初始密码为extman,对数据库extmail中的表有select、insert、delete、update权限。
init.sql脚本完成的主要数据库操作如下:
*初始化数据库Extmail;
*建立名为extmail.org的虚拟邮件域;
*建立数据库用户root@extmail.org,初始密码为:extmail*123* ,作为邮件域的管理账户;
*建立数据库用户postmaster@extmail.org,初始密码为:extmail,作为基本邮件用户。
2.配置Postfix:
#vi /etc/postfix/main.cf
添加与修改的配置项如下:(包括postfix运行的基本参数、SMTP认证相关的参数和支持虚拟用户的配置参数)
将Extman软件包提供的虚拟用户映射表样例文件复制到“/etc/postfix”目录中,这样一会儿我们就不必手动创建虚拟邮件用户对应的别名等文件,使用样例文件即可完成此部分功能:(样例文件位于源码包解压后的/extman-0.2.5/docs目录下)
#cp mysql_virtual_* /etc/postfix
3.为虚拟用户设置SMTP发信认证:
1)编译安装courier-authlib软件包:
#tar jxf courier-authlib-0.60.2.tar.bz2
#cd courier-authlib-0.60.2
#./configure --prefix=/usr/local/courier-authlib --without-stdheaderdir --with-authmysql --with-redhat --with-mysql-libs=/usr/local/mysql/lib/mysql --with-mysql-includes=/usr/local/mysql/include/mysql
#make && make install
#make install-configure
2)修改courier-authlib相关配置,并启动服务:
将courier-authlib的库文件路径添加到系统的搜索路径中:
#vi /etc/ld.so.conf
/usr/local/courier-authlib/lib/courier-authlib
#ldconfig
修改authdaemonrc主配置文件,仅保留authmysql认证方式,去掉其他方式:
#cd /usr/local/courier-authlib/etc/authlib
#vi authdaemonrc
authmodulelist=“authmysql” //需要修改的配置项
authmodulelistorig="authmysql" //需要修改的配置项
#chmod -R 755 /usr/local/courier-authlib/var/spool/authdaemon
修改authmysqlrc文件,用于描述如何向mysql数据库查询信息:
#vi authmysqlrc
复制courier-authlib脚本,并启动courier-authlib服务:
#cp courier-authlib.sysvinit /etc/init.d/courier-authlib //courier-authlib.sysvinit文件位于源码包解压后的courier-authlib-0.60.2目录下
#chmod 755 /etc/rc.d/init.d/courier-authlib
#service courier-authlib start
#chkconfig --level 35 courier-authlib on
3)修改Cyrus sasl设置:(修改smtpd.conf文件,此文件在搭建基于系统用户的邮件系统时已建立,现在将认证方式更改为authdaemond,即courier-authlib)
#vi /usr/lib/sasl2/smtpd.conf
pwcheck_method: authdaemond
authdaemond_path: /usr/local/courier-authlib/var/spool/authdaemon/socket
4.Dovecot的配置:
1)dovecot文件需要修改的配置如下:
2)建立数据库查询配置文件:
# vi /etc/dovecot-mysql.conf
3)建立虚拟用户postmaster@extmail.org的邮箱目录,调整权限,并启动dovecot服务:
#mkdir -p /mailbox/extmial.org/postmaster/Maildir
#chown -R postfix:postfix /mailbox
#killall -9 dovecot //如果dovecot服务已启动,先执行此步骤
#dovecot
5.测试虚拟用户实现结果:
测试authlib服务,如果之前的配置没有错误,将会看到“Authentication succeeded”信息:
二.配置ExtMail邮件使用及管理平台
1.部署ExtMail邮件使用界面:
1)按顺序先后安装三个Perl支持软件包
解包:
安装Unix-Syslog包:
# cd Unix-Syslog-1.1
# perl Makefile.PL
#make && make install
安装DBI包:
# cd ../DBI-1.607
# perl Makefile.PL
# make && make install
安装DBD-mysql包:
# cd ../DBD-mysql-4.011
# perl Makefile.PL
#make && make install
2)安装并配置ExtMail套件:
解压并释放extmail文件包到apache服务器的Web文档根目录中:
# tar zxf extmail-1.0.5.tar.gz -C /usr/local/apache2/htdocs
# cd /usr/local/apache2/htdocs
# mv extmail-1.0.5 extmail
设置cgi子目录的属主和属组,以便apache服务器有权限执行suexec操作:
# cd /extmail
# chown -R postfix:postfix cgi
建立webmail.cf配置文件:
# cp webmail.cf.default webmail.cf
# vi webmail.cf //需要修改的配置项如下图
3)修改httpd.conf文件中的配置(添加一个虚拟主机),并重新启动httpd服务:
# vi /usr/local/apache2/conf/httpd.conf
# /usr/local/apache2/bin/apachectl restart
4)登录并使用ExtMail邮件系统:
访问:http://mail.sjzz.com,使用默认的邮件账户“postmaster@extmail.org”登录 ,密码为:"extmail"。
2.部署Extman Web管理界面:
1)安装perl支持软件包GD、File-Tail及rrdtool绘图引擎工具:
解包:
# tar zxf GD-2.41.tar.gz
# tar zxf File-Tail-0.99.3.tar.gz
安装GD包:
# cd GD-2.41
# perl Makefile.PL
# make && make install
安装File-Tail包:
# cd ../File-Tail-0.99.3
# perl Makefile.PL
# make && make install
安装rrdrool绘图引擎包:
# rpm -ivh rrdtool-1.2.23-3.e15.i386.rpm
# rpm -ivh rrdtool-perl-1.2.23-3.e15.i386.rpm
2)安装并配置Extman套件:
解压并释放Extman文件到apache服务器的web文档根目录中:
# tar zxf extman-0.2.5.tar.gz -C /usr/local/apache2/htdocs
# cd /usr/local/apache2/htdocs
# mv extman-0.2.5 extman
调整cgi子目录的属主和属组,以便apache服务器有权限执行suexec操作:
# chown -R postfix:postfix /usr/local/apache2/htdocs/extman/cgi
创建系统临时会话保存目录,并将属主、属组设置为postfix:postfix:
# mkdir /tmp/extman
# chown -R postfix:postfix /tmp/extman
修改webman.cf配置文件:(需要修改的地方如下,其它可以保持默认配置)
3)调整httpd.conf文件中的配置(添加extman相关目录的别名设置),并重启httpd服务:
# vi /usr/local/apache2/conf/httpd.conf
4)登录并管理Extman邮件系统:
访问http://mail.sjzz.com/extman ,使用默认的邮件管理员账户root@extmail.org登录,密码为extmail*123*
此时,我们就可以对邮件系统进行常规管理操作了。
但是我们这时候看“图形日志”这个链接时图片显示不出来(如下图),需要进行下一步的设置:
为Extman套件中mailgraph_ext插件程序建立链接文件,并启动相关程序:
若需要一开机就能自动启动mailgraph-init、qmonitor-init服务,可以将相关的启动命令添加到rc.local文件中:
# echo "/usr/sbin/mailgraph-init start" >> /etc/rc.d/rc.local
# echo "/usr/sbin/qmonitor-init start" >> /etc/rc.d/rc.local
再来刷新一下“图形日志”页面,此时可以显示图形日志了:
至此,基于虚拟用户的邮件系统基本上构建完成了。当然还需要作电子邮件过滤和防病毒的设置,以保障邮件服务器和用户计算机的安全。
- 在RHEL5下构建基于虚拟用户的Postfix邮件系统
- 在FreeBSD7.0上构建基于postfix的邮件系统(第一部分)
- 使用Postfix构建基于FreeBSD的邮件系统(简化版)
- 快速搭建基于web的postfix邮件系统
- Linux+postfix+extmail+dovecot打造基于web页面的邮件系统
- postfix+cyrus-sasl+extmail+dovecot基于MySQL认证的邮件系统
- 架构基于FreeBSD和Postfix的IGENUS Webmail邮件系统
- CentOS5.5下postfix邮件系统安装配置
- CentOS下(PostFix)SMTP服务器的构建
- ubuntu下vsftpd的配置(虚拟用户基于文件验证)
- ubuntu下vsftpd的配置(虚拟用户基于MySQL验证)
- RHEL 5服务篇—部署Postfix邮件系统(三)构建web邮件系统
- 构建FTP服务器,基于SSL,基于虚拟用户
- ★★★基于FreeBSD和Postfix的邮件系统与邮件列表的web mail安装4.51
- 在RHEL5下使用Code::Blocks编译基于Tuxedo的Pro*C程序
- 在RHEL5下应用Code::Blocks编译基于Tuxedo的Pro*C法度
- 构建邮件系统的笔记--javamail
- 搭建Postfix邮件系统
- struts2为应用指定多个配置文件
- Citrix NetScaler负载均衡
- 2011年.NET面试题总结(很经典的)
- 2012 Multi-University Training Contest 1 Holedox Eating(线段树)
- HUDOJ-1425-sort
- 在RHEL5下构建基于虚拟用户的Postfix邮件系统
- 堆排序
- for(变量:变量)形式 详解
- JQuery选择器DEMO
- hit2060
- 51CTO专访章文嵩博士:做系统要先了解业务的需求
- 通用工具-Time时间转换类
- sql反模式分析1
- Java多线程编程--(3)线程互斥、同步的理解