1.7、访问控制、认证授权的综合指令
1.7.1、两种综合情况
1、满足一种条件即可访问
Satisfy any
或者满足访问控制的条件,或者满足认证授权的条件,就可以访问指定页面、目录
2、必须同时满足 2 个条件才能访问
Satisfy all
必须同时满足访问控制和认证授权的条件,才可以访问指定页面、目录
1.7.2、在主文件中配置访问控制和认证授权指令
<Directory /var/www/html/redhat>
Options Indexes
Order allow,deny
Deny from all
Allow from 200.200.200.200
AuthName "rz"
AuthType Basic
AuthUserFile file2
Require valid-user
Satisfy all
</Directory>
1.7.3、生成认证授权文件,同时添加用户
htdigest -c /etc/httpd/认证文件 认证名 用户名
1.7.4、更改认证文件的属主和属组为 apache
chown apache.apache /etc/httpd/file2
1.7.5、重启服务并测试
1.8、分割指令
1、Include 目录/文件名.conf
apache 启动时,同时加载 Include 指令指定的目录下的以.conf 结尾的文件,可以减少 apache 的主配置文 件的容量
2、.htaccess 目录下的隐藏文件
可以减少 apache 服务的启动
1.8.1、include
在主配置文件的第 209 行
Include conf.d/*.conf
在指定目录中生成文件并发布
/etc/httpd/conf.d/
然后测试
1.9、htaccess
1.9.1、在主配置文件中发布目录,添加使用.htaccess 的指令
增加一行
Allowoverride All
1.9.2、在指定目录中生成.htaccess 文件,并添加指令
在发布目录/var/www/html/redhat5 下生成.htaccess 文件
1.9.3、重新启动 apache 服务测试
1.10、虚拟主机
1.10.1、虚拟主机常用命令
1、<VirtualHost>和</VirtualHost>
用于封装一组仅作用于特定虚拟主机的指令。
2、NameVirtualHost
指定一个基于域名的虚拟主机将使用哪个 IP 地址来接受请求。
3、ServerName
设置了服务器用于辨识自己的主机名和端口号。
1.10.2、配置基于端口的虚拟主机
1、编辑主配置文件,添加虚拟主机指令
Listen 1234
Listen 2345
<VirtualHost 200.200.200.1:1234>
DocumentRoot /vdir/1234
</VirtualHost>
<VirtualHost 200.200.200.1:2345>
DocumentRoot /vdir/2345
</VirtualHost>
2、建立虚拟主机的根文档目录,生成测试页
mkdir -p /vdir/1234
mkdir /vdir/2345
echo "这是端口为 1234 的主页!">/vdir/1234/index.html
echo "这是端口为 2345 的主页!">/vdir/2345/index.html
3、重新启动服务并测试
1.11、配置基于 IP 的虚拟主机
1、添加网卡(虚拟网卡或真实网卡)
2、编辑主配置文件,添加虚拟主机指令
<VirtualHost 200.200.200.1>
DocumentRoot /vdir/1
</VirtualHost>
<VirtualHost 200.200.200.2>
DocumentRoot /vdir/2
</VirtualHost>
3、建立虚拟主机的根文档目录,生成测试页
mkdir /vdir/1
mkdir /vdir/2
echo "这是端口为 1 的主页!">/vdir/1/index.html
echo "这是端口为 2 的主页!">/vdir/2/index.html
4、重新启动服务并测试
1.12、配置基于域名的虚拟主机
配置基于域名的虚拟主机必须需要 DNS 的支持
1、配置 DNS
2、在主配置文件中,添加虚拟主机指令
NameVirtualHost 200.200.200.1
<VirtualHost 200.200.200.1>
ServerName www.huayu.com
DocumentRoot /vdir/huayu
</VirtualHost>
<VirtualHost 200.200.200.1>
ServerName www.eduask.com
DocumentRoot /vdir/eduask
</VirtualHost>
<VirtualHost 200.200.200.1>
ServerName www.baidu.com
DocumentRoot /vdir/baidu
</VirtualHost>
3、建立虚拟主机的根文档目录,生成测试页
mkdir /vdir/huayu
mkdir /vdir/eduask
mkdir /vdir/baidu
echo "这是端口为 huayu 的主页!">/vdir/huayu/index.html
echo "这是端口为 eduask 的主页!">/vdir/eduask/index.html
echo "这是端口为 baidu 的主页!">/vdir/baidu/index.html
4、重新启动服务并测试
1.13、配置后台更新-WebDav
1、发布目录
2、在主配置文件中添加认证授权指令同时添加 Dav 指令
<Directory /var/www/html/redhat6>
Options Indexes
Dav on
AuthName "dav"
AuthType Basic
AuthUserFile file3
<LimitExcept GET OPTIONS>
Require valid-user
</LimitExcept>
</Directory>
3、配置认证授权的相关文件
生成认证授权文件,并添加用户
#htpasswd -c /etc/httpd/认证文件 用户名
更改认证授权文件的属主和属组为 apache
#chown apache.apache /etc/httpd/认证文件
4、重启服务测试
5、在服务器端给更新目录添加写的权限
chmod o+w /var/www/html/redhat6