ApacheのBASIC認証

あまりにも定番過ぎてどこにも書いてなかったw 健忘録としてカキコ。

下記はディレクトリ/usr/local/apache/htdocs/test2に
testuserで認証する場合の記述です。
AuthUserFileはパスワードファイルの設置場所
AuthNameは認証ダイアログに記述するメッセージです。

#httpd.conf内で設定する場合の記述
<directory “=”” usr=”” local=”” apache=”” htdocs=”” test2″=””>
AuthType Basic
AuthName “Please enter username and password”
AuthUserFile /usr/local/apache/conf/.htpasswd
Require user testuser

#対象ディレクトリに.htaccessを作成する場合の記述
AuthType Basic
AuthName “Please enter username and password”
AuthUserFile /usr/local/apache/conf/.htpasswd
Require user testuser

ユーザを指定せずにパスワードファイルに入っているユーザ全てに許可する場合は
Require user testuserの行をRequire valid-userにします。

パスワードファイルの生成方法は
/usr/local/apache/bin/htpasswd -c /usr/local/apache/conf/.htpasswd testuser

というようにします。
-cはcreate(新規作成)なので同じパスワードファイルにユーザを追加する時は
-cオプションを外してください。

.htaccessを使う場合はhttpd.confで利用可能にされているかどうかとディレクトリで設定の上書き可能かのチェックが必要です。