開発マシンへローカルWebサーバー(Apache)を構築します。
これにより、Webサーバーと通信するアプリのテストが容易になります。
外部にWebサーバーを調達する必要がなく、机上のパソコン(開発マシン)内でテスト環境が完結します。
Webサーバーの構築にXAMPPを使いました。
XAMPPは、ファストフードならぬ、ファストツールです。インストールして直ぐに使える点が、いいですね!
※環境:XAMPP 8.2.12
XAMPP Control Panel Version 3.3.0.
Apache 2.4.58
OpenSSL 1.1.1p
Chrome バージョン 142.0.7444.163
目次
XAMPPとは
「XAMPP」は一言でいえば「Apache(オープンソースのWebサーバー)ディストリビューション」です。

Webサーバーの構築に必要な一通りのツールがパッケージされています。
【XAMPPに含まれるツール】 ・Apache ... Webサーバー ・MySQL(MariaDB) ... RDBS(リレーショナルデータベースシステム) ・FileZilla ... FTPクライアント ・Mercury ... Mailサーバー ・Tomcat ... Servlet/JSP コンテナ(サーバーサイドのJava実行環境) ※上記に付随するコンポーネント ・PHP ・phpMyAdmin ・OpenSSL ・curl
Webサーバーを構築したければXAMPPのインストールだけで済みます。個別にツールをインストールする必要はありません。
ただし、恒久的なWebサーバーの構築に、XAMPPはお勧めしません。理由は、XAMPPに含まれるツールのバージョンアップが難しいからです。
XAMPP用にツールの動作環境がカスタマイズされていて、理解せずに行うと構築したWebサーバーを壊しかねません。
ですので、アプリ開発のテストなど、一時利用に限定した方が良いです。
※私見ですので、この限りではありません!
XAMPPインストール
Windowsへインストールするのであれば、インストーラー形式が簡単です。
ダウンロード&インストール
インストーラ(xampp-*-installer.exe)をダウンロードして実行します。

幾つか質問パネルが表示されます。質問に答えていきます。
今回は「X:\XAMPP」へインストールしました。

以下のように表示されれば、インストールは完了です。
XAMPPを起動する前に「管理者権限で実行」の設定を行うので、「Do you want to start …」のチェックを外して下さい。

「管理者権限で実行」の設定
XAMPPは管理者権限で実行します。そのための設定です。
「xampp-control.exe(XAMPPコントロールパネル)」を右クリックして、プロパティを開きます。

「管理者としてこのプログラムを実行する」にチェックをいれれば、適用されます。

以降、「xampp-control.exe」は管理者権限で実行されます。
Webサーバーの起動
「xampp-control.exe」をダブルクリックして、コントロールパネルを起動します。
コントロールパネルは、XAMPPのツール群を一括管理するアプリです。
ここで、Apacheの起動と停止をボタン操作で行えます。起動はApache行の「Start」ボタンを押してください。

ボタンが「Stop」に変われば、Apacheがデフォルト設定で起動しています。
httpでWebサーバーへ接続
WindowsのブラウザーChromeを起動して、「http://localhost」でローカルWebサーバーへ接続します。

表示されたWebページは、XAMPP用に準備されたデフォルトのページです。
httpd.confの設定により「X:/XAMPP/htdocs」に置かれた記述(*.html)が表示されます。
Listen 80 ... 80番ポートを開く
ServerName localhost:80 ... リクエストに応答したサーバ名
DocumentRoot "X:/XAMPP/htdocs" ... Webページが置かれているフォルダ
<Directory "X:/XAMPP/htdocs"> ... フォルダに対する属性の設定
...
</Directory>
Include conf/extra/httpd-ssl.conf ... httpd-ssl.confの読み込み
httpsでWebサーバーへ接続
WindowsのブラウザーChromeを起動して、「https://localhost」でローカルWebサーバーへ接続します。

エラー(ERR_CERT_AUTHORITY_INVALID)になります。SSLによる接続が確立できないため、Webパージは表示されません。
Listen 443 ... 443番ポートを開く <VirtualHost _default_:443> DocumentRoot "X:/XAMPP/htdocs" ... Webページが置かれているフォルダ ServerName www.example.com:443 ... リクエストに応答したサーバ名 SSLEngine on ... SSL有効 SSLCertificateFile "conf/ssl.crt/server.crt" ... 証明書(公開鍵を含む) SSLCertificateKeyFile "conf/ssl.key/server.key" ... 秘密鍵 </VirtualHost>
接続が確立できない理由
接続が確立できない理由は、証明書が「自己署名証明書」だからです。
※自己署名証明書:自身の公開鍵を自身の秘密鍵で署名した証明書
ブラウザーChromeがローカルWebサーバーを「信頼性のないサーバである」で判断しています。
証明書は次の操作で確認できます。

よく見ると、発行元がlocalhost(自己署名)であると共に、有効期限切れになっています。

関連記事:
