Digest認証によるアクセス制御

ユーザファイルの生成

SSH でサーバにログインして、次のコマンドを実行します。パスワードの入力を求められるので入力するとユーザファイルが生成されます。

はじめてユーザを作成する時
% htdigest -c /home/username/.htdigest "Members Only" user
New password:
Re-type new password:
2人目以降のユーザを追加する時
% htdigest /home/username/.htdigest "Members Only" user2
New password:
Re-type new password:
htdigest
Digest認証のユーザを作成しパスワードを設定するコマンドです。
-c
ユーザファイルを新規作成するオプションです。2人目以降のユーザを設定する時は使用しません。
/home/username/.htdigest
ユーザファイルの絶対パスです。public_html ディレクトリの外に置くことをおすすめします。ファイル名はなんでも構いませんが .ht で始まる名前にすることをおすすめします。当サービスでは .ht で始まるファイルはウェブブラウザで表示できないよう設定しています。
“Members Only”
認証領域の名前です。任意の文字列を設定してください。.htaccess ファイルの AuthName ディレクティブに設定する値と同じにします。
user | user2
作成するユーザ名です。このユーザ名とパスワードで認証します。

.htaccess ファイルの設定

Digest認証を有効にするために .htaccess ファイルに次のように記述してサーバに設置します。

AuthType Digest
AuthName "Members Only"
AuthUserFile /home/username/.htdigest
Require valid-user
 
AuthType
認証の種類を指定します。Digest認証ならば Digest です。
AuthName
認証領域に任意の名前をつけます。
AuthUserFile
ユーザファイルの絶対パスです。
Require
どのユーザにアクセスを許可するかを設定します。valid-user は認証されたユーザを表します。