2009年6月7日日曜日

Apacheの設定について サイトのパスワードによる閲覧制御

Webサイトにパスワードによる閲覧制御を設定する方法
OS: Ubuntu 8.04 LTS

<< Apache2のディレクトリ構造 >>
mods-available: mods設定の実態が入っているディレクトリ
sites-available: sites設定の実態が入っているディレクトリ
mods-enabled: mods-abailableのうち、有効にする設定へのリンクが入っているディレクトリ
sites-enabled: sites-availableのうち、有効にする設定へのリンクが入っているディレクトリ

<< サイトのパスワードによる閲覧制御 >>
1. apache2の設定ファイルの変更
sites-available/defaultなどの設定ファイルで、すべてのAllow-OverrideをNoneからAllにする。これにより、後述する".htaccess"が有効になる。具体的には、
AllowOverride All
とする。sites-availableの別のファイルにするのであれば(例えば、sites-available/permit-site)などに記載し、sites-enabledのリンクを変更する。そして、apache2をリロード。
$ sudo /etc/rc5.d/S91apache2 reload

2. ".htpasswd"ファイルの作成
/etc/apache2に閲覧者制御をするhtpasswdファイルを作成する。
$ sudo htpasswd -c -b /etc/apache2/.htpasswd ユーザ名 パスワード
初回以外は、-cを除く。
$ sudo htpassws -b /etc/apache2/.htpasswd ユーザ名 パスワード
なお、以下のように、catコマンドで内容を確認できる。
$ cat /etc/apache/.htpasswd

3. ".htaccess"ファイルの作成
パスワードで保護したいディレクトリの最上位に、".htaccess"ファイルを作成し、保存する。
内容は、以下のとおり、
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /dev/null
AuthName "secret page"
AuthType Basic
require valid-user
なお、この内容では、パスワードはSSL保護されないので、注意。SSLで保護するのであれば、以下の行を追加する。
SSLRequireSSL
ただし、今回は成功せず。

以上で、特定のサイトを、パスワードによって閲覧制御できる。

<< 参考 >>
Apache2のディレクトリ構造に関する説明されている。

パスワードによる閲覧制御について説明されている。

そのほか

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。