Apacheのアクセス制御

この記事は最終更新日から 18 年以上が経過しています。

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

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回入力する。