快速搭建基于postfix+dovecot的邮件系统.docx
- 文档编号:28158628
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:38
- 大小:3.58MB
快速搭建基于postfix+dovecot的邮件系统.docx
《快速搭建基于postfix+dovecot的邮件系统.docx》由会员分享,可在线阅读,更多相关《快速搭建基于postfix+dovecot的邮件系统.docx(38页珍藏版)》请在冰豆网上搜索。
快速搭建基于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支
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 快速 搭建 基于 postfix dovecot 邮件系统