ベーシック認証について説明し、実際にベーシック認証を設定してみます。
なお、前回のベーシック認証ユーザの作成までは済んでいる事とします。
目次
説明
ベーシック認証の設定には以下のディレクティブを使用します。
・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” と表示されれば成功です。
最後に
特にありません。