2013年12月29日日曜日

Apache で Basic 認証

以下の手順で実現できる。

1. htpasswd コマンドでパスワードファイルを生成
2. httpd.conf で対象のディレクトリとパスワードファイルを指定する

まずパスワードファイルを生成する。
BASIC 認証でログインするときのユーザ名とパスワードを指定する。
ユーザ名を yokano にする場合は、

# htpasswd -c /etc/httpd/.htpasswd yokano
[パスワードを2回入力]

-c オプション(Create)を指定するとパスワードファイルを新規作成する。
既に作成済みのパスワードにユーザを追加したい場合は -c は付けない。
(-c をつけると以前のパスワード情報が消えるので注意。)

パスワードファイルは Apache のドキュメントルート内などの
公開された場所に設置しないように注意。
パスワードファイルがダウンロードされてしまう可能性があるため。

パスワードファイルが生成できたら、
Apache の設定ファイルで Basic 認証をかけるディレクトリと
パスワードファイルを指定する。

例えばドキュメントルート直下の secret ディレクトリに Basic 認証を掛ける場合は、
以下のように設定すればよい。
# vi /etc/httpd/conf/httpd.conf
ファイルの末尾に以下を追加
<Directory "/var/www/html/secret">
    AuthType Basic
    AuthUserFile /etc/httpd/.htpasswd
    AuthName "Please input id and password."
    Require user yokano
</Directory>


参考

Apacheでユーザー認証を行なうには(Basic認証編) - @IT
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/698apachebasic.html

htpasswd - Manage user files for basic authentication - Apache HTTP Server
http://httpd.apache.org/docs/2.2/programs/htpasswd.html

0 件のコメント:

コメントを投稿