1、linux平台下使用postfix构建企业内部完全邮件服务系统构建postfix全功能完整-邮件服务系统(全源码包)日期作者版本更改参考2010年8月26日魏震5.0前言概述描述postfix软件的应用技术架构,基本部署模型以及不同网络环境下的软件及参数设置与配置等。适用版本linux系统Red hat (红帽子系列)适用人员网络管理人员、服务器系统维护和技术支持人员等部署前准备第1部分所需源码包httpd-2.2.15.tar.gzmysql-5.0.56.tar.gz第2部分所需源码包postfix-2.4.6.tar.gz/postfix-2.4.6-vda-ng.patch.gzdov
2、ecot-1.1.4.tar.gzsquirrelmail-1.4.13.tar.bz2zh_CN-1.4.13-20071220.tar.bz2courier-authlib-0.60.2.tar.bz2第3部分所需源码包DBI-1.607.tar.gzDBD-mysql-4.011.tar.gzUnix-Syslog-1.1.tar.gzextmail-1.0.5.tar.gz第4部分所需源码包GD-2.41.tar.gzFile-Tail-0.99.3.tar.gzrrdtool-1.2.23-3.el5.i386.rpmrrdtool-perl-1.2.23-3.el5.i386.rp
3、mrrdtool-perl-1.2.23-3.el5.i386.rpmextman-0.2.5.tar.gz第5部分所需源码包MailScanner-4.75.11-1.rpm.tar.gz spamassassin-3.1.7-4.el5.i386.rpm 部署流程设计Apache服务器Dns服务器Php服务Mysql数据库服务器 Rhel5平台Extmail Web平台使用及管理Manager管理 安装、配置与部署第1部分 搭建基本的postfix运行环境1.搭建dns服务器:1)安装dns源码包或rpm 包:2)创建dns服务主配置文件:vi /var/named/chroot/etc/
4、named.conf*options directory /var/named;zone IN type master; file .zone; allow-transfer 172.16.16.10; ;zone 16.16.172.in-addr.arpa IN type master; file 172.16.16.arpa; allow-transfer 172.16.16.10; ;*3)生成区域数据库文件:vi /var/named/chroot/var/named/.zone*$TTL 86400 SOA . . ( 2010050601 4H 30M 12H 1D) IN NS
5、 . IN NS . IN A 172.16.16.9 IN MX 10 .ns1 IN A 172.16.16.9ns2 IN A 172.16.16.10mail IN A 172.16.16.1www IN A 172.16.16.1study IN A 172.16.16.2* IN A 172.16.16.1*vi /var/named/chroot/var/named/172.16.16.arpa*$TTL 86400 SOA . . ( 2010050601 4H 30M 12H 1D) IN NS . IN NS .1 IN PTR .2 IN PTR .9 IN PTR .1
6、0 IN PTR .service named startchkconfig level 35 named on测试dns服务器:2.apache安装配置:-1)解包:tar zxvf httpd-2.2.15.tar.gz2)进入解包后的目录:cd httpd-2.2.153)创建安装目录:mkdir /usr/local/apache24)配置编译环境:./configure -prefix=/usr/local/apache2 -enable-so -enable-rewrite -enable-cgi -enable-cgid -enable-suexec -with-mysql=/u
7、sr/local/mysql -with-suexec-caller=daemon -with-suexec-bin=/usr/local/apache2/bin -with-suexec-docroot=/usr/local/apache2/htdocs 5)编译与安装:make & make install6)对apache进行简单的配置之后,启动apache服务/usr/local/apache2/bin/apachectl start测试apache服务器:3.mysql安装配置:-1)创建mysql账户:useradd -M -s /sbin/nologin mysql2)解包:ta
8、r zxvf mysql-5.0.56.tar.gz3)进入解包后的目录:cd mysql-5.0.564)创建安装目录: mkdir /usr/local/mysql5)配置编译环境:./configure -prefix=/usr/local/mysql -with-pam6)编译与安装:make & make install7)生成mysql配置文件:cp support-files/my-f /etc/f8)初始化mysql数据库/usr/local/mysql/bin/mysql_install_db -user=mysqlchown -R root.mysql /usr/local
9、/mysql chown -R mysql /usr/local/mysql/varecho /usr/local/mysql/lib/mysql /etc/ld.so.confldconfig/usr/local/mysql/bin/mysqld_safe -user=mysql &netstat -ntpl | grep 3306cp support-files/mysql.server /etc/init.d/mysqldchmod +x /etc/init.d/mysqldchkconfig -add mysqld chkconfig mysqld onexport PATH=$PAT
10、H:/usr/local/mysql/binecho PATH=$PATH:/usr/local/mysql/bin /etc/profile测试数据库连接:mysql u root pmysqlmysqlmysqladmin u root password “123456”第2部分 开始部署postfix邮件服务系统安装前工作:1、查看当前系统是否安装sendmailrootserver01 /# rpm -qa | grep sendmail2、为了避免与要安装的postfix冲突,可以停用sendmail或卸载*/建议只关闭sendmail服务,不要卸载sendmail程序,因为后面做s
11、mtp认证时将要用到sendmail安装包里的认证文件smtpd,否则如果没有这个认证文件,将会导致最终的smtp认证失败/*rootserver01 /# service sendmail stoprootserver01 /# chkconfig -level 35 sendmail off3、查看系统是否安装postfix的rpm包rootserver01 /# rpm -qa | grep postfix确认系统没有安装postfix服务器软件包3.postfix安装及配置*安装*1)创建运行邮件系统的用户账号postfix及用户组postfix和postdroprootserver0
12、1 /# groupadd -g 1200 postdroprootserver01 /# groupadd -g 1000 postfixrootserver01 /# useradd -M -u 1000 -g postfix -G postdrop -s /sbin/nologin postfix2)解压释放postfix源码包、合并VGA补丁rootserver01 tools# tar zxvf postfix-2.4.6.tar.gz rootserver01 tools# gunzip postfix-2.4.6-vda-ng.patch.gz rootserver01 tool
13、s# cd postfix-2.4.6rootserver01 postfix-2.4.6# patch -p1 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 -lsasl24)编译和编译安装rootserver01 postfix-2.4.6# make & make instal
14、l5)使用postconf工具简化postfix配置文件main.cf,只保留与默认配置不同的参数,提高易读性和可编辑性rootserver01 /# cd /etc/postfix/rootserver01 postfix# postconf -n main2.cfrootserver01 postfix# mv main.cf main.cf.bakrootserver01 postfix# mv main2.cf main.cf6)启动postfix服务rootserver01 postfix# postfix start7)查看服务启动后打开的端口:rootserver01 postf
15、ix# netstat -antp | grep 25*配置postfix基本运行参数*1)配置postfix,调整运行参数rootserver01 postfix# vi /etc/postfix/main.cf增加如下参数:inet_interfaces=192.168.100.1,127.0.0.1myhostname=mydomain=myorigin=$mydomainmydestination=$mydomain,$myhostnamehome_mailbox=Maildir/2)执行命令产生别名数据库文件aliases.dbrootserver01 # newaliases ro
16、otserver01 # ls /etc/aliases.db否则会导致smtpd程序启动失败!3)重新加载配置rootserver01 postfix# postfix reload4)建立邮件用户,通过telnet方法发送电子邮件测试rootserver01 postfix# useradd -s /sbin/nologin zhangsanrootserver01 postfix# passwd zhangsanrootserver01 postfix# useradd -s /sbin/nologin lisirootserver01 postfix# passwd lisi5)进行发
17、送邮件的测试:rootserver01 /# telnet localhost 25SMTP常用命令字:HELO localhost /宣告客户端主机地址MAIL FROM:zhangsan /发件人地址RCPT TO:lisi /收件人地址DATA /邮件数据Subject:title /邮件标题. /邮件内容. /一个点表示邮件结束标记 QUIT /退出4.构建dovecot邮件接受服务器-1)查看当前系统中是否有已安装的dovecot的rpm包rootserver01 tools# rpm -q dovecot在确认没有安装的情况下,准备开始安装dovecot的源码包2)编译安装dove
18、cot服务器软件包rootserver01 tools# useradd -M -s /sbin/nologin dovecotrootserver01 tools# tar zxvf dovecot-1.1.4.tar.gz rootserver01 tools# cd dovecot-1.1.4rootserver01 dovecot-1.1.4# ./configure -sysconfdir=/etc -with-mysqlrootserver01 dovecot-1.1.4# make & make install2)配置dovecot的运行参数从dovecot的模板配置文件生成简单
19、配置文件rootserver01 dovecot-1.1.4# cp /etc/dovecot-example.conf /etc/dovecot.confrootserver01 dovecot-1.1.4# vi /etc/dovecot.conf 修改以下配置参数:(建议通过查找的方式配置以下各项)protocols = pop3 imap ssl_disable = yesdisable_plaintext_auth = nomail_location = maildir:/Maildir3)创建dovecot的PAM认证文件rootserver01 dovecot-1.1.4# vi
20、 /etc/pam.d/dovecotauth required pam_nologin.soauth include system-authaccount include system-authsession include system-auth4)启动dovecot服务rootserver01 dovecot-1.1.4# dovecot -c /etc/dovecot.conf 5)查看dovecot服务开启的端口:rootserver01 dovecot-1.1.4# netstat -antp | grep dovecot6)pop3邮件测试rootserver01 dovecot
21、-1.1.4# telnet localhost 1107)在windows客户端使用OE连接邮件系统发送电子邮件测试5.添加Webmail邮件界面准备条件:apache服务器已经安装并配置好,支持php!这里的配置环境是apache编译安装的,安装路径为:/usr/local/apache2-1)解压squirremail软件包rootserver01 tools# tar jxvf squirrelmail-1.4.13.tar.bz2rootserver01 tools# mv squirrelmail-1.4.13 /usr/local/apache/htdocs/webmailroo
22、tserver01 webmail# cd /usr/local/apache/htdocs/webmail/把squirremail的中文补丁包解压出来rootserver01 webmail# tar -jxvf /tools/zh_CN-1.4.13-20071220.tar.bz2 2)创建及调整数据目录、附件目录rootserver01 webmail# mkdir -p attach datarootserver01 webmail# chown -R daemon:daemon attach/ data/rootserver01 webmail# chmod 730 attach
23、/3)创建并修改squirremail的配置文件rootserver01 webmail# cp config/config_default.php config/config.phprootserver01 webmail# vim config/config.php 修改如下:(如果修改起来比较麻烦,可以查找)$squirrelmail_default_language = zh_CN;$domain = ;$smtpServerAddress = localhost;$default_charset = zh_CN.UTF-8;$imap_server_type = dovecot;$d
24、ata_dir = /usr/local/apache/htdocs/webmail/data;$attachment_dir = /usr/local/apache/htdocs/webmail/attach;4)通过客户端浏览器访问测试6.添加SMTP的用户认证-1)查看系统是否已安装cyrus sasl认证组件rootserver01 /# rpm -qa | grep cyrus在这里如果是rpm安装的,也可以直接使用2)设置cyrus sasl函数库rootserver01 /# vi /usr/lib/sasl2/smtpd.conf 添加参数:pwcheck_method: sa
25、slauthd3)启动saslauthd服务rootserver01 /# service saslauthd start4)修改postfix主配置文件main.cf添加sasl认证相关的参数:smtpd_sasl_auth_enable = yessmtpd_sasl_security_options = noanonymousmynetworks = 127.0.0.1smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination5)测试SMTP发信认
26、证在这里测试的方式最好是有2台邮件系统的环境。测试可以通过smtp命令字测试,也可以通过邮件客户端软件测试。*通过smtp命令字测试方法如下:rootserver01 /# telnet localhost 25SMTP常用命令字:EHLO localhost /宣告客户端主机地址AUTH LOGIN /声明登陆认证* /密文账户* /密文密码DATA /邮件数据Subject:title /邮件标题. /邮件内容. /一个点表示邮件结束标记 QUIT *smtp认证测试:7.配置Postfix虚拟用户支持-1、下载并对extman邮件管理工具解包rootwww mail# tar zxvf extman-0.2.5.tar.gz C /usr/local/apache2/htdocs/2、导入extman的SQL脚本文件rootwww mail#mv extman-0.2.5 ext
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1