ApacheでBASIC認証によるアクセス制御


[ アクセス制御の条件 ]

・Apache2.4上で特定WEBページにアクセス制限

・BASIC認証方式を利用

・OS登録ユーザーアカウントで認証

・SSL使用

EPELリポジトリの設定が必要


①EPELからHTTPDモジュール「mod_authnz」を追加

# yum --enablerepo=epel -y install mod_authnz_external pwauth

②アクセス制御するディレクトリを作成 ※仮に「staff」とする。

ディレクトの所有者および所有グループを「apache」に変更。

# mkdir /var/www/html/staff 
# chown apache:apache /var/www/html/staff

③「mod_authnz」の設定を変更

# vi /etc/httpd/conf.d/authnz_external.conf 

#最終行に以下追加 
<Directory "/var/www/html/staff">
    SSLRequireSSL
      AuthType Basic
      AuthName "Staff contents"
    AuthBasicProvider external
    AuthExternal pwauth
    require valid-user
</Directory>

④TESTページを作成

# vi /var/www/html/staff/index.html 

#以下のようなテストページを作成 
<!DOCTYPE html> 
<html lang="ja"> 
<head> 
   <meta charset="utf-8"> 
   <title>TESTページのタイトル</title> 
</head> 
<body> 
   TESTページ 
</body> 
</html>

⑤WEBサーバを再起動

# systemctl restart httpd

⑥ ブラウザからSSL接続

https://サーバアドレス/staff/index.html

ユーザー名+パスワードでログイン。

⑥で作成したWEBページが表示されば設定完了