Mの更新(Mountain Lion OSX10.8サーバ) その33 .htaccess
directory によって.htaccess が使えるかどうかを設定するのはその15に書いた。.htaccessを有効にするとapache2は.htaccessを探しまわるので遅くなるともいわれているが、いまどきのサーバではたいしたことはない。
.htaccess で操作するのは認証が一番ポピュラーだろう。ip address とかで拒否するのはあまりやらないだろう。
.htaccess が有効かどうかは、公開するdirectoryが 例えば
/Users/[ユーザ名]/Sites
だったら、このdirectoryに置く.htaccessに
Redirect /[該当のdirectory]/ http://www.google.com
という1行だけを書く。http://example.com/[ユーザ名]/ にアクセスするとgoogleのページにリダイレクトされる。
パスワード認証
.htaccess ファイルを認証をかけたいdirectoryに置く。
中身を以下のように記述する。
AuthUserFile /Users/hoge/secret/.hoge-htpasswd
AuthGroupFile /dev/null
AuthName ” ”
AuthType Basic
require valid-user
AuthUserFile:ユーザ名とパスワードが書いてあるファイルを指定する。directory のSites は公開ファイルを置くところだからその外のユーザがFTPできるdirectoryにする。この場合はhogeというユーザのhome directory にsecret というdirectoryを作って、その中に.hoge-htpasswd というファイルにユーザ名とパスワードがあるよということになる。
AuthName ” “:の” “内にプロンプトに出てくるコメントを書く。日本語では文字化けするだろう。ブラウザの方でIDとパスワードを入れろというプロンプトになるから空白でもいい。
新しいパスワードファイルを作るために、/Users/hoge/secret で
sh-3.2# htpasswd -c .hoge-htpasswd [ユーザ名]
New password:
Re-type new password:
Adding password for user [ユーザ名]
sh-3.2#
-c のオプションで.hoge-htpasswdというファイルができるわけだ。さらにユーザを加えるためには-c を付けないで;
sh-3.2# htpasswd .hoge-htpasswd [ユーザ名2]
New password:
Re-type new password:
Updating password for user [ユーザ名2]
sh-3.2#
とする。
/Users/hoge/secret に.hoge-htpasswd というファイルができていて、開くとユーザ名はわかるがパスワードの部分は暗号化されているのがわかる。