postfix邮件服务器搭建完整版

更新时间:2024-03-20 23:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Postfix邮件服务器安装

一.安装前准备 1. 关闭防火墙

vi /etc/selinux/config

图1

如图1,将其中的SELINUX=enforcing修改为SELINUX=disabled

需要注意的是此修改需要重启后才能生效,可以在将所有搭建步骤结束后在进行重启。 2. 关闭ip信息包过滤系统iptables

iptables –flush

图2 3. 从自启动中关掉sendmail 先停掉sendmail服务:service sendmail stop

图3 然后从自启动项中移除sendmail:chkconfig sendmail off

二、安装软件包,本文档中安装的是linux redhat5.4自带的rpm安装包 1. 安装配置DNS服务器 DNS服务用来帮助解析域名的,如果不配置DNS服务,那么outlook,foxmail等软件无法解析我们的邮件域名,也就无法连接到提供收发邮件协议的服务器。 (1)查看系统是否已经安装了服务相关的所有安装包rpm –qa|grep bind

图4

可以看到系统只安装了服务所需的部分包,还需要安装如下图所示的其他包:

图5 (2)使用rpm –ivh 命令安装其他包:

图6

(3)配置DNS

DNS有两个配置文件: ①主配置文件:

/var/named/chroot/etc/named.conf 用来设置DNS全局命令的 编辑DNS主配置文件(默认是空的)如下: 命令:vi /var/named/chroot/etc/named.conf 这里以kk.com域名为例进行配置,如图:

图7 编辑完成后先按Esc键退出编辑状态然后输入 :wq 点击回车进行保存。 ②zone文件,注意此处的zone文件的名称要和住配置文件中的file后写的文件名一致。可以从模板拷贝一份zone文件进行编辑配置:

cp/usr/share/doc/bind-9.3.6/sample/var/named/localdomain.zone /var/named/chroot/var/named/kk.com.zone

编辑kk.com.zone文件:

图8

图9

图9所示为拷贝得到了原始文件,我们需要在其中添加如下图所示配置:

图10 这里需要注意的是域名后面一定要加点“.”

其中mail.kk.com是你邮件服务器的域名,后面对应系统的ip地址;

kk.com是电子邮件地址@后需要写的内容如有邮件用户well,则其电子邮件地址为:well@kk.com 编辑完成后保存配置。 (4)启动并测试DNS服务

①启动服务:service named start

②清空DNS缓存文件:echo “ ” > /etc/resolv.conf ③验证DNS解析:host mail.kk.com

图11 出现如图11中mail.kk.com has address 192.168.106.141所示的内容,说明DNS服务配置成功。

2.

(5)将named服务添加到自启动列表 chkconfig --add named chkconfig named on 安装配置dovecot

dovecot 是提供pop3、imap的服务器,这两个协议是邮件服务器完成收邮件的协议 (1)安装dovecot

图12

如图12所示,当直接安装dovecot包时会报error,这说明要安装dovecot需先安装其关联包mysql的包;但是安装mysql需啊哟先安装perl相关的包。以下为安装dovecot所需安装的关联包的安装过程:

(2)配置dovecot

配置dovecot运行参数 vi /etc/dovecot.conf ssl_disable = yes

protocols = pop3 imap

图1

disable_plaintext_auth = no

mail_locaton = maildir:~/Maildir

温馨提示:在vi进入dovecot.conf的配置文件后可以使用末行模式快速查找:

图14

如图中红色标记部分,直接输入:/然后输入自己要查找的内容然后回车即可。找到之后按照配置dovecot运行参数中进行配置。

图15 (3)配置好dovecot后启动dovecot

service dovecot start

(4)查看dovecot监听端口:netstat –natpl | grep dovecot 3. 安装配置postfix Postfix是提供SMTP的服务器,通过此服务来发送邮件

(1) 安装postfix

图16

(2) 配置postfix

vi /etc/postfix/main.cf inet_interfaces = all

myhostname = mail.kk.com mydomain = kk.com myorigin = $mydomain

mydestination = $mydoain,$myhostname home_mailbox = Maildir

(3) 启动postfix服务

service postfix start

(4) 将服务添加到自启动列表中

至此邮件服务器就搭建完成了,此邮件服务器可以通过outlook,foxmail等软件进行收发邮件。可以使用tail –f /var/log/maillog,来监控postfix的日志及错误信息! 三、添加邮件用户 [root@localhost ~]# groupadd mailuser

[root@localhost ~]# useradd -g mailuser -s /sbin/nologin good [root@localhost ~]# useradd -g mailuser -s /sbin/nologin fine [root@localhost ~]# passwd good [root@localhost ~]# passwd fine 四、配置outlook 打开outlook选择工具->帐户设置,进入如下界面:

图17

如图点击新建,进入下图:

图18 下一步,选择红色标记的手动配置,点击下一步:

图19

一路下一步进入如下图的用户配置界面:

图20

这里需要注意的是在途中接收邮件服务器中若要填写再记配置的域名:mail.kk.com;则要么将网络连接中的首选DNS配置为邮件服务器系统的IP地址,如图:

图21

要么将系统中的C:\\Windows\\System32\\drivers\\etc\\hosts文件中添加在如下图所示内容:

图22

按照图20添加完整信息后,点击测试账户设置,如下图:

图23

当出现图23所示界面说明已经可以成功收发邮件了!

*将需要的服务添加到自启动列表:chkconfig --add mysqld chkconfig mysqld on 还有:httpd,dovecot,postfix,named

以上所有的配置实现的是通过outlook、foxmail等来收发邮件,接下来实现通过浏览器访问此邮件服务器并收发邮件!在以上的基础之上继续:

1. 安装apache (1)安装:rpm -ivh httpd-2.2.3-31.el5.i386.rpm (2)设置地启动:chkconfig --add httpd chkconfig httpd on 2. 安装squirrelmail

将squirrelmail压缩包解压到/var/www/html/下

图24

如图24,首先cd /var/www/html进入html目录下,然后将squirrelmail的压缩包解压到当前目录下

1. 解压gz包:tar zxf squirrelmail-webmail-1.4.22.tar.gz

2. 解压后的文件夹名称是squirrelmail-webmail-1.4.22,可以将其改为你自己想要的名字,我将其改为squirrelmail,使用命令:mv squirrelmail-webmail-1.4.22 squirrelmail

3. 由于squirrelmail默认是英文版的需要对其进行汉化,汉化很简单,只要将下载好的汉化包解压缩到squirrelmail文件夹下,然后再进行配置即可,后面会详细讲述如何配置;

图25 图中红色标记的步骤1进入squirrelmail文件夹下;

步骤2将zh_CN-1.4.13-20071220.tar.bz2的汉化包解压到当前目录下。

4. 在squirrelmail目录下,命令中输入./configure,进入squirrelmail的配置界面:

图26

5. 输入2然后回车,进入服务器配置:

图27

输入1回车,此为配置电子邮件名称中@后面的部分,如163.com,qq.com等; 我这里配置的是kk.com,你可以按照自己的需要配置此域名。

图28

回车后进入图27界面,然后输入a再回车,进入IMAP Setting:

图29

这里需要修改的是提供IMAP服务的软件,我们用的是dovecot(如图我这里是已经修改过的,未修改过的显示others),所以输入8进入修改界面:

图30

然后回车,输入r,回车,返回主界面,输入10,回车,进入语言配置界面:

图31

同上,配置为图31中红色框中的内容,即可完成汉化。配置好后输入s,回车两次保存;再输入q,回车退出。退出时会出现一个如下图所示的链接:

图32

在浏览器中访问改地址,将其中your-squirrelmail-location改为localhost或者你的ip地址。此时去访问浏览器,会报出error:can’t wirte to (/var/local/squorrelmail/data!)的错误,因为我们还没有创建这个路径,接下来手动创建此路径:

图32 步骤1:进入local目录;

步骤2:创建squirrelmail文件夹; 步骤3:进入squirrelmail目录; 步骤4:创建data和attach文件夹

步骤5:查看是否创建出这两个文件夹; 步骤6:回到local目录下;

步骤7:7,9分别为给这两个目录; 步骤11:分配权限。

接下来就可以在浏览器中成功访问了(确保selinux的config文件中已改为disabled,不然还是无法写入到/data目录) 四、访问webmail 在配置完squirrelmail之后,它会给我们一个地址,在浏览器中打开这个地址:型如:http://localhost/squirrelmail/src/configtest.php(如果访问不到,再一次iptables --flush),进入界面后点击最下方的login now 的超链接进入登陆界面:

图33

用我们之前配置好的用户登录(只需输入用户名和密码即可) 五、用squirrelmail的change password插件修改系统用户密码 1.下载了change_pass-3.1-1.4.0.tar.gz,解压后得到/var/www/html/squirrelmail/plugins/目录下。 2.要使该插件成功使用,需要配置以下几个地方: a.同样使用 ./configure进入配置界面:

b.输入8,进入插件配置选择界面:

图34

图35

从图中可以看到plugins下已经有很多插件,change_pass也在其中了;

c.输入change_pass前面的数字,使change_pass在界面中可以使用,保存退出。

d.此时虽然浏览器中已经可以看到此插件,但是还不能使用它修改密码,为啥?原来是没有装poppassd

e.安装poppassd,我下载的是

图36

f.安装了poppassd后即可执行poppassd了,输入 /usr/sbin/poppassd回车

正常情况下应该为在输入正确密码并且输入了有效的新密码后显示200 Password changed, thank-you. 如下面所示:

200 poppassd v1.8.5 hello, who are you?

user usernamexxx(输入user+已建立的用户名,我在这里就卡过,不知道到底要不要前面加上user)

200 Your password please.

pass passwordxxx(输入pass+上面输入的用户的原密码,)

200 Your new password please.

newpass newpassxxx(输入newpass+上面输入的用户的新的密码,) 200 Password changed, thank-you.

但是,这里会显示:

200 poppassd v1.8.5 hello, who are you? user usernamexxx

200 Your password please. pass passwordxxx

500 Old password is incorrect.

会报500,说旧密码不正确!原因是系统中不存在/etc/pam.d/poppassd这个文件中的pam_pwdb.so:

#%PAM-1.0

auth required /lib/security/pam_pwdb.so shadow nullok account required /lib/security/pam_pwdb.so

password required /lib/security/pam_cracklib.so retry=3

password required /lib/security/pam_pwdb.so use_authtok nullok

解决方法是将pam_pwdb.so改为pam_unix.so即可 #%PAM-1.0

auth required /lib/security/pam_unix.so shadow nullok account required /lib/security/pam_unix.so

password required /lib/security/pam_cracklib.so retry=3

password required /lib/security/pam_unix.so use_authtok nullok

图37

这样修改之后便可以通过/usr/sbin/poppassd成功修改密码了!但是WEB 中还是无法成功修改密码,会报出:error:connection refused(111),这是因为监听修改密码操作的106端口还未启动起来poppassd监听106端口,poppassd需要用xinetd启动,所以需要先安装xinetd。一般系统历史默认安装了xinetd的,只是

/etc/xinetd.d/poppassd文件中使poppassd服务不可用:disable = yes,

图38

我们需要进入该文件将其修改为disable = no:

# default: off

# The POPPASSD port 106. service poppassd {

disable = no

socket_type = stream wait = no user = root

server = /usr/sbin/poppassd log_on_success += USERID log_on_failure += USERID }

修改之后重新启动xinetd,service xinetd restart

可以在命令下输入:telnet localhost 106回车,出现下图所示的内容便说明端口启动并监听成功:

图39

再次进入WEB邮件,点击选项,选择change password,就可以成功修改密码了!

图40

本文来源:https://www.bwwdw.com/article/oro8.html

Top