在因特网上我们访问邮件服务器时,该服务器都是以网页的形式展现给用户,使用户一目了然,容易操作,那么今天我们就使用postfix邮件服务器和squirrelmail(也就是小松鼠)的结合实现上面所说的问题。postfix是模块化设计是由很多模块组成,主模块是master。Squirrelmail只提供了用户访问的网页界面,该界面是基于php的,所以还需要安装http和php,用户帐号不是存在数据库中不需要安装mysql,下面我们就通过一个例子说明
案例:有一个邮件服务器是163.com的,需要DNS服务器进行解析,为了节省资源邮件服务器和DNS服务器在同一台机器上,IP地址为192.168.255.250。创建两个用户user1和user2,我们实现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它是基于http和php,我们使用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改变一些配置,我们使用字符终端
转载于:https://blog.51cto.com/zhangxifan/1195025