Apache | ID・パスワード認証(Basic認証)の設定

Webサイトの標準的なユーザー認証方法の基本認証(Basic認証)の設定方法。
特定のディレクトリ以下にID・パスワードを付けた認証を簡単に設定することができます。
※パスワードが平文で扱われる為、機密性の高いデータへの認証の場合はダイジェスト認証を推奨


.htpasswdファイルを作成

・htpasswd作成フォーム。
Basic認証のパスワードファイルに記述するIDと暗号化したパスワードの内容を生成できます。
生成されたテキストを.htpasswdファイルに貼り付けてご利用ください。

暗号化種類
ID Passwd

・Linuxのhtpasswdコマンドで作成する場合
$ htpasswd -c .htpasswd user_name

ApacheにBasic認証を設定

Apacheの設定ファイル(httpd.conf)または.htaccessに下記を記述します。

AuthUserFile /home/www/.htpasswd 
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user

1行目:passwordファイルを指定
2行目:グループファイルを指定(不要な場合は/dev/null を指定)
3行目:ダイアログメッセージ
4行目:認証タイプ
5行目:許可するユーザの指定(valid-user:認証済みユーザ全て)

特定のIPアドレスからはパスワードを要求しない方法

“Satisfy any”を指定し、許可IPを指定することでIP認証またはBasic認証のどちらかで認証が通れば許可とすることができます。

# Basic認証
AuthUserFile /home/www/.htpasswd 
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user

# ユーザ認証とホスト制限に関するアクセスポリシー(all:両方要求 any:どちらか)
Satisfy any

# IP制限(allowで特定IPを許可)
order deny,allow
allow from 192.168.0.100
deny from all

関連リンク