Contents
Basic認証の設定
Basic認証とはHTTP認証のうちの一つで、アプリケーションにログインの仕組みがなくても認証の機能を実装できる。
但しBasic認証は盗聴や改ざんに弱いので、ユーザーIDおよびパスワードを暗号化して通信するDigest認証をお勧めする。
確認
モジュールが有効になっているか確認する。
1 2 | httpd -M | grep auth_basic_module auth_basic_module (shared) |
もし表示されなかったらLoadModuleディレクティブを確認し、#でコメントアウトされていたら#を削除して有効にし再起動する。
1 | grep auth_basic_module /etc/httpd/conf/httpd.conf |
1 | LoadModule auth_basic_module modules/mod_auth_basic.so |
1 | service httpd restart |
認証情報の作成
htpasswdコマンドでパスワードファイルを作成する。
※ドキュメントルート配下以外に作成した方が安全。通常は.htpasswdなどドットで始まるファイル名にする。ユーザが直接開こうとしても”.ht”で始まるファイルは読まない設定になっている事が多いため。
1 2 3 | htpasswd -c パスワードファイル ユーザー名 ex) htpasswd -c /usr/local/pass/basic/.htpasswd tarou |
初回のみ-cを付ける。すでにパスワードファイルが存在する状態で-cを付けて実行すると、登録されているデータが初期化されてしまう。
作成されたパスワードファイルを見てみると
ユーザー名:パスワード情報
といったデータが確認できる。
Apacheの設定
1 2 3 4 5 | <Directory "認証をかけるディレクトリ"> AuthType Basic AuthName "レルム" AuthUserFile htpasswdコマンドで作成したパスワードファイルのパス Require valid-user |
記述が正しいか確認
1 2 | apachectl configtest Syntax OK |
apache再起動
1 | service httpd restart |