Apacheの.htaccessと.htpasswdに関するメモ。
自分用のWikiを作って、自宅と実家のIP(固定IPサービスを利用中)からはアクセス可能に、その他のIPからはBASIC認証に成功した場合のみアクセス可能にしたくなったので、.htaccessの設定をしました。
仮にWikiの場所は/var/www/wiki/として、その下に.htaccessと.htpasswdを置くことにします。
.htaccessの内容は次のような感じ。
AuthType Basic
AuthName " "
AuthUserFile /var/www/wiki/.htpasswd
AuthGroupFile /dev/null
Satisfy Any
order deny,allow
deny from all
AuthName " "
AuthUserFile /var/www/wiki/.htpasswd
AuthGroupFile /dev/null
Satisfy Any
order deny,allow
deny from all
allow from 192.168. # LAN
allow from 61.125.195.91 # yuuan.net
Satisfy Anyは許可されたホストか認証されたユーザのみがアクセス可能という意味らしい。
.htpasswdを作るには以下のコマンドを実行する。
userはBASIC認証で使うユーザ名。
$ htpasswd -c /var/www/wiki/.htpasswd user
実行するとパスワードを聞かれるので、2回入力する。