Apacheで、サーバ上の特定ディレクトリをパスワード認証する設定を行う。
ユーザ認証にはBasic認証とDigest認証があるけど、ここではBasic認証の設定をするよ。
.htaccessを作成して、public_html直下に配置する。
このファイルは、認証を行いたいディレクトリに配置するよ!
ここから先のファイルやディレクトリを見たいときは認証が必要になる。
下の設定例では、「public_html」から先を参照するためには認証が必要になるということだよ。
vi /home/hoge/public_html/.htaccess AuthUserFile /home/hoge/public_html/.htpasswd AuthGroupFile /dev/null AuthName "hogehoge.org Server" AuthType Basic Require valid-user |
説明:
AuthUserFile :認証に使用するユーザとパスワードの一覧が格納されているファイル
AuthGroupFile :認証に使用するユーザグループの一覧が格納されているファイル
AuthName :認証ダイアログに表示されるコメント
AuthType :ユーザ認証の種類
- Basic パスワードが暗号化されない
- Digest パスワードが暗号化される
Require:どの認証済みユーザがリソースをアクセスできるかを選択する
- Require valid-user 全ての認証されたユーザに、ディレクトリへのアクセスを許可
- Require group group-name [group-name] …指定されたグループに属するユーザのみ、ディレクトリへのアクセスを許可
- Require user userid [userid] …指定されたユーザのみ、ディレクトリへのアクセスを許可
ユーザ認証用のパスワードファイルを下記のコマンド「htpasswd」で作成する。
例では「public_html」直下に作成しているけど、ここでないほうがいいかも。
「AuthUserFile」で指定したところに作成する。
htpasswd -c /home/hoge/public_html/.htpasswd ユーザ名 New password: Re-type new password: Adding password for user ユーザ名 |