ベーシック認証を設定するには、.passwds
というファイルにログイン情報(ユーザー名・パスワード)を設定します。
また、ファイルへの書き込みはhtpasswd
というコマンドで行います。
必要な手順は、httpd.conf
ファイルの編集と、.htpasswd
ファイルの作成です。
例えば、/var/www/html
にドキュメントルートが設定されている場合、
http://ホスト名/basic
のURLにアクセスした場合にベーシック認証を設定するには、
httpd.conf
に以下のような設定を追記します。
vim /etc/httpd/conf/httpd.conf
<Directory /var/www/html/basic>
AuthType Basic
AuthName "Restricted Pages"
AuthUserFile "/etc/httpd/.passwds"
Require user junpeko takuya
</Directory>
AuthType
ディレクティブにはBasic
と設定します。
Require
ディレクティブにユーザー名を指定していますが、
また、valid-user
と設定すると、登録ユーザーすべてにアクセスを許可できます。
設定を反映させるため再起動しましょう。
apachectl restart
.passwds
の作成・追加AuthUserFile
に設定したパスに.passwds
ファイルを作成します。
htpasswd -c /etc/httpd/.passwds junpeko
-c
は新規ファイル作成のオプションのため、 追加する場合は-c
オプションは不要です。
htpasswd /etc/httpd/.passwds takuya
http://ホスト名/basic
のURLにアクセスすると、
ユーザー名とパスワードを入力する認証ダイアログが表示されます。
ユーザー名・パスワードを正しく入力するとログインできます。
ログアウトという機能はベーシック認証にはありません。
ブラウザのログイン情報を消去するか、ブラウザを終了させると、
再アクセスした際に認証ダイアログが再表示されます。
先程はRequire
ディレクティブに user
を指定していましたが、
group
を指定することも可能です。
<Directory /var/www/html/basic>
AuthType Basic
AuthName "Restricted Pages"
AuthUserFile "/etc/httpd/.passwds"
AuthGroupFile "/etc/httpd/.groups"
Require group admin
</Directory>
Require user junpeko takuya
を削除し、
Require group admin
と
AuthGroupFile "/etc/httpd/.groups"
を追加しています。
また、AuthGroupFile
で指定したパスにファイルを.group
という名前でファイルを作成します。
vim /etc/httpd/.groups
admin: junpeko takuya