Apacheのダイジェスト認証の設定

カテゴリ:Webサーバ

CentOS/Ubuntu 両対応

管理者用ページなど、特定のディレクトリをパスワードで保護する場合は、以下の手順でダイジェスト認証を設定します。
ダイジェストはハッシュを意味し、ベーシック認証のように、ユーザー名、パスワードを平文で送らずに、MD5ハッシュにして送ります。
これにより盗聴や改竄されるのを防ぎます。

注意なお、ダイジェスト認証でコンテンツが暗号化されるわけではありません。
HTTPの通信を暗号化したい場合は、SSL証明書を設定してHTTPSでアクセスできるようにする必要があります。

ダイジェスト認証のパスワードファイルの作成

ダイジェスト認証のパスワードファイル digestpass を以下のコマンドで作成します。
以下は hoge ユーザーのダイジェスト認証用のパスワードを /var/www/digestpass ファイルに作成します。

# htdigest -c "/var/www/digestpass" "Digest Auth" hoge
Adding password for hoge in realm Digest Auth.
New password:
Re-type new password:

※パスワードを2回入力します。

パーミッションを設定します。

# chmod 777 /var/www/digestpass

Apacheの設定ファイルにダイジェスト認証を設定

Apacheの設定ファイルをviで開きます。

CentOS の場合:

# vi /etc/httpd/conf/httpd.conf

Ubuntu の場合:

# vi /etc/apache2/sites-available/000-default.conf

以下を追加します。

#ダイジェスト認証のパスワードファイルのディレクトリを指定
<Directory "/var/www">
AllowOverride AuthConfig
</Directory>

#/var/www/html/adminをパスワード保護する
<Directory "/var/www/html/admin">
AuthName "Digest Auth"
AuthType Digest
AuthUserFile /var/www/digestpass
require valid-user
</Directory>

設定後、以下のコマンドでApacheを再起動します。

CentOS の場合:

# systemctl restart httpd

Ubuntu の場合:

# systemctl restart apache2

公開日時:2014年07月19日 22:05:38
最終更新日時:2021年08月21日 07:29:56

なお、VPS選びで迷ったら、こちらの記事で主要VPSのメモリ容量ごとの月額、年額料金を比較していますので、是非参考にしてみてください。

Webサーバに戻る

このページのトップに戻る