いまさらのDIGEST認証

とりあえず Apache が動いていることは確認しておく。

htdigest -c /media/D/.htdigest 'DigestAuthArea' AuthUser

のようなカンジでAuthUserの .htdigest ファイルを作成する。
「-c」はファイル作成の意味なので2人目以降は要らないです。
このファイルは、外から見れるディレクトリには置かない方が吉。だけど、rootしか見れないようなところに置くと、Apacheも読み込めなくなって起動できなくなるので注意。
「’DigestAuthArea’」は、認証時に出てくるタイトル部分?だと思う。
「AuthUser」は実際に入力するユーザー名なのでなんでも良し。

入力すると次のように聞いてくるので、Password を2回タイプする。

New password:
Re-type new password:

.htdigest ファイルが出来上がったら apache の conf ファイルをいじる。
認証をかけたいディレクトリに以下の記述をプラス。

AuthType Digest
AuthName "DigestAuthArea"
AuthDigestDomain /digest/
AuthUserFile /media/D/.htdigest
Require user AuthUser

「AuthName」は、上の.htdigestファイルを作成した時の認証時に出てくるタイトル部分?と同じものを。
「AuthDigestDomain」は、認証をかけたいディレクトリを指定。
実際には「<Directory /var/www/html/digest>」と書いているので、同じディレクトリ名を指定すればOK?
「AuthUserFile」は、上の.htdigestファイルを作成した場所。
「Require user」も、上の.htdigestファイルで書いたユーザー名。

ここまでできたら Apache を再起動。

service apache2 restart

で、いけるはず。

Invalid command 'AuthDigestFile', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!

みたいに、AuthDigestFile なんてコマンド知らないって言われたら、mods-enabled ディレクトリで auth-digest.load が読み込まれているか確認する。
読み込まれていなかったら、mods-available ディレクトリにある auth-digest.load のリンクを mods-enabled ディレクトリに作成して Apache を起動しなおす。