web服务器学习2---httpd-2.4.29虚拟目录及访问控制
一 创建虚拟目录
环境准备:
系统:CentOS 7.4
软件:httpd-2.4.29
1.编辑主配置文件,添加命令运行子配置文件
vi /usr/local/httpd/conf/httpd.conf
Include conf/conf.d/*.conf
2.创建虚拟目录配置文件
vi /usr/local/httpd/conf/conf.d/vdir.conf
Alias /doc/ "/usr/share/doc/" //设置客户访问的目录/doc/
<Directory "/usr/share/doc">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted //httpd新版本需求
</Directory>
3.重启httpd服务
systemctl restart htttpd
二 设置访问控制
1.客户机地址限制
- allow,deny: 先允许,后拒绝。默认拒绝所有客户机地址;类似白名单
- deny,allow: 先拒绝,再允许。默认允许所有;类似黑名单
2.用户授权限制
(1).创建用户认证数据文件
htpasswd -c /usr/local/httpd/user test //-c用来创建用户数据文件,
htpasswd /usr/local/httpd/user jack //当数据文件存在后,就不需要再次创建
cat /usr/local/httpd/user //用户名为明文,密码加密
(2). 添加用户授权配置
新建一个子配置文件,主配置文件要添加Include语句
vi valid-user.conf
Alias /share/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
AuthName "Wellcom!!" //定义保护的领域名称
AuthType Basic //设置认证的类型,basic表示基本认证
AuthUserFile /usr/local/httpd/user //只有认证文件中的用户才能访问
require valid-user //只有认证文件中的合法用户才能访问
#Require all granted
</Directory>
systemctl restart httpd
实验截图:
访问 http://192.168.80.180/share/
输入用户名和密码