LoginSignup
0
0

More than 1 year has passed since last update.

XAMPP環境でApache2を動かし、Basic認証とDigest認証が有効なwebページを作る

Last updated at Posted at 2021-11-21

はじめに

組み込み向けボードで動くRTOS上のhttpクライアントの機能をもつサンプルプログラムのテストのため、検証環境としてwebサーバを立てる必要があったのでその時の環境構築手順を記録しておきます。

#環境

  • Ubuntu 20.04
  • XAMPP 7.4.6-0

では具体的な手順を説明していきます。

Ubuntu 20.04にXAMPP 7.4.6-0をインストール

Ubuntu 20.04にXAMPP 7.4.6-0をインストールする方法を参考にしながら、インストーラxampp-linux-x64-7.4.6-0-installer.runをダウンロードし、実行しXAMPPをインストールしてください。

[上記の参考ページに対する私なりの補足]

  • 11項目目「XAMPPを起動」にて、「Manage Server」タブから「Start All」をクリックする方法もあり。
  • 12項目目「セキュリティの設定をする」は英語が簡単なのでちゃんと読んで設定してください。

basic認証が有効なページを作成する

.htaccessファイルの作成

まず、ドキュメントルート/opt/lampp/htdocs以下にbasic_authというディレクトリを作成してください。このbasic_authディレクトリ内でbasic認証を有効にする設定を行っていきます。

まず、basic_authに以下の内容で「.htaccess」というファイルを作成します。

<Files ~ “^\.(htaccess|htpasswd)$”>
Deny from all
</Files>
AuthType Basic
AuthUserFile /opt/lampp/htdocs/basic_auth/.htpasswd
AuthName “IDとパスワードを入力してください”
AuthType Basic
require valid-user

AuthUserFile には認証を許可するユーザ名パスワードの組が記載されている.htpasswd(この後作成する)の正確なパスを記載してください。

.htpasswdファイルの作成

次に同じbasic_authディレクトリ内に以下の内容で.htpasswdファイルを作成します。

user:wulztBCiKx4Fw

これは「ユーザ名:パスワード」という形式になっています。
このユーザ名とパスワードの組はこちらのサイトで生成してください

index.phpファイルの作成

次に認証後に表示させる簡単なページをbasic_auth内に作成しindex.phpとします。

index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Basic Auth Check</title>
</head>
<body>
    basic認証成功.
</body>
</html>

ブラウザで確認

最後にApache Web Server を再起動したら http://localhost/basic_auth/ にアクセスしてみましょう。
下の画像のようにユーザ名とパスワードの入力を求められます。
2021_11_21_01.JPG

.htpasswdに登録したユーザ名とパスワードを入力(ここで入力するときはもちろん平文)すると以下のようにページが表示されます。
2021_11_21_02.JPG

digest認証が有効なページを作成する

.htaccessファイルの作成

まずbasic認証の時と同様に、digest認証を有効にしたいディレクトリ内に.htaccessファイルを作成します。
今回は/opt/lampp/htdocs以下のdigest_authというディレクトリとします。

AuthType Digest
AuthName "This site is protected."
AuthUserFile /opt/lampp/htdocs/web-dev/digest_auth/.htdigest
Require valid-user

AuthName には以降で.htdigestファイルを生成するときに指定するレルムを記載します。
AuthUserFileには認証を許可するユーザ名パスワードの組が記載されている.htdigestの正確なパスを記載してください。

.htdigestファイルの作成

次にパスワードファイル.htdigestを作成します。digest_authディレクトリで以下のコマンドを実行してください

htdigest -c /opt/lampp/htdocs/digest_auth/.htdigest "This site is protected." user

上を実行するとパスワードの設定を求められるのでdigest認証時に入力するパスワードを設定してください。

index.phpの作成

次に認証後に表示させる簡単なページをdigest_auth内に作成しindex.phpとします。
basic認証の際に示したindex.phpのbody内を「digest認証成功」にするだけでよいでしょう。

ブラウザで確認

最後にApache Web Server を再起動したら http://localhost/digest_auth/ にアクセスしてみましょう。
下の画像のようにユーザ名とパスワードの入力を求められます。
2021_11_21_03.JPG

.htdigestに登録したユーザ名とパスワードを入力(ここで入力するときはもちろん平文)すると以下のようにページが表示されます。
2021_11_21_04.JPG

おわり

このように素早く環境を作ることができます。
参考にしていただければ幸いです。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0