虚拟Web主机

在同一台物理服务器中运行多个Web站点,其中每一一个站点并不独立占用一台真正的计算机。

httpd支持的虚拟主机类型

基于域名的虚拟主机

基于IP地址的虚拟主机

基于端口的虚拟主机

构建虚拟主机------基于域名

(1)安装bind、httpd服务。

(2)进入named服务的主配置文件,将下图两个位置改为“any”。

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

(3)进入named服务的区域配置文件,添加两个域名的区域信息。

[root@localhost ~]# vim /etc/named.rfc1912.zones

zone "aaa.com" IN {

type master;

file "aaa.com.zone";

allow-update { none; };

};

zone "bbb.com" IN {

type master;

file "bbb.com.zone";

allow-update { none; };

};

(4)进入“/var/named/”目录,保留权限复制一份“named.localhost”区域数据配置文件,命名为“aaa.com.zone”,然后对其进行修改。

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

[root@localhost named]# ls

data dynamic named.ca named.empty named.localhost named.loopback slaves

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

[root@localhost named]#

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

$TTL 1D

@ IN SOA @ rname.invalid. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS @

A 127.0.0.1

www IN A 192.168.52.133

(5)再保留权限复制一份“aaa.com.zone”文件,命名为“bbb.com.zone”,不用进行修改。然后开启named服务,关闭防火墙和增强性安全功能。

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

[root@localhost named]# systemctl start named

[root@localhost named]#

[root@localhost named]# systemctl stop firewalld.service

[root@localhost named]# setenforce 0

[root@localhost named]#

(6)再开一台win10虚拟机,将其DNS服务器的IP地址,设置为刚才Linux系统的IP地址。

(7)用win10主机去测试DNS服务能否解析,解析成功。

(8)进入“/etc/httpd/conf”目录,创建一个“extra/”目录,然后进入“extra/”目录,用vim编辑器,新建一个配置文件“vhost.conf”,在配置文件里输入以下内容。

[root@localhost named]# cd /etc/httpd/conf

[root@localhost conf]# ls

httpd.conf magic

[root@localhost conf]# mkdir extra

[root@localhost conf]# ls

extra httpd.conf magic

[root@localhost conf]# cd extra/

[root@localhost extra]# vim vhost.conf

DocumentRoot "/var/www/html/aaa/"

ServerName www.aaa.com

ErrorLog "logs/www.aaa.com.error_log"

CustomLog "logs/www.aaa.com.access_log" common

Require all granted

DocumentRoot "/var/www/html/bbb/"

ServerName www.bbb.com

ErrorLog "logs/www.bbb.com.error_log"

CustomLog "logs/www.bbb.com.access_log" common

Require all granted

(9)进入“/var/www/html/”创建两个目录“aaa/”、“bbb/”。

[root@localhost extra]#

[root@localhost extra]# cd /var/www/html/

[root@localhost html]# ls

[root@localhost html]# mkdir aaa bbb

[root@localhost html]# ls

aaa bbb

[root@localhost html]#

(10)进入“aaa/”目录,新建一个站点首页文件,内容如下:

[root@localhost html]# cd aaa

[root@localhost aaa]# ls

[root@localhost aaa]# vim index.html

this is aaa web

(11)进入“bbb/”目录,新建一个站点首页文件,内容如下:

[root@localhost aaa]# cd ../bbb

[root@localhost bbb]# ls

[root@localhost bbb]# vim index.html

this is bbb web

(12)进入httpd服务的主配置文件,在末行将我们新建的配置文件写进主配置文件,然后启动httpd服务。

[root@localhost bbb]# vim /etc/httpd/conf/httpd.conf

Include conf/extra/vhost.conf

[root@localhost bbb]# systemctl start httpd

[root@localhost bbb]#

(13)用win10 主机去分别访问两个域名,都能访问成功。

构建虚拟主机------基于端口

(1)在上一个实验的基础上,进入配置文件“vhost.conf”,添加一个“www.aaa.com”域名的8080端口。

[root@localhost bbb]# vim /etc/httpd/conf/extra/vhost.conf

DocumentRoot "/var/www/html/aaa/"

ServerName www.aaa.com

ErrorLog "logs/www.aaa.com.error_log"

CustomLog "logs/www.aaa.com.access_log" common

Require all granted

DocumentRoot "/var/www/html/bbb/"

ServerName www.bbb.com

ErrorLog "logs/www.bbb.com.error_log"

CustomLog "logs/www.bbb.com.access_log" common

Require all granted

DocumentRoot "/var/www/html/aaa02/"

ServerName www.aaa.com

ErrorLog "logs/www.aaa02.com.error_log"

CustomLog "logs/www.aaa02.com.access_log" common

Require all granted

(2)进入“/var/www/html”目录,新建一个“aaa02”目录,进入“aaa02”目录,新建一个站点首页文件,内容如下:

[root@localhost bbb]# cd ../

[root@localhost html]# mkdir aaa02

[root@localhost html]# cd aaa02/

[root@localhost aaa02]# vim index.html

this is aaa02 web

(3)进入httpd服务主配置文件,添加监听端口,同时将IPv6的端口的监听注销。重启httpd服务。

[root@localhost aaa02]# vim /etc/httpd/conf/httpd.conf

Listen 192.168.52.133:80

Listen 192.168.52.133:8080

#Listen 80

[root@localhost aaa02]# systemctl restart httpd

[root@localhost aaa02]#

(4)再次用win10主机访问两个端口不同的域名,访问成功。

构建虚拟主机------基于IP

(1)给Linux主机添加一块网卡,查看IP地址。

(2)进入配置文件“vhost.conf”,进行如下输入:

[root@localhost aaa02]# vim /etc/httpd/conf/extra/vhost.conf

DocumentRoot "/var/www/html/aaa/"

ErrorLog "logs/www.aaa.com.error_log"

CustomLog "logs/www.aaa.com.access_log" common

Require all granted

DocumentRoot "/var/www/html/aaa02/"

ErrorLog "logs/www.aaa02.com.error_log"

CustomLog "logs/www.aaa02.com.access_log" common

Require all granted

(3)分别对“aaa”站点与“aaa02”站点的主页文件进行如下修改:

[root@localhost aaa02]# cd ../aaa

[root@localhost aaa]# vim index.html

this is 133 aaa web

[root@localhost aaa]# cd ../aaa02

[root@localhost aaa02]# vim index.html

this is 139 aaa02 web

(4)进入httpd主配置文件,进行端口的添加与注释。然后重启httpd服务。

[root@localhost aaa02]# vim /etc/httpd/conf/httpd.conf

Listen 192.168.52.133:80

Listen 192.168.52.139:80

#Listen 192.168.52.133:8080

#Listen 80

[root@localhost aaa02]# systemctl restart httpd

[root@localhost aaa02]#

(5)用win10主机去访问两个不同IP地址的站点,访问成功。但是只能用IP地址访问,一般情况访问网站用的是域名,接下来我们进行域名访问不同IP地址站点的配置。

(6)首先在配置文件“vhost.conf”中添加,域名“ServerName”。

[root@localhost aaa02]# vim /etc/httpd/conf/extra/vhost.conf

DocumentRoot "/var/www/html/aaa/"

ServerName www.aaa.com

ErrorLog "logs/www.aaa.com.error_log"

CustomLog "logs/www.aaa.com.access_log" common

Require all granted

DocumentRoot "/var/www/html/aaa02/"

ServerName www.aaa02.com

ErrorLog "logs/www.aaa02.com.error_log"

CustomLog "logs/www.aaa02.com.access_log" common

Require all granted

(7)进入named服务的区域配置文件中,添加一个“aaa02”的区域信息。

[root@localhost aaa02]# vim /etc/named.rfc1912.zones

zone "aaa.com" IN {

type master;

file "aaa.com.zone";

allow-update { none; };

};

zone "aaa02.com" IN {

type master;

file "aaa02.com.zone";

allow-update { none; };

};

(8)进入“/var/named/”目录,保留权限复制一份“aaa.com.zone”文件,命名为“aaa02.com.zone”,同时对其进行如下修改:

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

[root@localhost named]# ls

aaa.com.zone data named.ca named.localhost slaves

bbb.com.zone dynamic named.empty named.loopback

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

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

$TTL 1D

@ IN SOA @ rname.invalid. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS @

A 127.0.0.1

www IN A 192.168.52.139

(9)再次用win10主机,通过域名去访问两个不同IP地址的站点,访问成功。

访问权限控制

(1)查看win10主机的IP地址。

(2)在配置文件“vhost.conf”中添加拒绝win10主机访问,“www.aaa.com”域名规则。然后重启服务

[root@localhost ~]# vim /etc/httpd/conf/extra/vhost.conf

DocumentRoot "/var/www/html/aaa/"

ServerName www.aaa.com

ErrorLog "logs/www.aaa.com.error_log"

CustomLog "logs/www.aaa.com.access_log" common

Require not ip 192.168.52.129

Require all granted

DocumentRoot "/var/www/html/aaa02/"

ServerName www.aaa02.com

ErrorLog "logs/www.aaa02.com.error_log"

CustomLog "logs/www.aaa02.com.access_log" common

Require all granted

[root@localhost ~]# systemctl restart httpd

(3)清除win10主机浏览器的历史记录,然后分别访问两个域名。此时“www.aaa.com”域名已经访问不到首页了,只能看到Apache默认的页面。

(4)用“htpasswd”命令创建用户认证数据库,“-c”选项是用来创建文件“passwd”的,如果文件已经存在就不用加。

[root@localhost ~]# cd /etc/httpd/conf

[root@localhost conf]# ls

extra httpd.conf magic

[root@localhost conf]#

[root@localhost conf]# htpasswd -c /etc/httpd/conf/passwd test01

New password:

Re-type new password:

Adding password for user test01

[root@localhost conf]# htpasswd /etc/httpd/conf/passwd test02

New password:

Re-type new password:

Adding password for user test02

[root@localhost conf]# cat passwd

test01:$apr1$72w08g5z$26fEl6Yqym/nPi08lhrYj/

test02:$apr1$1sZRVmZ/$Qs2BrdK/SJoZwRe1sIXUQ/

[root@localhost conf]#

(5)在配置文件“vhost.conf”中,给“www.aaa02.com”域名添加身份验证访问规则,然后重启服务。

[root@localhost conf]# vim extra/vhost.conf

DocumentRoot "/var/www/html/aaa/"

ServerName www.aaa.com

ErrorLog "logs/www.aaa.com.error_log"

CustomLog "logs/www.aaa.com.access_log" common

Require not ip 192.168.52.129

Require all granted

DocumentRoot "/var/www/html/aaa02/"

ServerName www.aaa02.com

ErrorLog "logs/www.aaa02.com.error_log"

CustomLog "logs/www.aaa02.com.access_log" common

AuthName "DocumentRoot"

AuthType Basic

AuthUserFile /etc/httpd/conf/passwd

Require valid-user

[root@localhost conf]# systemctl restart httpd

[root@localhost conf]#

(6)清除win10主机的浏览器缓存,然后再次访问“www.aaa02.com”域名,结果弹出身份验证。输入用户和密码后访问成功。

虚拟服务器 端口管理,Apache服务配置虚拟主机(基于域名、端口、IP地址)与简单访问权限管理...相关推荐

  1. 光猫虚拟服务器无法使用,光猫怎么配置虚拟服务器

    光猫怎么配置虚拟服务器 内容精选 换一换 ECS的网卡绑定虚拟IP地址后,该虚拟IP地址无法ping通.以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问 ...

  2. 华为路ws5200设置虚拟服务器,华为路由WS5200怎么配置DMZ主机

    华为路由WS5200配置了DMZ主机并且启用之后,用户可以在这台计算机上搭建企业 Web 服务器.FTP 服务器和论坛等,从因特网通过访问路由器的 IP,即可访问您搭建的服务器.这样在实现对因特网提供 ...

  3. apache服务构建虚拟web主机

    apache服务构建虚拟web主机 一.虚拟web主机的类型 1.虚拟 Web 主机介绍 2.apache服务支持的三种虚拟web主机类型 2.1.基于域名的类型 2.2.基于IP地址的类型 2.3. ...

  4. 邮件服务配置(虚拟域虚拟用户)

    邮件服务配置(虚拟域&虚拟用户) 本文首发:https://www.somata.net/2019/virtual_mail_server_config_with_mariadb.html 现 ...

  5. 虚拟Web主机(基于域名配置,基于ip地址,基于端口)

    文章目录 虚拟Web主机 httpd支持的虚拟主机类型 基于域名的虚拟主机 基于IP地址的虚拟主机 基于端口的蓄力主机 基于域名的虚拟主机 修改DNS主配置文件 设置区域配置文件 添加区域数据配置文件 ...

  6. Apache配置虚拟主机----基于域名的虚拟主机技术

    Apache配置虚拟主机(基于域名的虚拟主机技术) 1.关闭防火墙 systemctl disable firewalld selinux 0 2.修改一下主配置文件 vi /usr/local/ap ...

  7. 搭建虚拟Web主机(基于域名、IP、端口)

    文章目录 一.Apache概述 1.Apache起源 2.Apache特点 3.版本差异 4.编译安装优点 5.Apache依赖软件包 6.Apache配置选项: 7.Apache主要子目录的用途 二 ...

  8. 构建虚拟web主机(基于域名,IP,端口)

    文章目录 构建虚拟 web主机简介 1.基于域名 2.基于IP 3.基于端口 构建虚拟 web主机简介 虚拟 Web 主机指的是在同一台服务器中运行多个 Web 站点,其中的每一个站点实际上并不独立占 ...

  9. python自助电影售票机_Spring Cloud版——电影售票系统六使用 Spring Cloud Config 统一管理微服务配置...

    一. 为什么要统一管理微服务配置 在传统的单体应用,常使用配置文件管理所有配置.比如,一个 Spring Boot 开发的单体应用,可将配置内容放在 application.yml 文件中.如果需要切 ...

最新文章

  1. 《JavaScript忍者秘籍》——导读
  2. sql挂起小工具cleanup_SQL注入的攻防策略
  3. 四十八、第二份国外的Python考试(下篇)
  4. openstack swift memcached
  5. mac osx linux,Linux 、Mac OSX 常见问题 及 笔记
  6. leetcode 106. Construct Binary Tree from Inorder and Postorder Traversal | 106. 从中序后序遍历序列构造二叉树(Java)
  7. webpack开发Vue配置
  8. C++ 预处理与宏相关编程(#,##等等)
  9. html调用xfplugin,使用多设备执行脚本的时候,html report功能无法正常使用
  10. 静默错误:Oracle 数据库是如何应对和处理的 ?
  11. html简单弹窗代码_真的!!!两行css代码实现瀑布流,html,css最简单的瀑布流实现方式且没有缺点!...
  12. 局域网通讯工具_五大核心开启工业通讯创新之门——西门子工业网络专家计划打造最强行业生态...
  13. jquery排他思想
  14. 计算机老掉线 路由器网络,路由器无线掉线怎么办?
  15. 「网络流 24 题」火星探险问题。
  16. excel表格打印每页都有表头_Excel打印时怎么让每一页都包括表头?
  17. ebs知识点100题
  18. 聊聊hikari连接池的isAllowPoolSuspension
  19. 基于Hi3516DV300的嵌入式入门演练(上)
  20. android App 集成 facebook 第三方认证登录

热门文章

  1. ElasticSearch 索引、更新和删除数据
  2. Elasticsearch生态技术峰会 | 阿里云Elasticsearch云原生内核
  3. 深源恒际医疗票据OCR落地九省市 服务范围覆盖过半市场
  4. 认识Java异步编程
  5. 阿里工程师太凶残了,竟把服务器泡在“水里”!
  6. AI时代,你的职业会是?99%的人都无法直面!
  7. 万万没想到,JVM内存结构的面试题可以问的这么难?
  8. 【译】用SQL统一所有:一种有效的、语法惯用的流和表管理方法
  9. 青年PM倪超:想让程序员多一点点幸福感
  10. Colima:MacOS 上的极简容器运行时和 Kubernetes