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である。

関連資料・記事