Apache 資料一覧
ベーシック認証の設定
2008/6/18更新
対応バージョン: 2.2.9
以下の手順にて設定する。
ユーザ認証用データベース作成
まずhtpasswdを使用してユーザ認証用のデータベースを作成する。
ここではユーザfooについてパスワードデータベースを作成する。
-cオプションは新規にデータベースを作成する指定である。
パスワードデータベースはhttpd.confのServerRootで指定したディレクトリに作成する。
% sudo /usr/local/apache2/bin/htpasswd -c /usr/local/apache2/.htpasswd foo New password: Re-type new password: Adding password for user foo
.htaccess設置
次にユーザ認証を行いたいファイルのあるディレクトリに.htaccessを置く。内容は以下のようにする。
AuthUserFile
ユーザ認証ファイルをフルパスで指定する。
AuthUserFile /usr/local/apache2/.htpasswd
AuthGroupFile
グループ単位での認証ファイルを指定する。認証ファイルがない、あるいは不必要な場合は/dev/nullを指定する。
AuthGroupFile /dev/null
AuthName
認証時に表示されるダイアログの文字列を指定する。
AuthName "Require UserAuthentication: "
AuthType
認証方法。ベーシック認証なら「Basic」、ダイジェスト認証なら「Digest」を指定するが事実上ダイジェスト認証をサポートしているWebブラウザが存在しないので通常は「Basic」を指定する。
AuthType Basic
Limit
リクエストの種類(GET、POST等)毎にアクセス制限などを記述する。
<Limit GET> : require valid-user foo bar com... ← (1) : </Limit>
(1) この制限でアクセスを許可するユーザやグループを指定する。ユーザやグループを個別に指定する場合はスペースで区切って複数指定可能。パスワードファイルに含まれる全てのユーザに許可を与える場合はユーザ/グループは不要。
確認
最後に.htaccessを置いたファイルにアクセスしてみてユーザ認証用のダイアログが表示されユーザ認証が成功すればOKである。
関連資料・記事