1、建立DNS服务器,同时为linuxidc.com, test.net, example.org三个域提供解析;要求,每个域内的www主机均指向本机唯一的IP;(IP:172.16.2.1)
2、建立httpd服务器,分别为, , 各提供一个虚拟主机,位置分别为:/vhosts/linuxidc, /vhosts/test, /vhosts/example;要求:
1)每个虚拟主机的要使用各自的错误日志和访问日志;三个虚拟主机的日志文件都位于/vhosts/logs目录中;
2)虚拟主机仅允许来自172.16.0.0/16(除了172.16.100.0/24)的主机访问;
3)虚拟主机仅允许提供了帐号和密码的请求者访问;
4)通过可以访问/web/mail目录中的网页;
测试主机的 dns指向刚才配置的dns服务器的地址 172.16.2.1
测试web 服务
一 、配置dns
1、安装
#yum -y install bind97 bind97-devel bind97-libs bind97-utils
2、配置主配置文件
#vim /etc/named.conf options { directory "/var/named"; }; zone "." IN { type hint; file "named.ca"; }; zone "localhost.localdomain" IN { type master; file "named.localhost"; allow-update { none; }; }; zone "localhost" IN { type master; file "named.localhost"; allow-update { none; }; }; zone "test.net." IN { type master; file "test.net.zone"; allow-update { none; }; }; zone "example.org" IN { type master; file "example.org.zone"; allow-update { none; }; };zone "linuxidc.com" IN {
type master;
file "linuxidc.com.zone";
allow-update { none; };
};3、配置区域文件
# vim linuxidc.com.zone $TTL 600 @ IN SOA ns.linuxidc.com. admin.linuxidc.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns.linuxidc.com. ns IN A 172.16.2.1 www IN A 172.16.2.1另外两个和这个同样
#cd /var/named/ #ll total 88 drwxr-x--- 4 root named 4096 Jul 4 20:38 chroot drwxrwx--- 2 named named 4096 Jul 4 20:53 data drwxrwx--- 2 named named 4096 Jul 4 21:03 dynamic -rw-r----- 1 root named 208 Jul 4 21:37 example.org.zone 1 -rw-r----- 1 root named 203 Jul 4 20:53 linuxidc.com.zone 2 -rw-r----- 1 root named 1892 Jul 4 20:42 named.ca -rw-r----- 1 root named 152 Dec 15 2009 named.empty -rw-r----- 1 root named 152 Jul 4 20:44 named.localhost -rw-r----- 1 root named 168 Dec 15 2009 named.loopback drwxrwx--- 2 named named 4096 Nov 17 2011 slaves -rw-r----- 1 root named 199 Jul 4 21:36 test.net.zone 3 三个配置文件 记得修改数组 为named
4、开机自动启动
# chkconfig --list named named 0:off 1:off 2:off 3:off 4:off 5:off 6:off #chkconfig named on 在2345级别默认启动 # chkconfig --list named named 0:off 1:off 2:on 3:on 4:on 5:on 6:off5、启动服务
#service named start # netstat -tnlp 查看端口6、测试
# vim /etc/resolv.conf nameserver 172.16.2.1 dns 指向自己的IP search localdomain dig host nslookup 三个命令都可以测试 # dig -t A ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t A ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43869 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ; IN A ;; ANSWER SECTION: 600 IN A 172.16.2.1 ;; AUTHORITY SECTION: linuxidc.com. 600 IN NS ns.linuxidc.com. ;; ADDITIONAL SECTION: ns.linuxidc.com. 600 IN A 172.16.2.1 ;; Query time: 32 msec ;; SERVER: 172.16.2.1#53(172.16.2.1) ;; WHEN: Wed Jul 4 22:02:46 2012 ;; MSG SIZE rcvd: 81 # host -t A has address 172.16.2.1 #nslookup 是个交互式的命令
dig host nslookup 三个命令都可以测试 有兴趣可以自己摸索
测试web时我们就可以把测试机的dns指向上面dns的IP dns与web 结合
二、配置web服务
1、安装
#yum -y install httpd
2、配置虚拟主机
# vim /etc/httpd/conf/httpd.conf NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /www/vhosts/linuxidc ServerName ErrorLog /var/log/httpd/linuxidc.error_log 不同的访问日志 CustomLog /var/log/httpd/linuxidc.access_log common </VirtualHost> <VirtualHost *:80> DocumentRoot /www/vhosts/test ServerName ErrorLog /var/log/httpd/test.error_log CustomLog /var/log/httpd/test.access_log common </VirtualHost> <VirtualHost *:80> DocumentRoot /www/vhosts/example ServerName ErrorLog /var/log/httpd/example.error_log CustomLog /var/log/httpd/example.access_log common </VirtualHost>3、修该,定义访问权限
<VirtualHost *:80> DocumentRoot /www/vhosts/linuxidc ServerName ErrorLog /var/log/httpd/linuxidc.error_log CustomLog /var/log/httpd/linuxidc.access_log common <Directory "/www/vhosts/linuxidc"> Options none AllowOverride none Order deny,allow Deny from 192.168.0.142 </Directory> </VirtualHost>4、修改,基于密码访问
<VirtualHost *:80> DocumentRoot /www/vhosts/test ServerName ErrorLog /var/log/httpd/test.error_log CustomLog /var/log/httpd/test.access_log common <Directory "/www/vhosts/test"> Options none AllowOverride AuthConfig 允许覆盖 以密码认证 AuthType Basic 认证方式 (basic 认证和 摘要认证 MD5) AuthName "restricted area" 名字 AuthUserFile "/etc/httpd/conf/.htpasswd" 存放位置 Require valid-user 允许上个文件中的所有用户 </Directory> </VirtualHost>5、创建密码文件 和允许访问的用户
# htpasswd -c -m /etc/httpd/conf/.htpasswd gentoo 创建密码 文件 gentoo 用户可以访问 New password: Re-type new password: Adding password for user gentoo #htpasswd -b -m /etc/httpd/conf/.htpasswd Ubuntu redhat 创建ubuntu 用户 密码 redhat