Linux之(Apache服务):虚拟主机的建立及其访问控制

一.虚拟主机的概念

如果有俩个不同域名的网站,但是只有一台服务器,这时候就需要利用nginx或者apache可以帮助用一台机器来模拟多台机器最为服务器提供服务。

虚拟主机:就是把一台物理服务器划分成多个“虚拟“的服务器,每一个虚拟主机都可以有独立的域名和独立的目录,

二.Apache虚拟主机

添加虚拟解析可以访问不同的页面
1.实验环境的搭建
在有浏览器的一端的真机上

 vim /etc/hosts 
 添加要浏览的信息:
172.25.254.202   www.westos.com  news.westos.com  music.westos.com

在这里插入图片描述
在这里插入图片描述
2.在虚拟机上建立虚拟解析

  • 建立虚拟解析目录
mkdir /var/www/virtual/westos.com/music -p
mkdir /var/www/virtual/westos.com/news -p    ##建立所添加的要访问的域名的专属目录

在这里插入图片描述
注意:要建在/var/www下,保持其安全上下文一致
在这里插入图片描述

  • 编辑访问该网页时的目录中的文件
vim  /var/www/virtual/westos.com/music/index.html
vim  /var/www/virtual/westos.com/new/index.html

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 在httpd服务的子目录下编辑虚拟配置文件
cd /etc/httpd/conf.d     ##在子配置目录下编辑文件
vim adefault.conf   ##编辑默认发布目录的文件,有访问顺序,不能为a_default

在这里插入图片描述
文件编辑内容:
在这里插入图片描述
编辑访问news.westos.com网页时的设置

vim news.conf    ##编辑所添加的目录的内容设置为其如果访问添加网页时的次目录设置
<VirtualHost *:80>
      ServerName  "news.westos.com"    ##访问的域
      DocumentRoot "/var/www/virtual/westos.com/news"  ##访问的次目录为自己刚刚建立的目录
     CustomLog   logs/news.log combined    ##产生的日志存放的地点,为相对路径,因为在主配置文件中它有默认产生的日志的目录为/etc/httpd
</VirtualHost>
<Directory  "/var/www/virtual/westos.com/news">
      Require all granted     //允许所有人使用
</Directory>

文件内容为:
在这里插入图片描述
编辑访问music.westos.com网页时的设置

cp news.conf music.conf    //复制摸版
vim music.conf

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
验证如下:
http://www.westos.com/ ##浏览的是默认发布目录下的内容
在这里插入图片描述
http://news.westos.com/ ##浏览的是该目录下的内容
在这里插入图片描述
http://music.westos.com/ ##浏览的是music目录下的内容
在这里插入图片描述

三.访问控制

1.针对主机的访问控制

mkdir /var/www/html/admin    ##建立一个新目录
vim /var/www/html/admin/index.html   ##编辑该目录下的默认访问文件
vim adefault.conf    ##编辑子配置文件,添加相应允许信息

在这里插入图片描述
文件编辑内容:
在这里插入图片描述
vim adefault.conf
在这里插入图片描述
解释:
在这里插入图片描述建立允许和拒绝,是有顺序的,表示先是读取deny拒绝所有人再只允许172.25.77.250
在这里插入图片描述
验证如下:
真机登陆可以登陆
在这里插入图片描述
vim adefault.conf //编辑文件,修改顺序
在这里插入图片描述
在这里插入图片描述
表示拒绝所有人登录
验证如下:发现真机的浏览器登录不了
在这里插入图片描述
2.用户方式的访问控制
首先要将上一步的访问控制文件编写内容还原,以保证实验的正确率

  • 生成加密用户
htpasswd -cm /etc/httpd/htuser admin   ##建立登陆方式的加密登陆
htpasswd -m /etc/httpd/htuser admin1   ##添加新的登陆用户,改用户为虚拟用户实际是一个文件

在这里插入图片描述
注意:第二次加密的时候直接-m不加c如果加了c会覆盖掉之前的加密字符,即俩次建立的密码相同
在这里插入图片描述

扫描二维码关注公众号,回复: 5274456 查看本文章
  • 编辑相应的配置文件建立联系
[root@dns conf.d]# vim adefault.conf 
[root@dns conf.d]# systemctl restart httpd
文件编辑内容为:
<Directory "/var/www/html/admin">   ##建立目录加密访问权限
         AuthUserFile  "/etc/httpd/htuser"   ##密码所在路径
         AuthName      "Please input username and password"   ##认证方式
         AuthType       Basic
         Require user   admin        ##允许通过加密方式认证的指定的用户
         Require        valid-user   ##允许加密方式的所有用户登陆
</Directory>

在这里插入图片描述
在这里插入图片描述
表示只允许admin用户通过加密认证

验证如下:
在真机端:
http://172.25.77.102/admin/ ##会弹出输入用户名和密码界面,如果输入admin及其密码则可登陆进去,但如果输入admin1及其密码则登陆不进去

  • 用admin登陆的时候

在这里插入图片描述
在这里插入图片描述

  • 用admin1登陆的时候
    在这里插入图片描述
    在这里插入图片描述
    发现登录不进去
[root@dns conf.d]# vim adefault.conf 
[root@dns conf.d]# systemctl restart httpd 

编辑如下:
在这里插入图片描述
表示加密用户都通过认证
用admin1登陆的时候
在这里插入图片描述
在这里插入图片描述
发现admin1也能登录

猜你喜欢

转载自blog.csdn.net/weixin_44224288/article/details/87863311