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 Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間