特定のディレクトリに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 認証がかかった。

 

Tags: ,

Comments

No comments so far.

  • Leave a Reply
     
    Your gravatar
    Your Name
     
     
     

    コメントリンクを nofollow free に設定することも出来ます。