第五周
Apache管理 ——认证网站
任务1: 创建基于端口的虚拟主机
配置DNS(可用HOSTS文件模拟)
- 设置www.11-hcz.cn指向服务器IP
- 创建测试页
mkdir /wwwroot/private -p
echo "<h1>private</h1>" > /wwwroot/private/index.html
- 创建基于端口的虚拟主机
yum install httpd -y // 如果没有安装httpd,利用yum仓库安装 vim /etc/httpd/conf.d/vhost.conf // 创建并配置虚拟主机配置文件
文件内容
Listen 82 // 设定监听端口
<VirtualHost *:82> // 配置基于82端口的虚拟主机
ServerName www.11-hcz.cn
DocumentRoot /wwwroot/private
</VirtualHost>
<Directory "/wwwroot/private"> // 配置目录访问权限
AllowOverride None
Require all granted // 授予所有人可以访问
</Directory>
任务2:对虚拟主机配置身份认证实施步骤
- 修改httpd.conf
vi /etc/httpd/conf.d/vhost.conf
<Directory "/wwwroot/private">
AllowOverride AuthConfig
Require valid-user
</Directory>
- 创建.htaccess
vi /wwwroot/private/.htaccess
AuthName "test"
AuthType Basic
AuthUserFile /wwwroot/private/.htpasswd
- 创建授权用户
htpasswd -c /wwwroot/private/.htpasswd user01
SELinux配置
不推荐方法:
chcon -R -t httpd_sys_content_t /wwwroot/private
(发生SELinux策略重置时失效)
例如修改selinux状态,或者执行恢复selinux标签的命令时restorecon
restorecon -Rv /wwwroot
(演示失效情况)
推荐方法:
安装semanage工具
yum provides semanage
yum install policycoreutils-python-2.5-22.el7.x86_64
更改SELinux文件标签
semanage fcontext -a -t httpd_sys_content_t '/wwwroot(/.*)?'
restorecon -Rv /wwwroot/
添加SELinux放行端口
semanage port -l | grep http
semanage port -a -t http_port_t -p tcp 82
semanage port -l | grep http