#navi(../)
* Apacheでダイジェスト認証の設定を行う [#f79f34ea]
本資料はCentOS, Apache2.2.3の環境でApacheのダイジェスト認証の設定を行った手順を記しています。
#contents
#htmlinsertpcsp(web-top.html,web-sp.html)

*関連資料 [#x3bd1b5a]
iptablesなどにより外部から接続できない場合は、以下の資料が参考になるかもしれません。~
-[[CentOSでhttpdを動かしたのに外部PCから見れない場合の設定>http://linux.just4fun.biz/CentOS/httpd%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%9F%E3%81%AE%E3%81%AB%E5%A4%96%E9%83%A8PC%E3%81%8B%E3%82%89%E8%A6%8B%E3%82%8C%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AE%E8%A8%AD%E5%AE%9A.html]]
-[[CentOSでApacheのインストールと自動起動>Apache/CentOSでApacheのインストールと自動起動]]
-[[Apacheでベーシック認証の設定>Apache/ベーシック認証の設定]]

** ダイジェスト認証を設定し確認した環境 [#uaf994ed]
使用したLinux(CentOS)の環境は以下の通りです。
 # lsb_release -sd
 "CentOS release 5.8 (Final)"
 # httpd -v
 Server version: Apache/2.2.3
 Server built:   Feb 23 2012 21:16:57

* ダイジェスト認証モジュールの有効化 [#a88eb7c1]
httpd.confに記述されているダイジェスト認証のモジュールを有効にします。~
今回使用した環境では、以下の場所にhttpd.confがありました。
 /etc/httpd/conf/httpd.conf

http.conf内に以下の記述があるのでコメント(#)されている場合はコメント(#)を削除してダイジェスト認証のモジュールを有効にしてください。
 LoadModule auth_digest_module modules/mod_auth_digest.so

* ダイジェスト認証用のパスワードファイルの作成 [#jf94f8e9]
htdigestコマンドを利用しダイジェスト認証用のパスワードを作成します。
 htdigest -c ダイジェスト用パスワードファイル ダイジェスト認証を行う領域名 ユーザ 
上記の-cオプションは初めてダイジェスト認証用のパスワードファイルを作成するときのオプションです。~
ユーザを追加する場合(すでにファイルが存在する)、-cオプションは不要です。~
以下、htdigestコマンドを実行した時の出力です。~
コマンド実行後、パスワードを入力します。
 #  htdigest -c /etc/httpd/conf/passwd_digest 'DigestAuthArea' sakura
 Adding password for sakura in realm DigestAuthArea.
 New password: 
 Re-type new password: 

上記コマンドが完了すると以下のようにダイジェスト認証用のパスワードファイルが生成されます。~
ファイル内容を見ると、ユーザ:ダイジェスト認証を行う領域名:暗号化されたパスワード の順に記録されています。
 # cat /etc/httpd/conf/passwd_digest
 sakura:DigestAuthArea:86f8c9c196fa4294b88379f6dc65a8d1

* httpd.conf側の設定 [#b624c828]
今回使用した環境デフォルトのままであり、以下のように設定されています。
 DocumentRoot "/var/www/html"
    :
    :
    :
 <Directory "/var/www/html">
    :
    :
本資料では、<Directory "/var/www/html"> 中略 </Directory>にダイジェスト認証の設定を行います。~
変更した内容は以下の通りになります。
 <Directory "/var/www/html">
    AuthType Digest
    AuthName "DigestAuthArea"
    AuthUserFile "/etc/httpd/conf/passwd_digest"
    Require valid-user
      :

追加したのは、以下の4つです。
 AuthType Digest
 AuthName "DigestAuthArea"
 AuthUserFile "/etc/httpd/conf/passwd_digest"
 Require valid-user
AuthTypeにはDigest~
AuthNameには、htdigestコマンドで指定したダイジェスト認証を行う領域名を設定~
AuthUserFileには、htdigestコマンドで指定したダイジェスト用パスワードファイルを設定~
Require valid-userを追記しました。

* Apacheを再起動して設定を反映させる [#ue4e0987]
Apacheが既に起動している場合は、Apacheを再起動します。~
停止している場合は、Apacheを起動してください。~
今回は、CentOSを利用しているので以下のコマンドで起動、停止、再起動ができます。
- 起動
 service httpd start
- 停止
 service httpd stop
- 再起動
 service httpd stop


* ダイジェスト認証を試してみる [#s9027a33]
ブラウザを起動してDigest認証を設定したホストに接続します。~
きちんと設定されていれば、以下のように認証画面が表示されます。
#ref(digest-01.gif)

* 参考資料 [#c38270cb]
iptablesなどにより外部から接続できない場合は、以下の資料が参考になるかもしれません。~
-[[CentOSでhttpdを動かしたのに外部PCから見れない場合の設定>http://linux.just4fun.biz/CentOS/httpd%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%9F%E3%81%AE%E3%81%AB%E5%A4%96%E9%83%A8PC%E3%81%8B%E3%82%89%E8%A6%8B%E3%82%8C%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AE%E8%A8%AD%E5%AE%9A.html]]

-[[CentOSでApacheのインストールと自動起動>Apache/CentOSでApacheのインストールと自動起動]]

#htmlinsertpcsp(web-btm.html,web-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS