第五周

Apache管理 ——认证网站

任务1: 创建基于端口的虚拟主机

  1. 配置DNS(可用HOSTS文件模拟)

    • 设置www.11-hcz.cn指向服务器IP
  2. 创建测试页
    1. mkdir /wwwroot/private -p
    2. echo "<h1>private</h1>" > /wwwroot/private/index.html
  1. 创建基于端口的虚拟主机
    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:对虚拟主机配置身份认证实施步骤

  1. 修改httpd.conf
    vi /etc/httpd/conf.d/vhost.conf
<Directory "/wwwroot/private">
   AllowOverride AuthConfig
   Require valid-user
</Directory>
  1. 创建.htaccess
    vi /wwwroot/private/.htaccess
AuthName "test"
AuthType Basic
AuthUserFile /wwwroot/private/.htpasswd
  1. 创建授权用户
    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