基于域名的虚拟主机

需求:

访问http://www.web.cc —显示出this is myweb.cc
访问http://ftp.test.net —显示出this is myftp
思路:

  • 首先搭建DNS服务器
  • 搭建WEB服务器
  • 客户端指定DNS服务测试验证

环境:

  • WEB-Server:172.16.10.188
  • DNS-Server:172.16.10.166
  • Client:172.16.10.177

步骤:
在DNS-Server上:

yum -y install bind    //下载安装bind
[root@DNS data]# rpm -ql bind
  //查看安装的文件列表
[root@DNS data]# vim /etc/named.conf           //修改主配置文件
options {
        listen-on port 53 { 127.0.0.1;any; };          //any 允许所有监听
        listen-on-v6 port 53 { ::1; };      
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { localhost;any; };      //any 允许所有人
[root@DNS data]# vim /etc/named.rfc1912.zones    //修改zone配置文件
...
zone "myweb.cc" IN {                //正向解析
        type master;
        file "myweb.cc.zone";     //在/var/named/ 里创建相应的文件
        allow-update { none; };
};
zone "test.net" IN {
        type master;
        file "test.net.zone";         //在/var/named/ 里创建相应的文件
        allow-update { none; };
};
[root@DNS data]# cd /var/named/
[root@DNS named]# cp -p named.localhost  myweb.cc.zone     //拷贝模板复制
[root@DNS named]# cp -p named.localhost  test.net.zone          //拷贝模板复制
[root@DNS named]# vim myweb.cc.zone           
$TTL 1D
@       IN SOA  myweb.cc. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
              NS      a.myweb.cc.
a             A       172.16.10.166
www           A       172.16.10.188

[root@DNS named]# vim test.net.zone
$TTL 1D
@       IN SOA  test.net. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
              NS      b.test.net.
b             A       172.16.10.166
ftp           A       172.16.10.188

配置好DNS服务器之后重启服务

[root@DNS~]# systemctl restart named

在WEB-Server端:
安装Apache

[root@WEB~]# yum -y install httpd
[root@WEB~]# rpm -ql httpd

创建相应的数据目录和首页文件

[root@WEB~]# mkdir /data/
[root@WEB~]# mkdir /data/{myweb,myftp}
[root@WEB~]# echo "this is myweb.cc" > /data/myweb/index.html
[root@WEB~]# echo "this is myftp" > /data/myftp/index.html

发布网站

[root@WEB~]# vim /etc/httpd/conf/httpd.conf 
.....
Listen 80
....
<VirtualHost *:80 >
        DocumentRoot  /data/myweb/
        ServerName www.myweb.cc
        ErrorLog logs/myweb-error_log
        CustomLog logs/myweb-access_log common
        <Directory "/data/myweb/">
          AllowOverride None
          Options None
          Require all granted
        </Directory>
</VirtualHost>

<VirtualHost *:80 >
        DocumentRoot  /data/myftp/
        ServerName ftp.test.net
        ErrorLog logs/myftp-error_log
        CustomLog logs/myftp-access_log common
        <Directory "/data/myftp/">
          AllowOverride None
          Options None
          Require all granted
        </Directory>
</VirtualHost>

重启服务

[root@WEB~]# systemctl restart httpd.service 

在客户端测试

[root@client~]# yum -y install elinks
[root@client~]# echo nameserver 172.16.10.166 >/etc/resolv.conf
[root@client~]# elinks http://www.myweb.cc
[root@client~]# elinks http://ftp.test.net
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值