Linux
Tips |
|
Apacheでユーザー認証を行うには(Basic認証編)
北浦訓行
2005/2/10
|
Apacheのユーザー認証には、「Basic認証」と「Digest認証」がある。Basic認証は一般的に行われている方法だが、パスワードが暗号化されないため、機密性の高いデータへの認証には適していない。Digest認証はパスワードが暗号化されるが、これに対応しているのは比較的最近のWebブラウザに限られる。
ここではBasic認証を利用して、特定ディレクトリのWebページを開く際に「secret」というユーザー名でアクセスできるようにする(編注)。Digest認証を使う方法は、Apacheでユーザー認証を行うには(Digest認証編)を参照。
編注:以下のコマンド名やディレクトリはディストリビューションによって異なることに注意。 |
まず、ユーザー認証によるアクセス制限をかけるディレクトリを作成する。ここでは、/var/www/html/memberとする。
# mkdir -p /var/www/html/member |
次に、htpasswdコマンドでsecretというユーザーを作成し、パスワードを設定する。パスワードの設定に必要なパスワードファイルは、ここでは/etc/httpdディレクトリ(編注)に.htpasswdとして作成する。
編注:パスワードファイルの作成場所は必ずしも/etc/httpdである必要はない。ただし、外部からアクセスできる場所(Apacheのドキュメントルート内など)は避けるべきである。 |
なお、初めて.htpasswdファイルを作成するときは-cオプションが必要となる。
# htpasswd -c /etc/httpd/.htpasswd secret
New password:
Re-type new password:
Adding password for user secret |
そして、Apacheの設定ファイル(/etc/httpd/conf/httpd.conf)に以下の設定を追加する。
<Directory "/var/www/html/member">
AuthType Basic
AuthName "Secret Zone"
AuthUserFile /etc/httpd/.htpasswd
Require user secret
</Directory> |
以上で設定は完了だ。以下のコマンドを実行して、Apacheを再起動する。
Webブラウザでhttp://localhost/member/にアクセスすると、ユーザー認証用のダイアログボックスが表示される。
|
ユーザー認証用のダイアログボックスが表示されたFirefoxの画面 |
Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
Linux & OSS 記事ランキング
本日
月間