在因特网上我们访问邮件服务器时,该服务器都是以网页的形式展现给用户,使用户一目了然,容易操作,那么今天我们就使用postfix邮件服务器和squirrelmail(也就是小松鼠)的结合实现上面所说的问题。postfix是模块化设计是由很多模块组成,主模块是masterSquirrelmail只提供了用户访问的网页界面,该界面是基于php的,所以还需要安装httpphp,用户帐号不是存在数据库中不需要安装mysql,下面我们就通过一个例子说明

案例:有一个邮件服务器是163.com的,需要DNS服务器进行解析,为了节省资源邮件服务器和DNS服务器在同一台机器上,IP地址为192.168.255.250。创建两个用户user1user2,我们实现user1帐号通过163服务器网页的形式给user2发邮件

实验步骤:

1)首先安装DNS

相关软件包安装

[root@localhost ~]# cd /mnt/cdrom/Server

[root@localhost Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm

[root@localhost Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm

[root@localhost Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm

修改主配置文件

[root@localhost var]# cd /var/named/chroot/

[root@localhost chroot]# cd etc

[root@localhost etc]# cp -p named.caching-nameserver.conf named.conf

[root@localhost etc]# vim named.conf      

listen-on port 53 { any; };       #大约在15行,其实注释掉也可以

allow-query       { any; };       #大约在27

allow-query-cache { any; };       #大约在28

match-clients      { any; };      #大约在37

match-destinations { any; };      #大约在38

[root@localhost etc]# vim named.rfc1912.zones       #创建区域文件

zone "163.com" IN {

        type master;

        file "163.com.zone";

        allow-update { none; };

};

编辑区域文件正向解析

[root@localhost etc]# cd /var/named/chroot/var/named

[root@localhost named]# cp -p localhost.zone 163.com.zone

[root@localhost named]# vim 163.com.zone        

$TTL    86400

@               IN SOA  ns.163.com.       root (

                                        42              ; serial (d. adams)

                                        3H              ; refresh

                                        15M             ; retry

                                        1W              ; expiry

                                        1D )            ; minimum

 

@               IN NS           ns.163.com.

ns              IN A            192.168.255.250

mail            IN A            192.168.255.250

smtp            IN CNAME        mail

pop3            IN CNAME        mail

@               IN MX 10        mail

[root@localhost named]# service named restart

停止 named                                               [确定]

启动 named                                               [确定]

改变DNS指向

[root@localhost ~]# vim /etc/resolv.conf        

; generated by /sbin/dhclient-script

nameserver 192.168.255.250

search localdomain

修改主机名为DNS的主机名mail.163.com,在/etc/sysconfig/network

把原来的主机名称给删除

[root@mail ~]# vim /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1                localhost

::1             localhost6.localdomain6 localhost6

测试DNS已经安装完成

[root@mail ~]# nslookup mail.163.com

Server:         192.168.255.250

Address:        192.168.255.250#53

 

Name:   mail.163.com

Address: 192.168.255.250

2安装postfix服务器

[root@mail Server]# rpm -ivh postfix-2.3.3-2.1.el5_2.i386.rpm

在启动postfix服务器之前先关闭sendmail,该服务器系统自带安装好的并且已启动

[root@mail Server]# service sendmail stop

修改postfix的主配置文件

[root@mail Server]# vim /etc/postfix/main.cf

myhostname = mail.163.com            #69行主机名称

mydomain = 163.com                  #77行域名

inet_interfaces = all              #107行监听的地址所有

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain    #打开156行关闭155行,目标是163.com域的也可以发送

#mynetworks = 192.168.255.250/24, 127.0.0.0/8        #255行做中继只要是该网段的都能发送出去,如果要验证该行不需要

[root@mail Server]# service postfix restart

关闭 postfix                                             [确定]

启动 postfix                                             [确定]

3安装squirrelmail它是基于httpphp,我们使用yum安装

[root@mail Server]# vim /etc/yum.repos.d/rhel-debuginfo.repo   #编辑yum客户端

[rhel-server]

name=Red Hat Enterprise Linux server

baseurl=file:///mnt/cdrom/Server

enabled=1

gpgcheck=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

[root@mail ~]# yum list all |grep squir        #查找sqirrelmail

squirrelmail.noarch                       1.4.8-5.el5_3.7            rhel-server

[root@mail ~]# yum install -y squirrelmail        #安装

其实squirrelmail存在一个大的目录,里面存放的都是.php的文件,要想让用户访问到该站点文件,我们把该目录中的文件都放在访问主站点中/var/www/html

ln -s /usr/share/squirrelmail/ /var/www/html/mail      #我们创建一个软连接命名为mail

[root@mail html]# ll

total 0

lrwxrwxrwx 1 root root 24 May  7 18:58 mail -> /usr/share/squirrelmail/

[root@mail html]# cd mail/config/          #配置文件中的conf.pl改变一些配置,我们使用字符终端