htaccessでBASIC認証を行う

よく使用するのでメモ。
単純にBASIC認証をかけるだけなら以下のように記述する。
AuthNameには日本語を使わないのが吉(文字化けが起きる場合がある?)
AuthUserFileには.htpasswdファイルを絶対パスで記述する。(相対パスは不可)

AuthType Basic
AuthName "project example PASSWORD"
AuthUserFile /var/www/project/example/.htpasswd
Require valid-user

.htpasswdの生成ツール

よく使用するので作ってみた。
ID:
PASSWORD:


↑の内容をファイルに保存してAuthUserFileのパスに設置すれば完了。

.htpasswdの手動生成

linux等でコマンドが打てる状況下であれば以下で作成。
IDがusername, パスワードがpass1234の場合はこのような感じ。

htpasswd -cmb /var/www/project/example/.htpasswd username pass1234

オプションの説明
c…パスワードファイル作成。
m…MD5で生成。これにしないとパスワードが8文字以内になってしまう。
b…対話形式ではなくコマンド形式で実行。