6.域名(DNS)服务器的安装与调试 说明我们将要配置的DNS服务器满足两个域名的要求,我们的IP地址为202.99.11.120由202.99.11.120服务器将域名linuxaid.com.cn和linuxaid.com.cn指向我们的服务器 下载域名服务器软件包 从http://www.isc.org 下载bind-8.2.2.p15-src.tar.gz。 下载的软件包放置于/usr/local/src。 解压缩软件包 # cd /usr/local/src #第1步 # mkdir bind #第2步 # tar zxvf bind-8.2.2p15-src.tar.gz --directory=/usr/local/src/bind #第3步 编译并安装Bind # cd /usr/local/src/bind/src #进入存放BIND源码的目录 # make stdlinks #第1步 # make clean #第2步 # make depend #第3步 # make all #第4步 # make install #第5步 配置Bind运行参数 1、使用vi创建/etc/named.conf,其内容为(#号后为注释可不输入):
options{ directory "/var/named"; #设置DNS数据的目录,用于存放域名数据 }; zone "." { #提示用数据文件 type hint; file "root.cache"; };
zone "localhost" { #指定localhost解释文件 type master; #类型为"主要" file "localhost"; #对应的文件名为 localhost };
zone "0.0.127.in-addr.arpa" { #IP反向解释 type master; file "127.0.0"; #对应的文件名为127.0.0 };
zone "linuxaid.com.cn" { #指定linuxaid.com.cn的解释文件 type master; file "linuxaid.com.cn"; #对应的文件名为linuxaid.com.cn };
zone "linuxaid.net.cn" { type master; file "linuxaid.net.cn"; }; #说明,如果要添加其它的域,可以复制上面的数据修改而成 zone "11.99.202.in-addr.arpa" { #202.99.11.0段IP反向解释 type master; file "202.99.11"; };
2、按照以下的步骤创建/var/named及其内容
# mkdir /var/named # cp /usr/local/src/bind/src/conf/workstation/root.cache /var/named
使用vi创建/var/named/localhost其内容为(;号后面为注释内容可不输入,下同):
$TTL 3600 ;设置缺省存活时间为一小时,下同 @ IN SOA localhost. root.localhost. ( 2000092837 ;序号 10800 ;刷新时间,单位秒,下同 3600 ;重试时间 604800 ;过期时间 10800 ;生存时间 ) IN NS localhost. ;指定此域的域名服务器为 loadlhost IN A 127.0.0.1 ;指定定此域的IP地址为127.0.0.1
创建/var/named/127.0.0,内容为:
$TTL 3600 @ IN SOA localhost. root.localhost. ( 2000092814 ;Serial number 10800 ;Refresh time 3600 ;Retry time 604800 ;Expire after a week 10800 ;Time to live ) IN NS localhost. ;指定此域的域名服务器为 localhost 1 IN PTR localhost. ;IP地址127.0.0.1的域名为 localhost
创建/var/named/linuxaid.com.cn,内容为:
$TTL 3600 @ IN SOA ns.linuxaid.com.cn. root.ns.linuxaid.com.cn. ( 2000092854 ;Serial Number 10800 ;Refresh time 3600 ;Retry time 604800 ;Expire after a week 10800 ;Time to live ) IN NS ns.linuxaid.com. IN MX 9 202.99.11.120 ns IN A 202.99.11.120 www IN CNAME ns
创建/var/named/linuxaid.net.cn,内容为:
$TTL 3600 @ IN SOA ns.linuxaid.com.cn. root.ns.linuxaid.com.cn. ( 2000092854 ;Serial Number 10800 ;Refresh time 3600 ;Retry time 604800 ;Expire after a week 10800 ;Time to live ) IN NS ns.linuxaid.com.cn. IN MX 9 202.99.11.120 www IN A 202.99.11.120
创建202.99.11,内容为:
$TTL 3600 @ IN SOA ns.linuxaid.com.cn. root.ns.linuxaid.com.cn. ( 2000092858 ;Serial Number 10800 ;Refresh Time 3600 ;Retry time 604800 ;Expire after a week 10800 ;Time to live ) IN NS ns.linuxaid.com.cn. 8 IN PTR ns.linuxaid.com.cn 测试域名服务器 在确认所有的数据的正确输入之后,我们就要开始测试域名服务器了。 1、使用以下的命令启动域名服务器named:
# ndc start
如果出现以下的提示,则证明域名服务器已经在后台运行。
# new pid is 23008
如果出现其它的提示,请您检查您所输入的数据是否正确。 2、修改系统域名参数 修改/etc/resolv.conf。 则添加一行 nameserver 127.0.0.1,指定本地计算机的缺省域名服务器为127.0.0.1 3、使用nslookup测试域名服务器 在命令行打入下面的命令,如果得到的提示信息不同,则请检查您的配置文件是否正确(其中#号后的部分为笔者添加的注释,正常情况下域名服务器不会返回这部分内容)。 # nslookup Default Server: localhost #缺省域名服务器的名称为 localhost 即本机 Address: 127.0.0.1 #缺省域名服务器的IP地址
#查询www.linuxaid.com.cn对应的IP地址 >www.linuxaid.com.cn #查询www.linuxaid.com.cn的IP地址 Server: localhost Address: 127.0.0.1
Name: ns.linuxaid.com.cn #域名服务器返回www.linuxaid.com.cn的真实 #名称为ns.linuxaid.com.cn Address: 202.99.11.120 #www.linuxaid.com.cn对应的IP地址 Aliases: www.linuxaid.com.cn #域名服务器返回www.linuxaid.com.cn是 #ns.linuxaid.com.cn 的别名(CNAME)
>www.linuxaid.net.cn #查询www.linuxaid.net.cn Server: localhost Address: 127.0.0.1
Name: www.linuxaid.net.cn #域名服务器返回www.linuxaid.net.cn真实域名 Address: 202.99.11.120 #www.linuxaid.net.cn对应的IP地址 #进行反向测试,查询202.99.11.120对应的域名 >202.99.11.120 Server: localhost Address: 127.0.0.1
Name: ns.linuxaid.com.cn Address: 202.99.11.120
>exit # 如果测试的结果与显示的一致,说明您的域名服务器已经正确的安装。如果出现错误,您可以尝试使用 tail /var/log/messages 查看错误信息并进行相应的修改。 如果问题还不得以解决,请与我们的技术支持论坛联系。
7.邮件传递服务器(MTA)的安装 7.1.下载软件包 从www.postfix.org下载postfix-19991231-pl09并放置于/usr/local/src 7.2.将下载的软件包解压缩 # cd /usr/local/src # tar zxvf postfix-19991231-pl09.tar.gz 7.3. 编译并安装Postfix 首先,必须保证系统中没有安装sendmail。如果不能确定是否有安装的话,可以使用: # rpm -qa | grep "sendmail" 如果没有任何的输出证明系统中没有安装sendmail,如果有的话,请使用rpm -e将列出的软件包都删除了。例子: rpm -e sendmail-8.8.7-17 -nodeps 就可将sendmail软件包删除。 在删除完sendmail之后使用vi修改/etc/passwd将 daemon:*:2:2:daemon:/sbin: 改为: daemon:*:2:12:daemon:/sbin: 再使用 # mkdir /usr/local/servers(如果此目录已经存在就没有必要了) # useradd postfix -d /usr/local/servers/postfix 就可以开始安装Postfix了: # cd /usr/local/src/postfix-19991231-pl09 # make -f Makefile.init makefiles 'CCARGS=-DHAS_MYSQL -I/usr/local/servers/mysql/include/mysql' 'AUXLIBS=/usr/local/servers/mysql/lib/mysql/libmysqlclient.a -lm' # make # sh INSTALL.sh 在install_root: [/]处打回车接受默认值 在tempdir: [/usr/local/src/postfix-19991231-pl09]处输入: /usr/local/servers/postfix/tmp 在config_directory: [/etc/postfix]处接受默认值/etc/postfix(此处不可修改) 在daemon_directory: [/usr/libexec/postfix]处输入 /usr/local/servers/postfix/libexec 在command_directory: [/usr/sbin]处输入 /usr/local/servers/postfix/sbin 在queue_directory: [/var/spool/postfix]处输入 /usr/local/servers/postfix/spool 在sendmail_path: [/usr/sbin/sendmail]处打回车接受默认值 在newaliases_path: [/usr/bin/newaliases]处打回车接受默认值 在mailq_path: [/usr/bin/mailq]处打回车接受默认值 在mail_owner: [postfix]处打回车接受默认值 在setgid: [no]处打回车接受默认值 在manpages: [/usr/local/man]处输入 /usr/local/servers/postfix/man 至此Postfix的安装程序会自动的将编译之后的代码安装至我们指定的目录中。
7.4.设置Postfix基本参数 使用 vi 打开 /etc/postfix/main.cf 并进行以下的修改: myhostname=www.linuxaid.com.cn mydomain=linuxaid.com.cn myorigin=$mydomain alias_maps=hash:/etc/postfix/aliases
7.5.初始化Postfix环境并启动Postfix # cd /etc/postfix # /usr/local/servers/postfix/sbin/postalias aliases # /usr/local/servers/postfix/sbin/postfix start 命令运行完毕之后,使用以下命令: # tail /var/log/maillog 得到的结果最后一行应该与以下的内容相类似: Nov 10 09:24:23 mailserver postfix/master[6255]: daemon started 如果出现其它的错误信息,请您检查安装的步骤是否正确。
8.POP3/IMAP服务器的安装 做为与Postfix搭配的POP3/IMAP服务器,我选择了CYRUS。
8.1.下载软件包 从http://asg.web.cmu.edu/cyrus/下载cyrus-imap-1.6.24和cyrus-sasl-1.5.24并放置于/usr/local/src
8.2.将下载的软件包解压缩 # cd /usr/local/src # tar zxvf cyrus-sasl-1.5.24.tar.gz # tar zxvf cyrus-imapd-1.6.24.tar.gz
8.3.编译并安装POP3/IMAP服务器(MDA) 添加一个新的用户cyrus,并设置其组为mail,并使用passwd设置其口令
# /usr/sbin/useradd cyrus -g mail # cd /usr/local/src/cyrus-sasl-1.5.24 # ./configure --with-pwcheck=pwcheck
修改/usr/local/src/cyrus-sasl-1.5.24/config.h 将PWCHECKDIR定义为
#define PWCHECKDIR "/var/pwcheck"
如果PWCHECKDIR已经是/var/pwcheck则无需修改。完成之后继续编译过程
# make # make install
修改/etc/ld.so.conf,添加以下一行:
/usr/local/lib
存盘退出之后运行:
# /sbin/ldconfig
如果/etc/ld.so.conf中已经存在则不需要添加 安装完sasl之后,可以开始安装imapd
# cd /usr/local/src/cyrus-imapd-1.6.24 # ./configure --with-krb=no # make # make install
8.4.设置初始化环境和参数 # cd /var # mkdir imap # chown cyrus.mail imap # chmod 750 # cd /var/spool # mkdir imap # chown cyrus.mail imap # chmod 750 # mkdir /var/pwcheck # chown cyrus.mail /var/pwcheck # chmod 700 /var/pwcheck
使用vi创建/etc/imapd.conf内容为:
configdirectory: /var/imap partition-default: /var/spool/imap admins: cyrus srvtab: /var/imap/srvtab sasl_pwcheck_method: pwcheck
存盘退出,使用以下的命令创建相应目录:
# cd /usr/local/src/cyrus-sasl-1.5.24/tools # su cyrus $ ./mkimap $ exit
相应的工具会自动的创建cyrus邮件服务器所需的目录 修改/etc/inetd.conf使POP3/IMAP邮件服务器有效,使用vi打开/etc/inetd.conf添加:
imap stream tcp nowait cyrus /usr/cyrus/bin/imapd imapd pop-3 stream tcp nowait cyrus /usr/cyrus/bin/pop3d pop3d
并使用
# killall -HUP inetd
重新启动inetd。 启动pwcheck服务器,为MDA提供身份验证
# /usr/local/sbin/pwcheck
使用以下的命令分别测试POP3和IMAP服务器 POP3服务器 #telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK mailserver Cyrus POP3 v1.6.24 server ready 如果显示的信息与上面的不全部相同,请检查安装过程是否有问题。 输入 QUIT(回车) 即可退出。
IMAP服务器 #telnet localhost 143 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. * OK mailserver Cyrus IMAP4 v1.6.24 server ready 如果显示的信息与上面的不全部相同,请检查安装过程是否有问题。 输入 . logout(回车) 即可退出。
8.5.联接MTA与MDA 修改/etc/postfix/main.cf,添加以下的内容:
mailbox_transport = cyrus
修改/etc/master.cf,将cyrus部分改为以下的内容(全部在一行内):
cyrus unix -n n - - pipe flags=R user=cyrus:mail argv=/usr/cyrus/bin/deliver -a ${user} -e -q -m ${extension} ${user}
存盘退出之后,使用以下的命令刷新Postfix的数据,整个安装过程完成:
# /usr/local/servers/postfix/sbin/postfix reload
用户管理 我们使用系统帐号来做为身份验证的依据,所以在添加用户时要分两步,一是添加系统帐号,另外就是添加用户的邮箱。以下的例子说明添加用户的步骤:
# useradd newuser # /usr/local/bin/cyradm -u cyrus localhost (需要输入cyrus的密码) 先为cyrus创建一个邮箱,这是必须的 # cm user.cyrus(第一次时需要,以后不用) # cm user.newuser
即可。

|