Apacheでユーザー認証(BASIC認証)

Apacheのユーザー認証のひとつ「BASIC認証」の設定方法です。

パスワードファイルの作成

外部からアクセスできない場所に.htpasswdファイルを作成し、そこにユーザーIDとパスワードを保存します。一般ユーザーで実行しても構いません。

$ htpasswd -c /home/test/.htpasswd username
New password: (パスワードを入力)
Re-type new password: (パスワードを入力)
Adding password for user username

ユーザーID:usernameとしてパスワードを保存しました。
初回(.htpasswdファイルがないとき)だけ "-c" オプションをつけてファイルを "create" します。
2人目の登録からは "-c" は不要です。

Apacheの設定

パスワード制限したいディレクトリに .htaccess ファイルを作成します。
以下は /var/www/html がApacheのドキュメントルート、/member ディレクトリにアクセスをかけます。
IDが "username" の場合だけログインできるようにしています。

$ vi /var/www/html/member/.htaccess
AuthType Basic
AuthName "Serure Zone"
AuthUserFile /home/test/.htpasswd
Require user username

以上で設定完了です。

http://example.com/member/ にアクセスして、ログインダイアログが表示されるか試してみてください。

※BASIC認証はよく使われる認証方法ですがパスワードは暗号化されないため、機密性は高くありません。強固にしたければ「Digest認証」やVPNを検討してみるのがいいと思います。

  • Spread The Love
  • Digg This Post
  • Tweet This Post
  • Stumble This Post
  • Submit This Post To Delicious
  • Submit This Post To Reddit
  • Submit This Post To Mixx

0 Response to “Apacheでユーザー認証(BASIC認証)”

Leave a Reply