自宅ウェブサーバ(Apache 2.2)に認証機能を付けてみようと思い立つ。友人のみ公開のページを作ったりとかとか、まー使い方は色々考えられます。
認証方法について Google 先生に聞いてみると、Basic 認証とDigest 認証の 2 種類の認証方法があるそうな。- Basic 認証:一般的に良く使われているがパスワードが暗号化されていない。
- Digest 認証:パスワードは暗号化されているが、比較的新しいブラウザにしか対応していない。
<directory ""/var/www/private"">
AuthType Digest
AuthName ""private""
AuthDigestDomain /private/
AuthUserFile /etc/apache2/passwd/.digest_private.passwd
Require user 認証ユーザ名
</directory>
等と書き込む。次に、/etc/apache2/passwd/.digest_private.passwd を作成する。
# htdigest -c /etc/apache2/passwd/.digest_private.passwd ""realm"" 認証ユーザ名
初めてファイルを作成する場合は、htpasswd コマンドに -c オプションが必要だそうです。
以上で基本的な設定は終了したので、最後の仕上げです。Apache に必要なモジュールを組み込んだりします。
# a2enmod auth_digest
# a2ensite private
で、最後に設定の Reload をします。
# /etc/init.d/apache2 force-reload
コメント