Apache ベーシック認証 ユーザの作成

ページを公開する時に、特定の人にしか公開させたくない場合があります。

今回はユーザ名とパスワードによる認証を設定し、特定の人しかページを見れないようにします。
このように、ユーザ名とパスワードによる認証をベーシック認証と言います。
今回はベーシック認証で利用するユーザ名とパスワードを管理するファイルを作成します。

今回の環境は以下になります。 Amazon Linux2 docker コンテナにて Apache2.4 を使用します。

htpasswdコマンド

htpasswdコマンドを使用します。しかし、自分の環境には存在しませんでした。

・コマンド

htpassword

・結果

htpassword: command not found

htpasswdを探します。

・コマンド

find / -name 'htpasswd'

・結果

/usr/bin/htpasswd

htpasswdへのパスが通っていないだけのようでした。今回はパスを通さずhtpasswdを使用します。

ベーシック認証ファイルの配置場所作成

ベーシック認証ファイルの配置場所を作成します。
今回は /httpd-basic-auth というディレクトリを作成します。
ベーシック認証のファイルはセキュリティを考慮するとドキュメントルートの様な公開されたディレクトリには配置しない方が良いでしょう。

・コマンド

mkdir /httpd-basic-auth

認証ユーザの作成

今回は dennie と言うユーザを作成します。
/httpd-basic-auth ディレクトリ以下に passwords と言うファイルを作成します。
コマンド実行後、任意のパスワードをキー入力して下さい。

・コマンド

./usr/bin/htpasswd -c /httpd-basic-auth/passwords dennie

認証ファイルの確認

認証ユーザが作成されると、認証ファイルに作成したユーザ名とMD5でハッシュ化されたパスワードが作成されます。
ハッシュアルゴリズムはユーザ作成時に指定できる様ですが、デフォルトではMD5が使用されるようです。

cat /httpd-basic-auth/passwords
dennie:$apr1$8zyLuDWA$bSwtcMwdvS2z7fVbAFAfi/

最後に

次回は実際にベーシック認証を設定してみます。

© DeNnie.Lab All Rights Reserved.