快速搭建基于postfix+dovecot的邮件系统.docx

上传人:b****8 文档编号:28158628 上传时间:2023-07-08 格式:DOCX 页数:38 大小:3.58MB
下载 相关 举报
快速搭建基于postfix+dovecot的邮件系统.docx_第1页
第1页 / 共38页
快速搭建基于postfix+dovecot的邮件系统.docx_第2页
第2页 / 共38页
快速搭建基于postfix+dovecot的邮件系统.docx_第3页
第3页 / 共38页
快速搭建基于postfix+dovecot的邮件系统.docx_第4页
第4页 / 共38页
快速搭建基于postfix+dovecot的邮件系统.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

快速搭建基于postfix+dovecot的邮件系统.docx

《快速搭建基于postfix+dovecot的邮件系统.docx》由会员分享,可在线阅读,更多相关《快速搭建基于postfix+dovecot的邮件系统.docx(38页珍藏版)》请在冰豆网上搜索。

快速搭建基于postfix+dovecot的邮件系统.docx

快速搭建基于postfix+dovecot的邮件系统

安装环境:

Centos5.532位系统

rpm安装apache、mysql、php

编译安装postfix、dovecot

一、安装Centos5.5系统

将Centos5.5光盘放入光驱启动系统出现如下画面

直接回车

系统提示”是否需要校验cd媒介”,选择“Skip”跳过

安装欢迎界面:

点击next

选择安装界面语言

Next

选择键盘类型默认即可

点击“下一步“

分区设置

选择“是”点击“下一步”

选择“检验和修改分区方案”选择“是”然后点击“下一步”

手动分区(如果不想手动分区在上一步不要选择“检验和修改分区方案”)点击“重置”

创建boot分区大小分300M(默认的100M也足够了)

创建交换分区(如果物理内存较小swap分区大小就设为物理内存两倍,如果物理内存较大设为同内存一样大就Ok了)

创建home分区(主要用于存放数据)

创建根分区()

完成分区

安装grub引导程序

设置网络

设置时区

设置超级用户root密码

软件选择界面

选择“现在定制”

如果不需要图形界面可以将Desktop-Gnome去掉

“应用程序”中只选择“编辑器”就行了

“服务器”中选择“MySQL数据库”、“万维网服务器”(也就是mysql和apache)

选择“MySQL数据库”---可选的软件包选择php-mysql组件

“开发”中选择开发工具

开始安装系统和定制的软件

安装完成

点击“重新引导”系统将重启

系统设置向导

禁用防火墙

禁用SElinux

不用选择Kdump直接点击“前进”即可

时间和日期设置

创建用户(创建普通用户,如果不想创建直接点击“前进”)

重启系统完成设置

打开终端修改/etc/inittab

将id:

5:

initdefault:

改为

id:

3:

initdefault:

设置为3用户模式启动系统(不带图形界面)

如果之前安装的时候没有安装Desktop-Gnom这里默认进入3用户模式就不需要设置该项

如果在装系统时没有安装apache、mysql、php系统安装完成之后可以通过rpm或者yum在线安装apache、mysql、php

#yuminstallhttpd-manualhttpdsystem-config-httpd

#yuminstallphp-mysqlmysqllibdbi-dbd-mysqlmysql-connector-odbcmysql-servermysql-devel

#yuminstallphp-cliphp-mysqlphp-ldapphp-pdophpphp-common

开启apache、mysql

#servicehttpdstart

#servicemysqldstart

测试php

vi/var/www/html/test.php

内容如下:

php

phpinfo();

?

>

在浏览器里输入http:

//yourip/test.php成功运行将会出现PHP的logo图标和配置信息。

测试PHP与MySQL数据库的协同工作

编写一个PHP测试网页,添加简单的数据库操作命令,用于验证与MySQL服务器的连接情况

#vi/var/www/html/testdb.php

代码如下:

php

$link=mysql_connect('localhost','root','');

if(!

$link)echo"Fail!

!

!

";

elseecho"Success!

!

";

mysql_close();

?

>

使用浏览器访问http:

//yourip/testdb.php进行测试。

如果可以正常连接数据库

会显示“Success!

!

”,否则显示“Fail!

!

”:

创建数据库

解压Extman到/var/www/html/

#tarzxvfextman-1.1.tar.gz-C/var/www/html

#cd/var/www/html

#mvextman-1.1extman

#chown-Rvmail:

vmailextman/cgi

#mkdir/tmp/extman

#chown-Rvmail:

vmail/tmp/extman

导入mysql数据库结构及初始化数据,如果root密码默认为空提示输入密码直接回车即可

#mysql-uroot-p

#mysql-uroot-p

二、安装bind搭建DNS服务以便测试时使用

#yuminstallbindbind-develbind-libsbind-utilsbind-libbind-develbind-sdbcaching-nameserverbind-chroot

#cd/var/named/chroot/etc/

#cp-pnamed.caching-nameserver.confnamed.conf

#vinamed.conf

红色部分为修改内容:

options{

listen-onport53{any;};

listen-on-v6port53{:

:

1;};

directory"/var/named";

dump-file"/var/named/data/cache_dump.db";

statistics-file"/var/named/data/named_stats.txt";

memstatistics-file"/var/named/data/named_mem_stats.txt";

//Thoseoptionsshouldbeusedcarefullybecausetheydisableport

//randomization

//query-sourceport53;

//query-source-v6port53;

forwarders{192.168.1.1;};

allow-query{any;};

allow-query-cache{any;};

};

logging{

channeldefault_debug{

file"data/named.run";

severitydynamic;

};

};

viewlocalhost_resolver{

match-clients{any;};

match-destinations{any;};

recursionyes;

include"/etc/named.rfc1912.zones";

};

~

修改named.rfc1912.zones

红色部分为添加的内容:

#vinamed.rfc1912.zones

//named.rfc1912.zones:

//

//ProvidedbyRedHatcaching-nameserverpackage

//

//ISCBINDnamedzoneconfigurationforzonesrecommendedby

//RFC1912section4.1:

localhostTLDsandaddresszones

//

//See/usr/share/doc/bind*/sample/forexamplenamedconfigurationfiles.

//

zone"."IN{

typehint;

file"named.ca";

};

zone"localdomain"IN{

typemaster;

file"localdomain.zone";

allow-update{none;};

};

zone"localhost"IN{

typemaster;

file"localhost.zone";

allow-update{none;};

};

zone"0.0.127.in-addr.arpa"IN{

typemaster;

file"named.local";

allow-update{none;};

};

zone"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa"IN{

typemaster;

file"named.ip6.local";

allow-update{none;};

};

zone"255.in-addr.arpa"IN{

typemaster;

file"named.broadcast";

allow-update{none;};

};

zone"0.in-addr.arpa"IN{

typemaster;

file"named.zero";

allow-update{none;};

};

zone""IN{

typemaster;

file".zone";

allow-update{none;};

};

zone"211.168.192.in-addr.arpa"IN{

typemaster;

file"192.168.211.zone";

allow-update{none;};

};

配置正反解文件

#cd/var/named/chroot/var/named/

#cp-plocaldomain.zone.zone

#cp-plocaldomain.zone.zone

注意:

一定要使用-p这个参数

#cpnamed.local192.168.211.zone

#vi.zone

$TTL86400

@INSOAlocalhostroot(

42;serial(d.adams)

3H;refresh

15M;retry

1W;expiry

1D);minimum

INNS

wwwINA192.168.211.250

mailINA192.168.211.250

#vi192.168.211.zone

$TTL86400

@INSOAlocalhost.root.localhost.(

1997022700;Serial

28800;Refresh

14400;Retry

3600000;Expire

86400);Minimum

INNS.

250INPTR.

250INPTR.

注意:

反解析里面域名后面带有“.”结尾

#vi/etc/resolv.conf

nameserver192.168.211.250

#servicenamedrestart

到这里dns就可以使用了把你的电脑dns修改一下然后nslookup看看能否解析出对应的ip192.168.211.250

三、源码编译安装postfix+dovecot邮件系统

1.创建安装postfix、dovecot以及运行webmail的用户

#groupadd-g1200postdrop

#groupadd-g1000postfix

#useradd-M-u1000-s/sbin/nologinpostfix-gpostfix-Gpostdrop

#groupadddovenull

#useradd-Mdovenull-s/sbin/nologin-gdovenull

#groupadddovecot

#useradd-Mdovecot-s/sbin/nologin-gdovecot

#groupadd-g1010vmail

#useraddvmail-u1010-gvmail-d/mailbox-s/sbin/nologin

2.安装postfix

因为系统中已存在Sendmail这个MTA程序,我们需要用Postfix替换它,只要切换到Postfix就可以了,先不要卸载sendmail安装完postfix切换系统默认的MTA之后再卸载sendmail

关闭sendmail服务

#servicesendmailstop

#chkconfig--level2345sendmailoff

安装postfix并选择Dovecot作为sasl发信认证模块

#tarzxvfpostfix-2.8-20101217.tar.gz-C/usr/local/src/

#cd/usr/local/src/postfix-2.8-20101217/

生成Makefile文件,编译Postfix支持SMTPAUTH和TLS,CentOS5.5已包含了Openssl,头文件(例如ssl.h)在/usr/include/openssl中,如果自我编译Openssl请注意文件路径。

#makekefilesCCARGS='-DHAS_MYSQL-I/usr/include/mysql\

-DUSE_SASL_AUTH-DDEF_SERVER_SASL_TYPE=\"dovecot\"\

-DUSE_TLS-I/usr/include/openssl'\

AUXLIBS='-L/usr/lib/mysql-lmysqlclient-lz-lm\

-L/usr/lib-lssl-lcrypto'

如果执行上面的命令出现如下提示:

src/anvil]

cat../../conf/makedefs.outMakefile.in>Makefile

[src/scache]

cat../../conf/makedefs.outMakefile.in>Makefile

[src/discard]

cat../../conf/makedefs.outMakefile.in>Makefile

[src/tlsmgr]

cat../../conf/makedefs.outMakefile.in>Makefile

[src/postmulti]

cat../../conf/makedefs.outMakefile.in>Makefile

rm-fMakefile;(catconf/makedefs.outMakefile.in)>Makefile

说明Makefile已经存在

直接安装

#make

#makeinstall

编译完后会进入交互式的问答,选择默认值即可,可参照如下设置:

install_root:

[/]

config_directory:

[/etc/postfix]

tempdir:

[/tmp]

command_directory:

[/usr/sbin]

daemon_directory:

[/usr/libexec/postfix]

data_directory:

[/var/lib/postfix]

html_directory:

[no]

mail_owner:

[postfix]

mailq_path:

[/usr/bin/mailq]

manpage_directory:

[/usr/local/man]

newaliases_path:

[/usr/bin/newaliases]

queue_directory:

[/var/spool/postfix]

readme_directory:

[no]

sendmail_path:

[/usr/sbin/sendmail]

setgid_group:

[postdrop]

安装完毕。

检查postfix支持的SASL验证类型,参数-a查询服务器端类型,用来验证登录用户,-A查询客户端类型,Postfix用来和别的服务器通讯。

#postconf-a

显示:

dovecot

说明现在已经支持dovecot认证了

查看是否支持mysql

#postconf–m

显示内容如果有mysql说明支持mysql

创建邮箱目录,假定虚拟用户邮件全部在/mailbox中。

#mkdir/mailbox

#chown-Rvmail:

vmail/mailbox/

附相关配置文件,请根据实际情况修改。

邮箱采用Maildir格式,用户的邮箱目录格式是/mailbox/domain/username/Maildir

先备份main.cf配置文件

#cp/etc/postfix/main.cf/etc/postfix/main.cf.bak

然后编辑

#vi/etc/postfix/main.cf

清空内容添加以下内容:

##########################BASE################################

queue_directory=/var/spool/postfix

command_directory=/usr/sbin

daemon_directory=/usr/libexec/postfix

data_directory=/var/lib/postfix

myhostname=

mydomain=

myorigin=$mydomain

inet_interfaces=all

mydestination=

unknown_local_recipient_reject_code=550

mynetworks_style=subnet

mynetworks=127.0.0.0/8

home_mailbox=Maildir/

sendmail_path=/usr/sbin/sendmail

newaliases_path=/usr/bin/newaliases

mailq_path=/usr/bin/mailq

setgid_group=postdrop

manpage_directory=/usr/local/man

sample_directory=/etc/postfix

readme_directory=no

#####################VritualMailboxsettings############################

virtual_mailbox_base=/mailbox

virtual_mailbox_maps=mysql:

/etc/postfix/mysql_virtual_mailbox_maps.cf

virtual_mailbox_domains=mysql:

/etc/postfix/mysql_virtual_domains_maps.cf

virtual_alias_maps=mysql:

/etc/postfix/mysql_virtual_alias_maps.cf

virtual_uid_maps=static:

1010

virtual_gid_maps=static:

1010

virtual_transport=virtual

message_size_limit=10240000

virtual_mailbox_limit=209715200

virtual_create_maildirsize=yes

virtual_mailbox_extended=yes

virtual_mailbox_limit_maps=mysql:

/etc/postfix/mysql_virtual_limit_maps.cf

virtual_mailbox_limit_override=yes

virtual_maildir_limit_message=Sorry,theuser'smaildirhasoverdrawnhisdiskspacequota,pleasetryagainlater.

virtual_overquota_bounce=yes

#############################SASL############################################

smtpd_sasl_auth_enable=yes

smtpd_sasl_local_domain=$mydomain

smtpd_sasl_security_options=noanonymous

smtpd_sasl_type=dovecot

smtpd_sasl_path=private/auth

broken_sasl_auth_clients=yes

smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,

permit_auth_destination,reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,

reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,

reject_unauth_destination,reject

注意smtpd_recipient_restrictions后面的内容要放在一行如果想放在多行,每行结尾需要“,”隔开并且每行首要有空格

启动postfix

#postfixstart

停止postfix

#postfixstop

重新加载postfix

#postfixreload

3.安装Dovecot

下载地址http:

//www.dovecot.org/

安装dovecot

#tarzxvfdovecot-2.0.8.tar.gz-C/usr/local/src/

#cd/usr/local/src/dovecot-2.0.8/

配置参数使Dovecot支

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1