profaim  >  関連ソフトウェア  >  開発ソフトウェア  >  Apache(Webサーバ)  >  Apache Digest認証  >  Locationで認証設定

Locationディレクティブ で Digest認証 を設定

記載日:2006/09/10
Apache 2.2.2 FedoraCore 5

1.Location に Digest認証 を適用

ここでは Location に Digest認証 の設定を行う手順を説明します。 Digest認証 を設定すれば、 Location に定義した URL にアクセスしてくるユーザに対しダイアログを表示してユーザ認証を行うことができます。Digest認証 ではパスワードが暗号化されてネットワークに流れるので、パスワードが通信経路で盗聴されてしまうことはありません。ただし、Digest認証 をサポートしているウェブブラウザは Internet Explorer 5.0以降や、Netscape 7.0以降、 Firefox などということなので、どのブラウザからアクセスされるかわからない状況では使用は避けた方が良さそうです。

Location は通常ファイルシステム外のコンテンツに対して使用します。ファイルシステムのディレクトリに対して Digest認証 を適用する場合は Directoryディレクティブ を使用します。 Directory に Digest認証 を適用する手順は  Directoryディレクティブ で Digest認証 を設定 が参考になると思います。

今回は既に Subversion 公開の設定が httpd.conf に記述されているとして、これに Digest 認証の設定を追加します。以下が事前に準備しておいた環境です。

設定項目 設定値
Apache のインストールディレクトリ /usr/local/apache2
Subversion リポジトリのパス /home/profaim/repository/testRep
Subversion のリポジトリにアクセスする URL http://testserver/repository/test
Digest認証 に使用するパスワードファイル /home/profaim/pass/.DigestFile
パスワードファイルに登録されたユーザ profaim-user1
登録ユーザのパスワード test
登録ユーザがアクセスできる領域 profaim-test-member

以下は Digest認証 を追加する前の設定内容です。 Subversionリポジトリのパスを URL を指定してアクセスするための設定です。 Subversion のリポジトリ作成方法と Apache での公開手順については  Subversion リポジトリを Apache で公開する が参考になると思います。

<Location /repository/test>
  DAV svn
  SVNPath /home/profaim/repository/testRep
</Location>

2.Location への Digest認証 設定手順

2-1.httpd.conf 編集準備

Digest認証 の設定は Apache の設定ファイル httpd.conf に行います。 httpd.conf は Apache がインストールされたディレクトリの conf にあります。 「cd (Apache がインストールされたディレクトリ)/conf」と入力して httpd.conf が置かれたディレクトリに移動します。  その中にある httpd.conf を編集できるユーザで エディタを使って開きます。 viエディタ を使う場合は 「vi httpd.conf」 と入力します。

$ cd /usr/local/apache2/conf
$ su
Password:
# vi httpd.conf
#

2-2.httpd.conf  に Digest認証 の設定を追加

http.conf の任意の場所に Directory タグを追加して Basic認証 を設定します。今回は以下の設定を行いました。以下は追加した部分の説明です。

<Location /repository/test>
  DAV svn
  SVNPath /home/profaim/repository/testRep
  AuthType Digest
  AuthName "profaim-test-member"
  AuthUserFile /home/profaim/pass/.DigestFile
  Require valid-user
</Location>

[AuthType]
AuthType には認証方式を指定します。 Digest認証を行うので "Digest" で固定です。

[AuthName]
AuthName は認証されるこのLocation領域の名前を指定します。任意の名前を指定できますが、Digest認証 の場合はユーザの登録時に領域名も指定しているので、それに合わせる必要があります。

[AuthUserFile]
AuthUserFile には Digest認証用に作成したパスワードファイルのパスを指定します。パスワードファイルはファイルシステムの絶対パスで指定します。Digest認証 用のパスワードファイルを作成する方法は  Apache Digest認証用ユーザ作成 が参考になると思います。

[Require valid-user]
このLocationには認証されたユーザのみアクセス可能であるという宣言です。 <Limit> や <LimitExcept> ディレクティブを使用してメソッド毎の認証制御を書くこともできます。

2-3.設定を反映する

httpd.conf を編集したら Apache を再起動します。 「cd (Apache がインストールされたディレクトリ)/bin」と入力して Apache の実行ファイルが置かれたディレクトリに移動します。「./apachectl restart」と入力して Apache を再起動します。

# cd /usr/local/apache2/bin
# ./apachectl restart
#

3.動作確認

 3-1.ウェブブラウザからリポジトリへアクセス

Basic認証ウェブブラウザを起動して、Location で設定した Subversion リポジトリへの URL を入力します(今回は http://testserver/repository/test)。 Digest認証 の設定が正しく行われていれば、 ユーザ認証をするためのダイアログが表示されます。

 

パスワードファイルに登録したユーザとパスワードを入力すれば、URL の内容が表示されます。

※Location で何を指定したかによって右の表示は変わってきます。

以上で Location による Digest認証 の設定と動作確認は完了です。



  Apache(Webサーバ)  
Apacheセットアップ(Linux)
Apacheダウンロード
APRダウンロード
ApacheSource転送
APR Source 転送
Apacheインストール
Apache 設定(Linux)
実行ユーザを指定
Apache + PHP(Linux)
複数バージョンのPHPを混在
Apache Basic認証
認証用ユーザ作成
Directoryで認証設定
Locationで認証設定
Apache Digest認証
認証用ユーザ作成
Directoryで認証設定
Locationで認証設定

PR
検索
カスタム検索