Fri, January 20, 2006
Apacheで基本認証を設定する
特定のディレクトリだけを特定の人だけにアクセスさせたい場合があります。 その方法についての備忘録。
Apacheの設定
./conf/httpd.conf
以下の指定が必要
AllowOverride All
全体ではこんな感じに指定
<Directory "/var/www/html/foo">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
.htaccess and .htpasswd の設置
- /var/www/html/foo/.htaccess
- /var/www/html/foo/.htpasswd
を設置する
.htaccessの内容
アクセス制限をかけたいディレクトリ(/var/www/html/foo/.htaccess)に設置し、 パスワードファイル(.htpasswd)の設置場所を指定する。
AuthUserFile /var/www/html/foo/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
.htpasswd の内容
hoge:秘密の文字列
秘密の文字列の作り方
linuxであれば、/usr/bin/htpasswd 等に htpasswd コマンドが 既にインストールされていると思うのでそれを使う。
ユーザ名:foo、パスワード:hogehoge の場合 htpasswd -nb foo hogehoge
標準出力された結果を.htpasswd に記述する。