Apache2設定
useridirとDigest認証を使ってみようと思いました。apache2.confをあまり触らず、site-enable以下のサイト設定をいじるのがどうも良い雰囲気なのでそうすることにしました。
$ sudo cp /etc/apache2/site-available/default /etc/apache2/site-available/test $ sudo a2dissite default $ sudo a2ensite test
デフォルトの設定ファイルをtestという名前でコピーして、defaultファイルを起動しないようにして、testファイルを起動するように設定。
$ sudo a2enmod userdir
これでuserdir.loadとuserdir.confがmods-availableからmods-enableにシンボリックリンクされます。userdir.confの設定を変えないままだと、ホームディレクトリの下のpublic_html以下を使用できるようになります。
$ sudo a2enmod auth_digest $ sudo htdigest -c /etc/apache2/.digestpass "secret" username $ sudo htdigest /etc/apache2/.digestpass "secret" username2
auth_digestモジュールをリンク後、ダイジェスト認証用のパスワードファイルを作成。ここの"secret"というのはrealmと呼ばれるもので、とりあえずは後に設定するAuthNameと合わせる必要があります。
$ sudo vi /etc/apache2/.group GroupName: username username2
グループファイルを作成し、登録しやすくする
$ sudo vi /etc/apache2/site-available/test AuthType Digest AuthName "secret" AuthUserFile /etc/apache2/.digestpass AuthGroupFile /etc/apache2/.group Require group GroupName BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
以前はAuthUserFileの部分は、AuthDigestFileと書く必要があったそうですが、現在はAuthUserFileで動く模様です。最後のBrowserMatchの部分はIE7より前だとURLによってはうまくDigest認証ができなかったIEのバグを回避するためのものです。