linux平台下使用postfix构建企业内部完全邮件服务系统.docx
《linux平台下使用postfix构建企业内部完全邮件服务系统.docx》由会员分享,可在线阅读,更多相关《linux平台下使用postfix构建企业内部完全邮件服务系统.docx(27页珍藏版)》请在冰豆网上搜索。
![linux平台下使用postfix构建企业内部完全邮件服务系统.docx](https://file1.bdocx.com/fileroot1/2023-1/9/8eed2590-13f2-4b43-810a-6120d1e957e9/8eed2590-13f2-4b43-810a-6120d1e957e91.gif)
linux平台下使用postfix构建企业内部完全邮件服务系统
构建postfix全功能完整
--------邮件服务系统(全源码包)
日期
作者
版本
更改参考
2010年8月26日
魏震
5.0
前言
概述
描述postfix软件的应用技术架构,基本部署模型以及不同网络环境下的软件及参数设置与配置等。
适用版本
linux系统Redhat(红帽子系列)
适用人员
网络管理人员、服务器系统维护和技术支持人员等
部署前准备
第1部分所需源码包
httpd-2.2.15.tar.gz
mysql-5.0.56.tar.gz
第2部分所需源码包
postfix-2.4.6.tar.gz/postfix-2.4.6-vda-ng.patch.gz
dovecot-1.1.4.tar.gz
squirrelmail-1.4.13.tar.bz2
zh_CN-1.4.13-20071220.tar.bz2
courier-authlib-0.60.2.tar.bz2
第3部分所需源码包
DBI-1.607.tar.gz
DBD-mysql-4.011.tar.gz
Unix-Syslog-1.1.tar.gz
extmail-1.0.5.tar.gz
第4部分所需源码包
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
rrdtool-perl-1.2.23-3.el5.i386.rpm
extman-0.2.5.tar.gz
第5部分所需源码包
MailScanner-4.75.11-1.rpm.tar.gzspamassassin-3.1.7-4.el5.i386.rpm
部署流程设计
Apache服务器
Dns服务器
Php服务
Mysql数据库服务器
Rhel5平台
ExtmailWeb平台使用及管理
Manager管理
安装、配置与部署
第1部分搭建基本的postfix运行环境
1.搭建dns服务器:
1)安装dns源码包或rpm包:
2)创建dns服务主配置文件:
vi/var/named/chroot/etc/named.conf
*************************************
options{
directory"/var/named";
};
zone""IN{
typemaster;
file".zone";
allow-transfer{172.16.16.10;};
};
zone"16.16.172.in-addr.arpa"IN{
typemaster;
file"172.16.16.arpa";
allow-transfer{172.16.16.10;};
};
***************************************
3)生成区域数据库文件:
vi/var/named/chroot/var/named/.zone
***************************************
$TTL86400
@SOA..(
2010050601
4H
30M
12H
1D
)
@INNS.
INNS.
INA172.16.16.9
INMX10.
ns1INA172.16.16.9
ns2INA172.16.16.10
mailINA172.16.16.1
wwwINA172.16.16.1
studyINA172.16.16.2
*INA172.16.16.1
***************************************
vi/var/named/chroot/var/named/172.16.16.arpa
***************************************
$TTL86400
@SOA..(
2010050601
4H
30M
12H
1D
)
INNS.
INNS.
1INPTR.
2INPTR.
9INPTR.
10INPTR.
servicenamedstart
chkconfig–level35namedon
测试dns服务器:
2.apache安装配置:
----------------------
1)解包:
tarzxvfhttpd-2.2.15.tar.gz
2)进入解包后的目录:
cdhttpd-2.2.15
3)创建安装目录:
mkdir/usr/local/apache2
4)配置编译环境:
./configure--prefix=/usr/local/apache2\
--enable-so\
--enable-rewrite\
--enable-cgi\
--enable-cgid\
--enable-suexec\
--with-mysql=/usr/local/mysql\
--with-suexec-caller=daemon\
--with-suexec-bin=/usr/local/apache2/bin\
--with-suexec-docroot=/usr/local/apache2/htdocs\
5)编译与安装:
make&&makeinstall
6)对apache进行简单的配置之后,启动apache服务
/usr/local/apache2/bin/apachectlstart
测试apache服务器:
3.mysql安装配置:
-----------------------
1)创建mysql账户:
useradd-M-s/sbin/nologinmysql
2)解包:
tarzxvfmysql-5.0.56.tar.gz
3)进入解包后的目录:
cdmysql-5.0.56
4)创建安装目录:
mkdir/usr/local/mysql
5)配置编译环境:
./configure--prefix=/usr/local/mysql--with-pam
6)编译与安装:
make&&makeinstall
7)生成mysql配置文件:
cpsupport-files/my-f/etc/f
8)初始化mysql数据库
/usr/local/mysql/bin/mysql_install_db--user=mysql
chown-Rroot.mysql/usr/local/mysql
chown-Rmysql/usr/local/mysql/var
echo"/usr/local/mysql/lib/mysql">>/etc/ld.so.conf
ldconfig
/usr/local/mysql/bin/mysqld_safe--user=mysql&
netstat-ntpl|grep3306
cpsupport-files/mysql.server/etc/init.d/mysqld
chmod+x/etc/init.d/mysqld
chkconfig--addmysqld
chkconfigmysqldon
exportPATH=$PATH:
/usr/local/mysql/bin
echo"PATH=$PATH:
/usr/local/mysql/bin">>/etc/profile
测试数据库连接:
mysql–uroot–p
mysql>
mysql>
mysqladmin–urootpassword“123456”
第2部分开始部署postfix邮件服务系统
安装前工作:
1、查看当前系统是否安装sendmail
[root@server01/]#rpm-qa|grepsendmail
2、为了避免与要安装的postfix冲突,可以停用sendmail或卸载
*/建议只关闭sendmail服务,不要卸载sendmail程序,因为后面做smtp认证时将要用到sendmail安装包里的认证文件smtpd,否则如果没有这个认证文件,将会导致最终的smtp认证失败/*
[root@server01/]#servicesendmailstop
[root@server01/]#chkconfig--level35sendmailoff
3、查看系统是否安装postfix的rpm包
[root@server01/]#rpm-qa|greppostfix
确认系统没有安装postfix服务器软件包
3.postfix安装及配置
******安装*******
1)创建运行邮件系统的用户账号postfix及用户组postfix和postdrop
[root@server01/]#groupadd-g1200postdrop
[root@server01/]#groupadd-g1000postfix
[root@server01/]#useradd-M-u1000-gpostfix-Gpostdrop-s/sbin/nologinpostfix
2)解压释放postfix源码包、合并VGA补丁
[root@server01tools]#tarzxvfpostfix-2.4.6.tar.gz
[root@server01tools]#gunzippostfix-2.4.6-vda-ng.patch.gz
[root@server01tools]#cdpostfix-2.4.6
[root@server01postfix-2.4.6]#patch-p1<../postfix-2.4.6-vda-ng.patch
3)产生postfix编译前的makefiles配置文件
由于实验案例的需要,在这里不能使用rpm包安装的postfix,因为rpm安装的postfix默认不支持mysql。
说明:
在编译前需要使用“makemaekfiles”命令调整编译参数,以便Postfix支持SASL认证和查询MySQL数据库。
[root@server01postfix-2.4.6]#makemakefiles\
>'CCARGS=-DHAS_MYSQL-I/usr/local/mysql/include/mysql\
>-DUSE_SASL_AUTH\
>-DUSE_CYRUS_SASL-I/usr/include/sasl''AUXLIBS=-L/usr/local/mysql/lib/mysql-lmysqlclient-lz-lm>-L/usr/lib/sasl2-lsasl2'
4)编译和编译安装
[root@server01postfix-2.4.6]#make&&makeinstall
5)使用postconf工具简化postfix配置文件main.cf,只保留与默认配置不同的参数,提高易读性和可编辑性
[root@server01/]#cd/etc/postfix/
[root@server01postfix]#postconf-n>main2.cf
[root@server01postfix]#mvmain.cfmain.cf.bak
[root@server01postfix]#mvmain2.cfmain.cf
6)启动postfix服务
[root@server01postfix]#postfixstart
7)查看服务启动后打开的端口:
[root@server01postfix]#netstat-antp|grep25
**********配置postfix基本运行参数**********
1)配置postfix,调整运行参数
[root@server01postfix]#vi/etc/postfix/main.cf
增加如下参数:
inet_interfaces=192.168.100.1,127.0.0.1
myhostname=
mydomain=
myorigin=$mydomain
mydestination=$mydomain,$myhostname
home_mailbox=Maildir/
2)执行命令产生别名数据库文件aliases.db
[root@server01~]#newaliases
[root@server01~]#ls/etc/aliases.db
否则会导致smtpd程序启动失败!
3)重新加载配置
[root@server01postfix]#postfixreload
4)建立邮件用户,通过telnet方法发送电子邮件测试
[root@server01postfix]#useradd-s/sbin/nologinzhangsan
[root@server01postfix]#passwdzhangsan
[root@server01postfix]#useradd-s/sbin/nologinlisi
[root@server01postfix]#passwdlisi
5)进行发送邮件的测试:
[root@server01/]#telnetlocalhost25
SMTP常用命令字:
HELOlocalhost/宣告客户端主机地址
MAILFROM:
zhangsan@/发件人地址
RCPTTO:
lisi@/收件人地址
DATA/邮件数据
Subject:
title/邮件标题
....../邮件内容
./一个点表示邮件结束标记
QUIT/退出
4.构建dovecot邮件接受服务器
------------------------------
1)查看当前系统中是否有已安装的dovecot的rpm包
[root@server01tools]#rpm-qdovecot
在确认没有安装的情况下,准备开始安装dovecot的源码包
2)编译安装dovecot服务器软件包
[root@server01tools]#useradd-M-s/sbin/nologindovecot
[root@server01tools]#tarzxvfdovecot-1.1.4.tar.gz
[root@server01tools]#cddovecot-1.1.4
[root@server01dovecot-1.1.4]#./configure--sysconfdir=/etc--with-mysql
[root@server01dovecot-1.1.4]#make&&makeinstall
2)配置dovecot的运行参数
从dovecot的模板配置文件生成简单配置文件
[root@server01dovecot-1.1.4]#cp/etc/dovecot-example.conf/etc/dovecot.conf
[root@server01dovecot-1.1.4]#vi/etc/dovecot.conf
修改以下配置参数:
(建议通过查找的方式配置以下各项)
protocols=pop3imap
ssl_disable=yes
disable_plaintext_auth=no
mail_location=maildir:
~/Maildir
3)创建dovecot的PAM认证文件
[root@server01dovecot-1.1.4]#vi/etc/pam.d/dovecot
authrequiredpam_nologin.so
authincludesystem-auth
accountincludesystem-auth
sessionincludesystem-auth
4)启动dovecot服务
[root@server01dovecot-1.1.4]#dovecot-c/etc/dovecot.conf
5)查看dovecot服务开启的端口:
[root@server01dovecot-1.1.4]#netstat-antp|grepdovecot
6)pop3邮件测试
[root@server01dovecot-1.1.4]#telnetlocalhost110
7)在windows客户端使用OE连接邮件系统发送电子邮件测试
5.添加Webmail邮件界面
准备条件:
apache服务器已经安装并配置好,支持php!
这里的配置环境是apache编译安装的,安装路径为:
/usr/local/apache2
----------------------------------------
1)解压squirremail软件包
[root@server01tools]#tarjxvfsquirrelmail-1.4.13.tar.bz2
[root@server01tools]#mvsquirrelmail-1.4.13/usr/local/apache/htdocs/webmail
[root@server01webmail]#cd/usr/local/apache/htdocs/webmail/
把squirremail的中文补丁包解压出来
[root@server01webmail]#tar-jxvf/tools/zh_CN-1.4.13-20071220.tar.bz2
2)创建及调整数据目录、附件目录
[root@server01webmail]#mkdir-pattachdata
[root@server01webmail]#chown-Rdaemon:
daemonattach/data/
[root@server01webmail]#chmod730attach/
3)创建并修改squirremail的配置文件
[root@server01webmail]#cpconfig/config_default.phpconfig/config.php
[root@server01webmail]#vimconfig/config.php
修改如下:
(如果修改起来比较麻烦,可以查找)
$squirrelmail_default_language='zh_CN';
$domain='';
$smtpServerAddress='localhost';
$default_charset='zh_CN.UTF-8';
$imap_server_type='dovecot';
$data_dir='/usr/local/apache/htdocs/webmail/data';
$attachment_dir='/usr/local/apache/htdocs/webmail/attach';
4)通过客户端浏览器访问测试
6.添加SMTP的用户认证
--------------------------------
1)查看系统是否已安装cyrussasl认证组件
[root@server01/]#rpm-qa|grepcyrus
在这里如果是rpm安装的,也可以直接使用
2)设置cyrussasl函数库
[root@server01/]#vi/usr/lib/sasl2/smtpd.conf
添加参数:
pwcheck_method:
saslauthd
3)启动saslauthd服务
[root@server01/]#servicesaslauthdstart
4)修改postfix主配置文件main.cf
添加sasl认证相关的参数:
smtpd_sasl_auth_enable=yes
smtpd_sasl_security_options=noanonymous
mynetworks=127.0.0.1
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
5)测试SMTP发信认证
在这里测试的方式最好是有2台邮件系统的环境。
测试可以通过smtp命令字测试,也可以通过邮件客户端软件测试。
***通过smtp命令字测试方法如下:
[root@server01/]#telnetlocalhost25
SMTP常用命令字:
EHLOlocalhost/宣告客户端主机地址
AUTHLOGIN/声明登陆认证
*********/密文账户
******/密文密码
DATA/邮件数据
Subject:
title/邮件标题
....../邮件内容
./一个点表示邮件结束标记
QUIT
***smtp认证测试:
7.配置Postfix虚拟用户支持
--------------------------------
1、下载并对extman邮件管理工具解包
[root@wwwmail]#tarzxvfextman-0.2.5.tar.gz–C/usr/local/apache2/htdocs/
2、导入extman的SQL脚本文件
[root@wwwmail]#mvextman-0.2.5ext