目標
ApacheのルートディレクトリでBasic認証を行う
つまづいたポイント
httpd.confの<Directory "/var/www/html"></Directory>
に下記記述を追加しても、Basic認証が行われなかった。
1 2 3 4 |
AuthType Basic AuthName "test user" AuthUserfile /etc/httpd/htpasswd Require valid-user |
解決方法
Apacheインストール後初めからhttpd.confの<Directory "/var/www/html"></Directory>
内に、Require all granted
が記述されていました。
Require all granted
だと全アクセス許可となるので、Basic認証を行わずWEBページが表示されてしまいます。
Require all granted
をRequire valid-user
に変更する事で、Basic認証を通ったユーザーのみアクセス許可となり解決しました。
1.Basic認証
1.ユーザ作成
-c
をつける事で新規パスワードファイルを作成します。
1 |
htpasswd -c /etc/httpd/htpasswd test1 |
2.vi /etc/httpd/conf/httpd.conf
で設定ファイルに下記記述を追加する。
1 2 3 4 5 6 |
# Basic認証を指定 AuthType Basic # 認証領域を指定 AuthName "test user" # パスワードファイルを指定 AuthUserfile /etc/httpd/htpasswd |
この時点ではRequire all granted
となっている為、Basic認証が行われません。
3.vi /etc/httpd/conf/httpd.conf
で設定ファイルの下記記述を変更する。
1 2 3 |
Require all granted ↓ Require valid-user |
4.Apache再起動
1 |
systemctl restart httpd |
まとめ
今回はBasic認証のハンズオンについて書かさせていただきました。
初歩的なつまづきでしたが、初学者の方達の参考にしてもらえればと思います。
Basic認証は簡単にアクセス制限をかける事が可能です。
しかしセキュリティレベルが高いとは言えませんので、ご使用の際はお気をつけください。
最後までご覧いただきまして、誠に有難うございました。