有限会社ウェブスリー・ラボ


アクセス制限 (2001.02.15)


1. 機能

アクセス制限は、特定のディレクトリに「.htaccess」というファイルを置くことでディレクトリへのアクセスにIDとパスワードによる制限をかけます。会員制のWebページを作る時などに便利です。この設定はディレクトリ単位でいくつでもできます。下記の「設定方法」をよくお読みいただいた上で作業をして下さい。

アクセス制限はウェブコントロールパネル「Site Manager (サイトマネージャー)」により簡単に行うこともできます。

以下はマニュアルによる設定方法です。ライトコースはウェブコントロールにより設定してください。

2. 設定方法

2-1. 設例

まず、設例を以下のようにします。

ドメイン名: yourdomain
ホーム・ページが置かれるディレクトリ: /home/yourdomain/www/
制限をかけたいディレクトリ: /home/yourdomain/www/secret/
パスワード・ファイルが置かれるディレクトリ:/home/yourdomain/ (ホームディレクトリ上に置いたほうがより安全です)

また、次のIDを持つ人にそれぞれ次のパスワードを割り当てるものとします。

Ryutaro: momo
Youko: perl5

2-2. 「.htaccess」の設定

テキスト・エディタ(ノートパッド等)で、次の内容を持ったファイルを作成し、「.htaccess」というファイル名で保存します。(点線はたんに区切りをあらわしているので実際には打たないでください。)

--------------------------------------------------
AuthUserfile /home/yourdomain/.htpasswd
AuthGroupfile /dev/null
AuthName ByPassword
AuthType Basic

<Limit GET>
require user Ryutaro Youko
</Limit>
-------------------------------------------------

のちほど、パスワードを格納する「.htpasswd」というファイルを作成しますので、1行目は「.htpasswd」までのフル・パス(そのファイルに至る道筋)を記述してください。2行目から4行目までは、上の通りに記述してください。

なお、あとからIDの設定を増やす場合には、「require user Ryutaro Youko」 の後ろにユーザーIDを加えます。
ただしここで、「require valid-user」としておけば、ユーザーを増やすたびに「.htaccess」ファイルを更新しなくて済みます。
すなわち、以下のようになります。

<Limit GET>
require valid-user
</Limit>

そしてこの「.htaccess」を /home/yourdomain/www/secret/ の下にFTPしてください。
その結果、以下のようになります。

/home/yourdomain/www/secret/.htaccess

2-3. パスワード・ファイルの作成

次に、各ユーザーに対してパスワードを割り当てます。これは、Telnet(SSH)上でコマンド・ラインから「.htpasswd」というファイルを作成します。

まず、passwords ディレクトリに移動します。

cd /home/yourdomain/

つぎに、以下のように打ち込むことにより、Ryutaroのパスワードを設定します。

$ htpasswd -c .htpasswd Ryutaro

すると、サーバーが以下のように聞いてきます。

Adding password for Ryutaro.
New password:

ここで、Ryutaroのパスワードであるmomoを入力します。入力するパスワードは表示されませんので間違えないように注意して入力してください。サーバーはパスワードを再入力することを要求してきます。

Re-type new password:

これでRyutaroのパスワード設定は完了します。同様の手続で、Youkoの分のパスワードも設定します。
この時に、注意が必要なのは、2つめ以降のパスワードの設定の時には、「-c」を付けないでください。パスワード・ファイルが上書きされてしまうことになります。
したがいまして、Youkoのパスワードの設定は、次のようになります。

$ htpasswd .htpasswd Youko



ブラウザーのバックボタンでヘルプ・ファイルのメニューにお戻りください。