Linux中基于虚拟目录、用户控制搭建web服务器

一、虚拟目录:

1、目的:

(1)在一台web服务器中,通过访问虚拟目录就可以很方便的访问到其它路径下的目录,便于我们的管理和访问。
(2)实现服务器磁盘空间的扩展:虚拟目录可以与原有网站不在同一个文件夹,不在同一个磁盘,甚至不在一台计算机上,但是用户在访问网站时,却感觉不到任何的区别。

2、好处:

通过虚拟目录就可以让多个公司的网站共用在同一台服务器上,但用户在访问的时候却丝毫没有察觉,完全不影响用户的体验。这样就可以让多家公司联合租用一台web服务器,却又不互相影响,成本较低。

3、原理:

web服务器上的每个web站点必须设置有不同的标识信息
web浏览器发出的连接和请求信息中包含web站点的标识信息
web站点的标识信息:IP地址、端口号、主机名

二、用户控制

一般用户在访问web服务器的时候会使用用户名、密码进行登陆,这样可以禁止非法的用户访问。

三、基于用户控制搭建web服务器

1、准备工作:

(1)挂载镜像文件: mount /dev/sr0 /mnt
(2)配置yum:
在这里插入图片描述
(3)关闭防火墙: systemctl stop firewalld.service
(4)关闭SELinux: setenforce 0
(5)安装httpd: yum install httpd -y

2、添加可以访问的用户:

使用 htpasswd 去添加指定用户可以访问web服务器
在这里插入图片描述

命令注释
-c表示创建,第一次创建用户的时候需要加-c;第二次不用,如果加的话,相当于对之前的内容覆盖。
/etc/httpd/存放信息的位置:由于创建的用户与http服务器有关,因此建议将文件添加到该目录下。
userfile用于存放用户的文件的用户名与密码信息。
A用户名

同理我们用相同的命令不加-c创建第二个用户B、C

2、创建验证目录:

mkdir /usercontrol
echo 成功实现用户控制 > /usercontrol/index.html

3、定义子配置文件:

使用命令: vim /etc/httpd/conf.d/vhosts.conf

<Directory />
        AllowOverride none
        Require all granted
</Directory>
<Directory /usercontrol>
        AuthType Basic
        AuthName "Please enter your username:"
        AuthUserFile /etc/httpd/userfile
        Require user A B
</Directory>
<VirtualHost 192.168.112.132>
        ServerName 192.168.112.132
        DocumentRoot /usercontrol
        ErrorLog /var/log/httpd/dummy-host2.example.com-error_log
        Customlog /var/log/httpd/dummy-host2.example.com-access_log common
</VirtualHost>
配置注释
AuthType Basic基本认证类型(账号)
AuthName “Please enter your username:”提示信息,双引号必须有,可以更换为其它提示信息
AuthUserFile /etc/httpd/userfile用户认证文件的用户名和密码指定的文件所在位置
Require user A B指定A、B用户可以访问该服务器

配置完成之后,重启服务: systemctl restart httpd.service

4、登陆浏览器验证:

当输入IP地址完成之后回车就会立即弹出提示界面,输入用户名、密码,最好不要点记住我的凭据,之后确定。
在这里插入图片描述
会出现以下界面,即证实基于用户控制搭建的服务器成功。
在这里插入图片描述

四、增添虚拟目录

第三步的基于用户控制的web服务器就搭建好了,但通常用户控制与虚拟目录会联合起来用的。一般点开一个网页会显示该网站的首页,基于不同的用户为其增添属于其自己的操作界面此时就用到了虚拟目录。在第二步的基础上:

1、创建目录与静态网页:

在usercontrol目录下创建一个secret目录,并写入静态网页。这一步为第2步做准备。

mkdir /usercontrol/secret
echo you get secret! > /usercontrol/secret/index.html

2、修改子配置文件:

(1)使用命令: vim /etc/httpd/conf.d/vhosts.conf ,配置如下,黄色线条表示修改与新加的部分;其中:
Alias /secret /usercontrol/secret 表示在输入浏览器访问的IP或域名后加上/secret,那么会自动访问到/usercontrol/secret路径下的文件。由于本次实验没有添加DNS,因此我们需要在IP后加。
在这里插入图片描述
(2)保存之后: systemctl restart httpd.service 重启服务。

3、访问虚拟目录:

(1)首先访问服务器首页,正常。
在这里插入图片描述
(2)然后在IP地址后加上/secret后访问:
在这里插入图片描述
(3)成功访问到指定目录:
在这里插入图片描述

Logo

更多推荐