ダイジェスト認証の設定方法


Apacheで動いているWEBサーバにて、ダイジェスト認証を入れる方法です。
■環境
CentOS Linux release 7.2.1511 (Core)
Apache/2.4.6

Apacheがダイジェスト認証に対応しているか確認します。
以下のコマンドにて結果が出力されれば対応しています。

# grep digest /etc/httpd/conf.modules.d/ -r  
conf.modules.d/00-base.conf:LoadModule auth_digest_module modules/mod_auth_digest.so

ダイジェスト認証用のIDとパスワードのセットを作成します。
下記の「Sample Auth」は認証名で「sampleuser」は設定するIDです。適宜書き換えてください。
また「/etc/httpd/conf/.hpass」が生成されるファイルですが、パスもファイル名も任意です。

# htdigest -c /etc/httpd/conf/.htpass ’Sample Auth' sampleuser  
Adding password for sampleuser in realm Logical Dice Auth.  
New password: ←設定するパスワードを入力する  
Re-type new password: ←設定するパスワードを再度入力する

あとはApacheの設定ファイルにて設定をします。
以下の例では「/var/www/html/sample」配下のコンテンツにWEBブラウザにてアクセスした際に
ダイジェスト認証が表示されるようになります。
下記のAuthUserFileは上記で生成したファイルを指定してください。

<Location "/sample/">  
   AuthType Digest  
   AuthName “Sample Auth"  
   AuthUserFile "/etc/httpd/conf/.htpass"  
   Require valid-user  
</Location>

これでApacheの設定ファイル再読み込み(再起動)をすればダイジェスト認証がかかるようになります。