Linux
Tips |
|
lighttpdでユーザー認証を行うには(Basic認証編)
北浦訓行
2006/2/9
|
lighttpd(話題のWebサーバ「lighttpd」を使うには参照)は、Basic認証とDigest認証をサポートしている。Basic認証ではパスワードが暗号化されず、平文のままネットワーク上に流れるため、経路上でパスワードが漏れてしまう可能性がある。Basic認証を使用する際は、SSLによって経路全体を暗号化するなどの対策を併用することをお勧めする(Webサーバ「lighttpd」でSSLを使うには参照)。
最初に、htpasswdコマンドでユーザー(例は「secret」)を作成し、パスワードを設定する。パスワードの設定に必要なパスワードファイルは、ここでは/etc/lighttpdディレクトリにlighttpd.user.htpasswdとして作成している。
# htpasswd -c /etc/lighttpd/lighttpd.user.htpasswd secret
New password: ←ユーザー認証用のパスワードを入力
Re-type new password: ←ユーザー認証用のパスワードを再入力
Adding password for user secret |
次に、lighttpdの設定ファイル(/etc/lighttpd/lighttpd.conf)を変更する。
server.modules = (
(省略)
# "mod_auth", ←行頭の#を削除
(省略)
"mod_accesslog" ) |
さらに、以下の記述を適当な場所に追加する。ここでは、ユーザー認証によるアクセス制限をかけるディレクトリを/srv/www/lighttpd/secretとしている。
auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "/etc/lighttpd/lighttpd.user.htpasswd"
auth.require = ( "/secret/" => ←ユーザー認証が必要なディレクトリ
(
"method" => "basic",
"realm" => "Secret Zone",
"require" => "valid-user"
)
) |
lighttpd.confの変更が終わったら、lighttpdを再起動する。
# service lighttpd restart |
Webブラウザでsecretディレクトリにアクセスすると、ユーザー認証用のダイアログボックスが表示されるはずだ。
|
Firefoxのユーザー認証用ダイアログボックス |
Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
Linux & OSS 記事ランキング
本日
月間