VineLinux3.x/Apache2.0/Digest認証を使うための設定 のバックアップソース(No.1)

*概要 [#a4718d47]
Basic認証ではパスワードが平文で流れるため、盗聴が容易でありセキュリティーに問題がある。そこで、Digest認証を使って暗号化パスワードで認証を行うようにする。

Apache2のモジュールには、mod_digestとmod_auth_digestと2種類ある。mod_digestはWindowsのWebフォルダで認証できないため、mod_auth_digestをインストールする。

*インストール [#gc59e811]
apache2のソースディレクトリに移動する
 # cd httpd-2.0.54/modules/aaa/

コンパイル
 # /usr/local/apache2/bin/apxs -c -D DEV_RANDOM mod_auth_digest.c
>
-c : コンパイル
-D DEV_RANDOM : 乱数生成に/dev/randomを用いる

インストール
 # /usr/local/apache2/bin/apxs -i -a .libs/mod_auth_digest.so
>
-i : mod_auth_digest.soがmodulesディレクトリにコピーされる
-a : httpd.conf にLoadModuleディレクティブを追加

*確認 [#f27c06d2]

modulesディレクトリに追加されているか?
 # ls /usr/local/apache2/modules/
 httpd.exp    mod_auth_digest.so*  mod_dav_fs.so*       mod_rewrite.so*

httpd.confに追加されているか?
 # cat /usr/local/apache2/conf/httpd.conf |grep digest
 LoadModule auth_digest_module modules/mod_auth_digest.so


*パスワードファイルの作成 [#ra61d2ec]

 # /usr/local/apache2/bin/htdigest -c /usr/local/apache2/conf/.htdigest dav user-name
 Adding password for waratte in realm dav.
 New password:
 Re-type new password:
>
-c:新しいファイルを作成する
〜.htdigest:作成するパスワードファイル
dav:realm名。適当な名前をつける。
user-name:作成するユーザー名

*httpd.confの編集 [#r691f3d8]

 # vi /usr/local/apache2/conf/httpd.conf
>
 <Location /dav/auth>
         DAV On
         Options Indexes
         AuthType Digest
         AuthName "dav"
         AuthDigestFile "/usr/local/apache2/conf/.htdigest"
         Require valid-user
 </Location>
>
AuthType Digest:認証のタイプをDigestにする
AuthName "dav":上で指定したrealm名と同じにする
AuthDigestFile:上で作成したファイルを指定(AuthUserFileではないので注意)
Require valid-user:認証されたユーザは誰でもアクセス可能



*apache2の再起動 [#p7046208]
 # /etc/rc.d/init.d/apache2 restart
 httpdを停止中:                                             [  OK  ]
 httpdを起動中:                                             [  OK  ]


* コメント [#n23d89c6]
#pcomment(Apache2でDigest認証/コメント)