.htaccessを使ってパスワードをかける


ユーザファイルの格納場所は特に指定されていません。

まずパスワードディレクトリを作る
# mkdir /etc/httpd/password ← 特に指定されてません、任意で!

次にユーザーディレクトリを作る

# mkdir /etc/httpd/password/***** ←ユーザー名

ディレクトリに移動
# cd /etc/httpd/password/***** ←ユーザー名

ユーザー名とパスワードを設定
# htpasswd2 -c .htpasswd ***** ←ユーザー名

New password:*********** ←パスワードを入力(表示されない)
Re-type new password:*********** ←パスワードを再入力
Adding password for user *****

これでユーザ*****が追加されました。

※既存のユーザファイルに新たなユーザを追加するときは[-c]オプションは不要です。
同じディレクトリにグループファイルをエディタで作成して追加することもできます。

Apacheの設定



httpd.confの編集

httpd.conf を開いて,認証に関する設定を記述します。以下に例を示します。


<Directory "/home/***/public_html/abc"> ←認証を設定するディレクトリ
AuthType Basic
AuthName "Private Directory" ←認証ダイアログに表示されるメッセージ
AuthUserFile /etc/httpd/password/*****/.htpasswd ←ユーザファイルの格納場所
Require user ***** ←ユーザー名 ※1
</Directory>


設定が終わればhttpdサーバー再起動

# /etc/rc.d/init.d/httpd restart ← Apache1.3の場合

# /etc/rc.d/init.d/apache2 restart ← Apache2の場合
httpdを停止中:                               [  OK  ]
httpdを起動中:                               [  OK  ]

OKが出れば正常に作動しています。

これで完了です。アクセス許可を指定しているのが Require ディレクティブです。
上記の記述はユーザファイルにパスワードを記述したすべてのユーザがアクセス可能となる設定です。
記述の仕方は,以下の通りです。

※1
●Require user ユーザ名(ここに記述されたユーザがアクセス可能)
●Require group グループ名(ここに記述されたグループのユーザがアクセス可能)
●Require valid-user(ユーザファイルに記述されたユーザがアクセス可能)




Copyright c Vine Linuxで自宅サーバー. 2004 All Rights Reserved.