Apache ベーシック認証

ベーシック認証について説明し、実際にベーシック認証を設定してみます。

なお、前回のベーシック認証ユーザの作成までは済んでいる事とします。

説明

ベーシック認証の設定には以下のディレクティブを使用します。

・AllowOverride
・AuthType
・AuthName
・AuthBasicProvider
・AuthUserFile
・Require

ディレクティブとは?の簡単な説明については以下を参考にして下さい。

AllowOverride

ディレクトリに対して認証の設定を行うので、AllowOverride ディレクティブには AuthConfig を設定します。

AuthType

ベーシック認証を設定するので AuthType ディレクティブには Basic を設定します。

AuthName

AuthName ディレクティブには任意の文字列(名称)を設定します。

AuthBasicProvider

認証ユーザファイルに記載しているユーザによる認証の許可を行う為、AuthBasicProvider ディレクティブには file を設定します。

AuthUserFile

認証ユーザファイルのパスを指定します。
なお、今回は認証ユーザファイルを以下に作成しています。

・パス(ファイル名含む)
“/httpd-basic-auth/passwords”

認証ユーザファイルの作成については以下を参照して下さい。

Require

認証されたユーザを全て許可するので Require ディレクティブには valid-user を設定します。

ベーシック認証の設定

今回は試しにドキュメントルート(“/var/www/html”)へベーシック認証の設定を行います。

認証の設定

Apacheの設定ファイルにベーシック認証の設定を行います。ポイントは以下の通りです。

ポイント
・Require all granted は設定しないでください。
・AllowOverride AuthConfig を設定します。

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride AuthConfig

    # basic Auth
    AuthType Basic
    AuthName "Private Directory"
    AuthBasicProvider file
    AuthUserFile "/httpd-basic-auth/passwords"
    Require valid-user
</Directory>

Apacheの設定読み込み

設定ファイルを変更しただけではApacheは設定を読み込んでくれません。Apacheを再起動すると変更した設定を読み込んでくれます。
ゆえに、Apacheを再起動します。

systemctl restart httpd

動作確認

動作確認用ファイルの作成

以下のコマンドを実行し、確認の為にブラウザに表示させるファイルを作成します。
内容は “test” と言う文字としますが内容はなんでも良いです。

・コマンド

vi /var/www/html/index.html

確認

ブラウザへ http://localhost を入力して下さい。 認証画面が起動することを確認します。
ログインユーザとパスワードを入力し、認証がOKの場合 “test” と表示されれば成功です。

最後に

特にありません。

© DeNnie.Lab All Rights Reserved.