特定のディレクトリにBasic認証をかける
MacPorts で作った /opt 以下の環境で
/htdocs/eclipse3/secure というディレクトリに認証をかけてみたメモ。
◎パスワードファイルの作成
/opt/local/apache2/bin/htpasswd を使用して MD5 によるパスワードファイルを作成する。
$ sudo htpasswd -c /opt/local/apache2/conf/password showjin
(オプションの -c は、新しくパスワードファイルを作成することを意味する)
このコマンドを実行するとパスワードを二度尋ねてくるので、パスワードを入力する。
これで、/opt/local/apache2/conf 内に、ユーザとそのパスワードを管理するためのファイル password が作成され、その中に showjin というユーザと、いま入力したパスワード( MD5 で暗号化されたもの)が記述されている。
*つづけて他のユーザ(およびそのパスワード)を登録する際には、オプションの -c は不要。
$ sudo htpasswd /opt/local/apache2/conf/password user_name
◎グループファイルの作成
いくつかのユーザをグループ単位でまとめて登録するためのもの。(コマンドは不要で、テキストファイルを作成するだけでいい)
・ディレクトリ
/opt/local/apache2/conf
・ファイル名
group
・書式
グループ名: ユーザ名1 ユーザ名2(改行はなしよ)
例:MyGroup: showjin showjin2
◎認証機能を有効にする
apache の設定ファイル httpd.conf を編集して、上記で用意したユーザ、グループによる認証機能を有効にする。
/opt/local/apache2/bin/httpd.conf の最後のほうに以下の記述を追加する。
<directory "/opt/local/apache2/htdocs/eclipse3/secure"> AuthType Basic AuthName "Sample Realm" AuthUserFile "/opt/local/apache2/conf/password" AuthGroupFile "/opt/local/apache2/conf/group" Require group MyGroup </directory>
*AuthType は認証の種類。
*AuthName は認証名。
*AuthUserFile と AuthGroupFile はパスワードファイルとグループファイルの指定。
*Require は MyGroup グループが必須であることを指定。
編集内容を有効にするために apache を再起動。
$ sudo /opt/local/apache2/bin/apachectl restart
これで、http://localhost/eclipse3/secure ディレクトリに BASIC 認証がかかった。

Comments
No comments so far.