プレマリ.COM
  Basic認証を使用するに

ある特定の人にしかホームページを参照させたくない場合にはBasic認証を使用すると比較的容易に実現することが可能です。


今回の環境は RedHat Linux9 と httpd-2.0.40-21.5 の組み合わせです。
Basic認証にユーザー名とパスワードを入力させ、より特定の人にだけホームページを参照させることが可能です。以下のような画面が現れユーザー名とパスワードを入力しないと次画面に進めなくなります。






■手順


パスワードファイルを作成します。ここで作成したユーザーのみがアクセスできるようになります。

htpasswd -c /etc/httpd/.htpasswd ユーザー名

ここで /etc/httpd/.htpasswd は任意のファイル名です。ここにユーザー名と暗号化されたパスワードが入ります。
さて、ここで作成された.htpasswdファイルの所有者とパーミッションを変更してきます。
RedHat9の場合、apacheのhttpサービスはユーザーapacheで起動されるので以下のようにしておきます。

# chown apache .htpasswd
# chmod 600 .htpasswd



次に制限をかけたいディレクトリに .htaccess ファイルを作成します。

内容は以下のように記述します。
AuthType Basic
AuthUserFile /etc/httpd/.htpasswd
AuthGroupFile /dev/null
AuthName "Enter password"
Require valid-user
AuthType Basic : Basic認証であることを示します。
AuthUserFile /etc/httpd/.htpasswd : パスワードファイルの場所を指定します。
AuthGroupFile /dev/null : グループを指定しない場合はこのように記述します。
AuthName "Enter password" : ダイアログボックスに表示する文字列を指定します。
Require valid-user
 : パスワードファイルに記述されている全てのユーザーを許可する場合はこのように記述します。

なお、 .htaccess でなく httpd.conf に記述することも可能ですがこの場合はhttpdを再起動する必要があります。
# service httpd restart
でOKです。

これで制限をかけたいディレクトリにアクセスしてみて下さい。ユーザー名とパスワードが要求されるはずです。

もしうまくいかない場合はエラーログファイルを見てください。ヒントとなる情報が出力されているはずです。
標準であれば /var/log/httpd/error.logです。






       [へなちょこlinuxのコーナーへ]    [ホームへ]