Windows11に Oracle VM VirtualBox を入れて 仮想マシンを動かす(2:空仮想マシン作成+NW設定(NAT+ホストオンリー))

 本記事は、Windows11にホスト型仮想化環境プラットフォームのOracle VM VirtualBoxをインストールした手順のメモです。

 Oracle VM VirtualBox自体は前回の記事でインストールしています。今回はこのVirtualBox上に空の仮想マシンを作成します。空のマシンということで、OSは本記事ではインストールを行いません。
 またネットワークの設定として、仮想マシンホスト(VirtualBoxをインストールしたマシン)をNATとして仮想マシンからネットワークに接続する「NAT」設定と、仮想マシンホストから仮想マシンにネットワーク接続する「ホストオンリーアダプター」を設定します。なおVirtualBox側で設定した後、OS側でも設定が必要になりますのでご注意ください。VirtualBoxのネットワーク設定はこの他にも複数あるので、本記事で合わせて解説します。


◆ Oracle VM VirtualBoxのネットワーク設定の種類

 以下のサイトが詳しいのでぜひ参考にしてもらえればと思います。
VirtualBoxのネットワーク設定を絵で説明する #Network – Qiita
【VirtualBox】ネットワークの仕組みや設定方法を解説 (se-memorandum.com)
VirtualBoxクラウドネットワークを使う – Zenn

1.NAT

 仮想マシンを作成するごとにデフォルトで作成されますが、消すことも可能です。
 仮想マシンからインターネットに対して通信ができます。インターネットから仮想マシン、仮想マシンホストと仮想マシン間、仮想マシン同士での通信は通常できませんが、ポートフォワーディングをすることで仮想マシンホストと仮想マシン間は通信ができるようです。

 上の参考サイトによれば、仮想マシンごとに別々の仮想ルーターが作成され、その仮想ルーターでNAT処理が行われてインターネットに出るようです。

2.ブリッジアダプター

 仮想マシンとインターネット間、仮想マシンホストと仮想マシン間、仮想マシン同士で通信が可能です。

 仮想マシンホストの物理ネットワークアダプターを介して通信するので、上記のような通信を実現できるようです。

3.内部ネットワーク

 仮想マシン同士での通信ができます。仮想マシンホストと仮想マシン間、仮想マシンとインターネット間では通信ができません。

 ネットワークアダプターを一切介さないため、仮想マシン同士でしか通信ができないようです。

4.ホストオンリーアダプター

 仮想マシンホストと仮想マシン間、仮想マシン同士での通信ができます。仮想マシンとインターネット間で通信はできません。

 仮想ネットワークアダプターが仮想マシンホスト内に作られ、これを通して物理マシン・仮想マシン間の通信を実現しているようです。また、仮想マシンホストの物理ネットワークアダプターとは繋がっていないので仮想マシン・インターネット間の通信ができないようです。

5.汎用ドライバー

 UDPトンネルとVDE(仮想分散イーサネット)を利用可能になるとのことですが、それ以上の情報がなかなか無いようです。

6.NATネットワーク

 仮想マシンからインターネット、仮想マシン同士での通信ができます。インターネットから仮想マシン、仮想マシンホストと仮想マシン間での通信は通常できませんが、ポートフォワーディングをすることで仮想マシンホストと仮想マシン間は通信ができるようです。

 NATと異なり、複数の仮想マシンが1つの仮想ルーターに接続するような構成となるようです。

7.Cloud Network [External]]

 上の参考サイトによると、Oracle Cloud Infrastructure (OCI) にVMが起動し、VirtualBoxの仮想マシンのPCIスロットに接続されたNICとして振舞うようです。


◆ 空仮想マシン作成+ネットワーク設定(NAT+ホストオンリーアダプター)(2023年10月時点)

 今回行うネットワーク設定は、上で解説したNATとホストオンリーアダプターの2つを設定します。これにより仮想マシンからネットワークに出ることも、仮想マシンホストと仮想マシン間の通信もできます。

 まずはVirtualBoxで空の仮想マシンを作成し、作成した仮想マシンの設定に移動してNAT設定とホストオンリーアダプター設定を有効化します。

1.
Oracle VM Virtualboxマネージャーを起動し、画面右側上部の「新規」アイコンをクリックします。

2.
仮想マシンのOracle VM VirtualBoxマネージャー上での名前を入力します。
VM作成先のフォルダは任意で変更しても構いません。
OSインストール用のISO Imageは後でマウントするのでここでは選択しませんでした。
ただしRocky Linuxをインストールする想定で、タイプは「Linux」、バージョンは「Other Linux(64-bit)」を選択しました。ここでの選択で後のメモリ割り当てのデフォルト値が変わってきます。

3.
メインメモリー、Processorsは任意の値を指定します。また「Enable EFI (special OSes only) 」のチェックが入っていることを確認し、[次へ] ボタンをクリックします。

4.
今回はVMの仮想ハードディスクを新規に作成するので「Create a Virtual Hard Disk Now」を選択し、ハードディスクのサイズを任意で指定します。この時、最初から指定したサイズを確保しておく場合は「Pre-allocate Full Size」のチェックを入れます(入れない場合は小さいサイズで仮想ハードディスクファイルが作成され、容量を利用するごとに段々と拡張されます)。
その後 [次へ] ボタンをクリックします。

5.
作成するVMの設定の確認画面が表示されます。問題なければ [完了] ボタンをクリックします。

6.
OSがインストールされていない空の仮想マシンができました。

7.
ホストオンリーアダプターのIPアドレス範囲を確認します。
「ファイル」>「ツール」>「Network Manager」を選択します。

8.
「Host-only Networks」タブを確認します。デフォルトで1つホストオンリーアダプターがあるので、そちらのIPアドレス範囲を確認します。この場合はVMのホストオンリーアダプターが割り当てられたネットワークインターフェースに対して、「192.168.56.1/24」の範囲でIPアドレスを割り当てれば良いです。

9.
対象の仮想マシンを選択して、「設定」をクリックします。

10.
左メニューで「ネットワーク」を選択し、右側で「アダプター1」タブをクリックします。デフォルトでネットワークアダプターが有効化されており、『NAT』が割り当てられていると思います。
「▽Advanced」をクリックするとMACアドレスが確認できます。こちらは後ほどOSでネットワーク設定を行う際に、設定対象のネットワークインターフェースを確認するのに使います。

11.
「アダプター2」をクリックし、「ネットワークアダプターを有効化」のチェックを入れます。割り当てで『ホストオンリーアダプター』を選択します。こちらもMACアドレスを確認しておきます。その後 [OK] ボタンをクリックします。

12.
対象マシンを選択して、右側のネットワーク欄でネットワークアダプターが2つ設定されていることを確認します。

次回はこのVMにRocky Linuxをインストールし、OS側のネットワーク設定を行っていきたいと思います。お疲れさまでした。


◆ 参考文献

VirtualBoxのネットワーク設定を絵で説明する #Network – Qiita
【VirtualBox】ネットワークの仕組みや設定方法を解説 (se-memorandum.com)
VirtualBoxクラウドネットワークを使う – Zenn
virtualBoxで仮想マシンを作るときはEFIで作ろう|エンジニアM168 (note.com)

Microsoft Azureに登録する

 本記事では、Microsoftが提供するクラウドコンピューティングサービスである、Microsoft Azure(以下Azure)に登録するまでの流れを解説します。

 AzureもAWSと同様にクラウドコンピューティングサービスとして、仮想ネットワークや仮想マシン、データベース、Webアプリケーション実行環境などのサービスを、IaaS、PaaS、SaaSなどの様々な形で提供しています。主要なサービスはAWSと似たところがあり、どちらかの経験があるともう一方もある程度わかりやすいかと思います。
 シェアとしてはAWSがトップですが、次いでAzureがシェアを獲得している状況のようです。最近はMicrosoftがOpenAIとパートナーシップを組み、AzureもAI分野でサービスを拡大しているので、シェアも益々拡大すると予想されるので、覚えておいて損はないかと思います。


◆ Microsoft Azureに登録する手順(2024年1月時点)

1.
Microsoft Azureのページにアクセスし、「Azure を無料で試す」ボタンをクリックします。

2.
「無料で始める」ボタンをクリックします。

3.
サインインを行います。Microsoftアカウントをお持ちの場合はそのアカウントのメールアドレスを入力し、「次へ」ボタンをクリックします。

4.
プロフィールを入力していきます。国/地域を選択し、名・姓(必要ならミドルネームも)を入力します。

5.
画面を下にスクロールし、登録するメールアドレスと電話番号を入力します。電子メールアドレスはMicrosoftアカウントで利用しているものと共通がわかりやすいかと思います(あえて別にすることの検証は行っておりません)。電話についてはSMS認証を利用するためにスマートフォンの電話番号を入れました。
その下の「テキスト メッセージを表示する」ボタンをクリックし、SMSによる認証メッセージを受信します。

6.
確認コード欄がひょうじされるので、SMSで受信した認証メッセージ内にある確認コードを入力し「コードの確認」ボタンをクリックします。

7.
画面を下にスクロールし、姓名の読み方から各種住所入力欄を入力していきます。

8.
必要に応じて住所の建物名、部屋番号欄まで入力したら、「顧客契約に同意します」のチェックを入れて「次へ」ボタンをクリックします。契約同意以外のチェック欄は任意で問題ありません。

9.
支払いに利用するクレジットカードまたはデビットカードの情報を入力していきます。

10.
支払い先の住所を入力します。上で入力した住所欄の項目の内容が入っていますので、変更の必要がなければそのままで問題ありません。
その後「サインアップ」ボタンをクリックします。

11.
アンケートが表示されます。回答してもよいですし、右上の「×」をクリックして閉じてしまっても構いません。

12.
アカウントの設定中である旨の画面が表示されるので、完了するまでしばらく待ちます。

13.
準備完了である旨の画面が出たら、「Azure portal に移動する」ボタンをクリックします。

14.
Azure portalが開いたら完了です。お疲れさまでした。

Windows11に Oracle VM VirtualBox を入れて 仮想マシンを動かす(1:VirtualBoxインストール)

 本記事は、Windows11にホスト型仮想化環境プラットフォームのOracle VM Virtualboxをインストールした手順のメモです。

 仮想化やホスト型仮想化環境プラットフォームについては、以前 Windows11 にDocker Desktopをインストールした際の記事で説明していますが、以下でも簡単に説明します。

 「仮想化」とはハードウェアリソース(CPU、メモリ、ディスク等)をソフトウェアで統合・分割し、リソースを有効的に使う技術です。
 仮想化の方法には「ハイパーバイザー型」「ホスト型」「コンテナ型」が存在します。

今回インストールする『Oracle VM Virtualbox』は「ホスト型」に当たります。「ホスト型」はまずハードウェアの上にホストOSが存在し、ホストOSにインストールされたホスト型仮想化基盤が存在します。その上にゲストOS・アプリを合わせた仮想マシンが存在する、というものです。

 今後の記事で、Oracle VM Virtualboxで仮想マシンを作成し、OSをインストールすることを行っていきたいと思います。今回はまずOracle VM Virtualbox自体のインストールを行っていきます。


◆ Oracle VM VirtualBoxインストール手順 (2023年10月現在)

1.インストーラーのダウンロード

 Oracle VM Virtualboxのインストーラーは、Oracleのサイトからダウンロードする方法と、VirtualBoxのサイトからダウンロードする方法の2通りがあります。どちらでダウンロードしても問題ありませんが、VirtualBoxのサイトからダウンロードした方がバージョンアップに早く対応される場合があるようですので、Oracleのサイトからインストーラーをダウンロードして正常にインストールできない場合は、VirtualBoxのサイトからダウンロードしてみましょう。

 1-1.Oracleのサイトからダウンロードする場合

1-1-1.
OracleのVirtualBoxダウンロードページにアクセスします。
「Oracle VM Virtualbox Base Package – X.X.X」(X.X.X はバージョン番号) のリンクをクリックします。

1-1-2.
「Windows Installer」のリンクをクリックします。

1-1-3.
インストール用の.exeファイルがダウンロードされます。

 1-2.VirtualBoxのサイトからダウンロードする場合

1-2-1.
VirtualBoxのサイトにアクセスします。

1-2-2.
画面を下にスクロールし、「Download VirtualBox X.X」(X.X はバージョン番号) をクリックします。

1-2-3.
VirtualBox X.X.X platform packagesの「Windows hosts」リンクをクリックします。

1-2-4.
インストール用の.exeファイルがダウンロードされます。

2.インストール

2-1.
インストーラーを起動します。
「Next」をクリックします。

2-2.
インストールする機能を選択し、インストール先のフォルダを指定します。
今回はインストールする機能、インストール先ともに「Next」をクリックします。

2-3.
インストール中にネットワークが一時的に途切れる旨の警告が出ます。
問題なければ「Yes」をクリックします。

2-4.
VirtualBoxのPython bindingという機能をインストールするには予めPython Coreパッケージとwin32api bindingをインストールしておく必要があるようです。このままVirtualBoxをインストールする場合は、Python bindingは後でインストールすることになるようです。
仮想マシンを作成すること自体に特に影響はなかったので、今回はそのままで問題ないとみなして「Yes」をクリックします。

2-5.
「Install」をクリックします。

2-6.
インストールが完了するまでしばらく待ちます。

2-7.
「Finish」をクリックします。「Start Oracle VM VirtualBox X.X.X after installation」にチェックを入れておけばOracle VM Virtualboxが立ち上がります。

2-8.
以下の画面が起動すればインストール成功です。お疲れさまでした。


◆ 参考文献

【初心者でもわかる】VirtualBoxインストール方法を詳しく! (eng-entrance.com)

OWASP ZAP で Webアプリの脆弱性診断 (2:設定~スキャンの実施)

 本記事は、Windows11にインストールしたOWASP ZAPでWebアプリケーションの脆弱性をスキャンする手順のメモとなります。

 OWASP ZAPはOWASPというWebアプリケーションに関するコミュニティが作成している、Webアプリケーションを対象とした脆弱性スキャナーです。こちらの記事でインストール手順を解説しており、今回は実際にスキャンを実施してみます。スキャン対象には、こちらの記事で構築したWordPressを利用します。

 脆弱性スキャンは自身で構築したWebアプリケーションなど、許可された対象に実施してください。第三者のWebアプリケーションに対しての実行は、不正アクセスとみなされる可能性もあるため実施しないようにしましょう。またパブリッククラウド上に構築したWebアプリケーションの場合は、脆弱性スキャンを実施する旨を事前にパブリッククラウド業者へ申請する必要がある場合がありますのでご注意ください。


◆ OWASP ZAP による設定~スキャン手順
(2023年8月時点)

 スキャンまでの手順は大まかに以下の手順となります。

Ⅰ.OWASP ZAPの設定
Ⅱ.Firefoxの設定
Ⅲ.OWASP ZAPによるスキャン

Ⅰ.OWASP ZAPの設定

Ⅰ-1.
デスクトップ上のアイコン等からOWASP ZAPを起動します。

Ⅰ-2.
起動が完了するまでしばらく待ちます。

Ⅰ-3.
起動中に以下のようなWindowsDefenderファイアウォールの警告が出た場合は、「アクセスを許可する」をクリックします。

Ⅰ-4.
起動が完了すると、セッションの保存方法を問われます。ここでは「現在のタイムスタンプでファイル名を付けてセッションを保存」を選択して「開始」ボタンをクリックします。

Ⅰ-5.
画面左上のモード選択のプルダウンで「プロテクトモード」を選択します。これを選択することで、Webアプリケーション中のリンクなどから意図せず外部のURLにまで診断を行うことを防げるようです。

Ⅰ-6.
メニューバーで「ツール」を選択し、「オプション…」をクリックします。

Ⅰ-7.
左メニューの「Network」内の「Local Server/Proxies」を選択します。アドレス欄に『localhost』と入力し、ポート欄に『8080』など、他のアプリケーションで利用していないポート番号を指定します(このポートは後の手順でFirefoxのプロキシ設定に使用します)。その後「OK」ボタンをクリックします。

Ⅱ.Firefoxの設定

Ⅱ-1.
Firefoxを開き、右上のメニューから「設定」をクリックします。

Ⅱ-2.
一般メニューのネットワーク設定にある「接続設定」ボタンをクリックします。

Ⅱ-3.
インターネット接続に使用するプロキシーの設定で「手動でプロキシーを設定する」を選択します。HTTPプロキシー欄で『localhost』と入力し、ポートはⅠ-7でOWASP ZAPに設定したポートを指定します。「このプロキシーをHTTPSでも使用する」のチェックを入れます。SOCKSホスト欄も同様に『localhost』と入力し、ポートはⅠ-7でOWASP ZAPに設定したポートを指定します。「OK」をクリックします。

Ⅲ.OWASP ZAPによるスキャン

Ⅲ-1.
画面右側中央の「Manual Explore」をクリックします。

Ⅲ-2.
URL to explore欄にスキャンしたいWebアプリケーションのURLを入力します。ここではこちらの記事でPC内に作成したWordPressを指定します。その後「ブラウザの起動」ボタンをクリックします。

Ⅲ-3.
Firefoxが起動し、スキャン対象のWebアプリケーションが開いたのちに、画像のような「Welcome to the ZAP HUD」が表示されます。

Ⅲ-4.
左側にアクセスしたWebアプリケーションの階層が表示されるので、スキャンしたいトップ階層(ここでは127.0.0.1中のwordpressから)を右クリックし、「コンテキストに含める」>「新規コンテキスト…」を選択します。このようにしてコンテキストに含めることで、含めた階層以下に対する脆弱性スキャンが可能になります。

Ⅲ-5.
左上に新規コンテキストの名前を入力します。コンテキストに含まれるURLが意図したURLであることを確認し、「OK」ボタンをクリックします。

Ⅲ-6.
コンテキスト以下に追加されたスキャン対象を右クリックし「動的スキャン…」をクリックします。

Ⅲ-7.
動的スキャンのウィンドウが開くので「再帰的」にチェックを入れて「スキャンを開始」をクリックします。

Ⅲ-8.
スキャンが実行されるので、完了までしばらく待ちます。

Ⅲ-9.
「100%」となればスキャン完了です。左中央にある「アラート」をクリックします。

Ⅲ-10.
対象のWebアプリケーションに存在する脆弱性が確認できます。左のアラート一覧からそれぞれのアラートをクリックすることで、右側で脆弱性の詳細を確認できます。

そのアラートの脆弱性の詳細な内容の解説もあります。

また、どのような対処を行えばよいかのヒントも記載されていますので、これを参考にしてパッチを適用する、Webサーバーなどの設定変更を行う、といった対処を行い脆弱性を低減させていきましょう。今回はここまでとなります、お疲れさまでした。


◆ 参考文献

【OWASP ZAP】インストールと基本的な使い方【Web脆弱性診断】 | チグサウェブ (chigusa-web.com)
OWASP ZAPを使ったWebシステムの脆弱性診断【前編】|Solution – ソリューション|株式会社イージェーワークス (ejworks.com)
OWASP ZAPの設定と使い方 – Qiita

OWASP ZAP で Webアプリの脆弱性診断 (1:インストール)

 本記事は、Windows11にOWASP ZAPをインストールする手順のメモとなります。

 OWASP ZAPはOWASPというWebアプリケーションに関するコミュニティが作成している、Webアプリケーションを対象とした脆弱性スキャナーです。WebアプリケーションURLを指定してスキャンを行うことで、そのWebアプリケーションがもつ脆弱性を見つけることができます。
 脆弱性とは、プログラムの不具合や設計のミスによって発生した情報セキュリティ上の欠陥のことです。例えば、大まかにいうとWebアプリケーション内のテキストボックス(ログインID入力ボックスなど)にSQL(データベース操作言語)を入れることでデータを操作するSQLインジェクションなどがあります。

 実際にOWASP ZAPによってWebアプリケーションの脆弱性を診断する手順については次の記事で紹介します。


◆ OWASP ZAPインストール手順 (2023年8月時点)

 インストールは大まかに以下の手順となります。

Ⅰ.FireFoxのインストール
Ⅱ.OpenJDK (Amazon Corretto) のインストール
Ⅲ.OWASP ZAP のインストール

Ⅰ.Firefoxのインストール

 OWASP ZAPは自身をプロキシとして設定したWebブラウザからアクセスしたサイトに対して診断をかけます。EdgeやChromeのプロキシ設定はOSのプロキシ設定に利用するため、OSのプロキシ設定にOWASP ZAPを設定しなければなりませんが、Firefoxは独自にプロキシ設定を保持できるので、Firefoxのインストールをお勧めします。

Ⅰ-1.
mozillaサイトのFirefoxのページ(https://www.mozilla.org/ja/firefox/new/)にアクセスし、「Firefoxをダウンロード」をクリックします。

Ⅰ-2.
インストーラーのexeファイルがダウンロードされますので、起動します。

Ⅰ-3.
インストールが開始されるので待ちます。

Ⅰ-4.
Firefoxが立ち上がればインストールは成功です。こちらは閉じて構いません。

Ⅰ-5.
デスクトップ上にできたFirefoxのショートカットを右クリックし、「プロパティ」を選択します。

Ⅰ-6.
「ショートカット」タブにあるリンク先について、exeファイルの存在するパス(デフォルトでは ”C:¥Program Files¥Mozilla Firefox” )をコピーします。

Ⅰ-7.
スタートメニューの検索で「sysdm.cpl」をクリックし、「管理者として実行」を選択します。

Ⅰ-8.
開いた「システムのプロパティ」ウィンドウにて「詳細設定」タブの「環境変数」ボタンをクリックします。

Ⅰ-9.
システム環境変数の「Path」を選択し、「編集」ボタンをクリックします。

Ⅰ-10.
「新規」ボタンをクリックし、追加された行にFireFoxのインストールパス
 ”C:¥Program Files¥Mozilla Firefox”
を追加します。
その後「OK」ボタンをクリックします。

Ⅰ-11.
「OK」ボタンをクリックして環境変数ウィンドウを閉じます。

Ⅰ-12.
「OK」ボタンをクリックしてシステムのプロパティウィンドウを閉じます。

Ⅱ.OpenJDK (Amazon Corretto) のインストール

 OWASP ZAPを動作させるためにはJDKのインストールが必要になります。ここではAmazonが提供しているOpenJDKの「Amazon Corretto」のバージョン17をインストールします。

Ⅱ-1.
Amazon Correttoのページにアクセスし、右側の「Amazon Corretto 17 をダウンロードする」ボタンをクリックします。

Ⅱ-2.
利用OSに合わせてインストーラーをダウンロードします。今回はWindows11にインストールしますので、Windows x64版のmsiインストーラーをダウンロードします。
ダウンロードしたインストーラーをダブルクリックで起動します。

Ⅱ-3.
インストーラーが起動しますので「Next」をクリックします。

Ⅱ-4.
インストール機能、インストール先のパスはデフォルトのまま「Next」をクリックします。

Ⅱ-5.
「Install」をクリックします。

Ⅱ-6.
「Finish」をクリックします。

Ⅱ-7.
コマンドプロンプトを開き、以下のコマンドを実行します。
  java –version

バージョン情報が出ればインストール成功です。

Ⅲ.OWASP ZAP のインストール

Ⅲ-1.
OWASP ZAPのページにアクセスし、「Download Now」ボタンをクリックします。

Ⅲ-2.
最新バージョンの Windows (64) Installer の「Download」ボタンをクリックします。
ダウンロードされたexeファイルをダブルクリックで実行します。

Ⅲ-3.
インストーラーが開始されるのでしばらく待ちます。

Ⅲ-4.
「次へ」をクリックします。

Ⅲ-5.
ライセンス契約の「承認する」を選択し、「次へ」をクリックします。

Ⅲ-6.
インストール形式で「標準インストール」を選択し、「次へ」をクリックします。

Ⅲ-7.
「インストール」をクリックします。

Ⅲ-8.
インストール完了まで待ちます。

Ⅲ-9.
「終了」をクリックします。


◆ 参考文献

脆弱性(ぜいじゃくせい)とは?|どんな危険があるの?|基礎知識|国民のための情報セキュリティサイト (soumu.go.jp)
【OWASP ZAP】インストールと基本的な使い方【Web脆弱性診断】 | チグサウェブ (chigusa-web.com)
OWASP ZAPを使ったWebシステムの脆弱性診断【前編】|Solution – ソリューション|株式会社イージェーワークス (ejworks.com)

XAMPPをインストールしWordPressテスト環境を構築する

 本記事は、Widows11にXAMPPをインストールし、その上にWordPressを構築する手順のメモとなります。

 XAMPPはWebアプリケーションの実行に必要なフリーソフトをまとめたソフトウェアとなります。XAMPPという名前について、Xはクロスプラットフォーム(Windows、macOS、Linuxの複数OSに提供)、AはApache HTTP Server(Webサーバーソフトウェア)、MはMySQLまたはMariaDB(データベースソフトウェア)、PPはPerlとPHP(アプリケーション実行環境)を表しています。

 WordPressの実行にはアクセスの入り口となるWebサーバーソフトウェア、WordPressプログラムの実行環境としてPHP、WordPressのデータを格納するデータベースとしてMySQLまたはMariaDB(MySQL)が必要となります。XAMPPを利用することでこれらの必要なソフトをまとめて用意することができます。

今回の手順は、以下の4つの流れで進んでいきます。
 Ⅰ. XAMPPのインストール
 Ⅱ. XAMPPでWebサーバ(Apache HTTP Server)の起動
 Ⅲ. XAMPPでデータベースサーバ(MySQL)にデータベースの作成
 Ⅳ. XAMPP上にWordPressの設定


◆ XAMPPでのWordPressテスト環境構築手順 (2023年8月時点)

Ⅰ.XAMPPインストール

Ⅰ-1.
XAMPPのサイト(https://www.apachefriends.org/jp/index.html)にアクセスし、「Windows向け XAMPP x.x.x (PHP x.x.x)」ボタンをクリックします。

Ⅰ-2.
インストーラーのexeファイルがダウンロードされますので、完了したら実行します。

Ⅰ-3.
以下のような警告が表示されます。UACによってXAMPPが正常に動作しない可能性があるので、 ”C:¥Program Files¥” 以下へのインストールを避けるか、UACを無効化せよとのことです。「OK」をクリックします。

Ⅰ-4.
「Next」をクリックします。

Ⅰ-5.
必要に応じてインストールするコンポーネントを選択します。WordPressを構築するためには最低限『MySQL』『phpMyAdmin』はチェックを入れたままにしてください。ここではデフォルトのままとし、「Next」をクリックします。

Ⅰ-6.
インストール先を選択します。Ⅰ-3の警告を考慮しましょう。ここではデフォルトの
”C:¥xampp” のまま「Next」をクリックします。

Ⅰ-7.
言語を選択します。英語かドイツ語しか選択できないようなので、デフォルトの『English』のまま「Next」をクリックします。

Ⅰ-8.
「Next」をクリックします。

Ⅰ-9.
インストール完了までしばらく待ちます。

Ⅰ-10.
以下の警告が出た場合は、「アクセスを許可する」をクリックします。

Ⅰ-11.
「Finish」をクリックします。

Ⅰ-12.
以下の画面が出ればXAMPPのインストールは完了です。

Ⅱ.Apache HTTP Server起動確認

Ⅱ-1.
Apacheの行にある「Start」ボタンをクリックします。

Ⅱ-2.
左側の「Apache」の背景が緑色になれば起動は成功です。

Ⅱ-3.
Webブラウザを開き、URLバーに ”localhost” と入力して、以下の画面が出れば成功です。

Ⅲ.MySQLの起動とWordPress用データベース作成

Ⅲ-1.
MySQLの行にある「Start」ボタンをクリックします。

Ⅲ-2
以下の警告が出た場合は、「アクセスを許可する」をクリックします。

Ⅲ-3.
左側の「MySQL」の背景が緑色になれば起動は成功です。「Admin」ボタンをクリックします。

Ⅲ-4.
Webブラウザが立ち上がり、「phpMyAdmin」の画面が開きます。画面上部の「データベース」をクリックし、データベース名に『wordpress』、照合順序に『utf8_general_ci』を選択して「作成」ボタンをクリックします。

Ⅲ-5.
画面左側に「wordpress」ができていれば成功です。
通常はデータベースに接続するユーザーを作成しパスワードを設定しますが、今回は作成せずにデフォルトのrootユーザーを使用します。またパスワードも指定しません。
こちらのphpMyAdmin画面は閉じて構いません。

Ⅳ.WordPressのインストール

Ⅳ-1.
WordPress日本語サイト(https://ja.wordpress.org/)にアクセスし、右上の「WordPressを入手」をクリックします。

Ⅳ-2.
「ダウンロードしてインストール」をクリックします。

Ⅳ-3.
「WordPress x.x をダウンロード」をクリックします。

Ⅳ-4.
WordPressのzipファイルがダウンロードされます。

Ⅳ-5.
zipファイルを解凍し、出てきた「wordpress」フォルダをXAMPPインストールフォルダ(デフォルトでは C:¥xampp)以下の「htdocs」フォルダ内にコピーします。
この場合、URLは http://localhost/wordpress になります。URL部分のwordpress を変更したい場合は、フォルダ名をwordpressから任意の名前に変更しましょう。

Ⅳ-6.
Webブラウザを開き、URL欄に ”localhost/wordpress” と入力します。
以下の画面が開くので、「さあ、始めましょう!」リンクをクリックします。

Ⅳ-7.
データベース名は、Ⅲ-4で作成した通り「wordpress」とします。
データベース接続ユーザーは今回WordPress用に作成していないので、デフォルトの「root」ユーザーを指定します。
データベース接続パスワードも設定していないので空欄とします。
データベースのホスト名について、このコンピュータ自身にデータベースが存在するので「localhost」とします。
テーブル接頭辞はデフォルトの「_wp」とします。

「送信」ボタンをクリックします。

Ⅳ-8.
「インストール実行」をクリックします。

Ⅳ-9.
サイトのタイトルは任意のタイトルを入力します。
ユーザー名とパスワードは、WordPressの管理者画面にログインする際のユーザー名/パスワードになりますので任意で設定します。
メールアドレスを設定します。外部公開しないサイトであっても設定が必要になります。

「WordPressをインストール」をクリックします。

Ⅳ-10.
「ログイン」リンクをクリックします。

Ⅳ-11.
本手順 Ⅳ-9 で設定したユーザー名/パスワードを入力すれば管理者画面に遷移できます。
また下部の 「← {設定したサイトのタイトル} へ移動」リンクをクリックします。

Ⅳ-12.
WordPressのサイトトップが出れば成功です。お疲れ様でした。


◆ 参考文献

XAMPP – Wikipedia
XAMPPを使ってWordPressローカル環境を構築する全手順 (lucy.ne.jp)
【Windows】XAMPPとWordPressのインストール | チグサウェブ (chigusa-web.com)

AWS LightsailのWordPressのApacheでIPアドレスによるアクセス制限

 本記事は、AWS LightsailのWordPressにて、IPアドレスによるアクセス制限をApache HTTP Serverの設定ファイル『httpd.conf』で行う手順のメモになります。

 IPアドレス制限は、アクセス元のIPアドレスによってアクセスを許可/拒否することをいいます。全てのアクセス元からの通信を拒否してから指定したIPアドレスからのみ接続を許可するパターン(ホワイトリスト方式)と、原則全てのアクセス元からの通信を許可しつつ、指定したIPアドレスからの接続は拒否するパターン(ブラックリスト方式)に分けられます。今回は後者のパターンで行います。

 今回はIP制限をApache HTTP Serverで実現します。Apache HTTP Server(以下、Apacheと表記)はWebサーバソフトウェアで、クライアントからの要求をアプリケーションに渡し、アプリケーションからの応答をクライアントに返す役割を担います。このWebサーバにて設定ファイルを編集し、IPアドレス制限を実現します。


こちらのサイト様によるとLightsailのWordPressに含まれるApacheは2023年7月現在でバージョン2.4となり、Requireディレクティブを使うのが良いようですが、本サイトでは2.2の方式(Allow,Denyディレクティブ)で行っています。

※ 本記事ではApache HTTP ServerをApacheと表記していますが、ApacheはHTTP Server以外にも様々なソフトウェアが存在するのでご注意ください。


◆ LightsailのWordPressのApacheでIPアドレス制限 (2023年7月時点)

1.
AWS Lightsail管理コンソールにアクセスし、対象インスタンスのコンソールアイコンをクリックします。

2.
以下のようにコピーコマンド “cp” を管理者で実行 “sudo” して、Apacheの設定ファイル『httpd.conf』のコピーを取得してバックアップとします(バックアップファイル名は任意で構いません)。
 sudo cp -ip /opt/bitnami/apache/conf/httpd.conf /opt/bitnami/apache/conf/httpd.conf_[日付].bak
 (sudo cp [オプション] [コピー元] [コピー先])
 ※ 以下、オプションの説明
  -i : コピー先が既に存在する場合、上書きするかどうかを確認する。
  -p : コピー元のパーミッション、所有者、タイムスタンプを保持する。

3.
以下の “vi” コマンドを管理者で実行 “sudo” して、Apacheの設定ファイル『httpd.conf』を標準テキストエディタで開きます。
 sudo vi /opt/bitnami/apache/conf/httpd.conf
 (sudo vi [開きたいファイル])

4.
『httpd.conf』が開くので、末尾まで移動します。

5.
末尾まで移動したら、キーボードの[i]キーを押してInsertモードに入ります。

6.
以下の内容を挿入します。
今回はWordPressに対してIPアクセス制限をかけるので、対象ディレクトリは ”/opt/bitnami/wordpress” となります。
基本的にはどのIPアドレスからもアクセスを受け付けつつ、一部IPアドレスからのアクセスは拒否するような流れの記載となります。

7.
記載が完了したらキーボードの[esc]キーを押してInsertモードを終了し、 ”:wq” と入力することで編集した内容を保存してテキストエディタを終了します。

8.
apachectl configtest” コマンドを管理者で実行 “sudo” して、Apacheの設定ファイル『httpd.conf』の構文に問題がないかのチェックを行います。
”Syntax OK” と出れば構文エラーはありません。
 sudo apachectl configtest

9.
apachectl graceful” コマンドを管理者で実行 “sudo” して、Apacheの設定ファイルを再読み込みすることで、設定ファイルにきさいされたIPアクセス制限を有効化します。
gracefulはそれまでにApacheに来たリクエストを処理してから再読み込みをするので、Webサイトへのアクセスへの影響をなくすことができます。
本コマンド実行後にもWordPressへのアクセスが正常にできれば問題ございません、お疲れさまでした。
 sudo apachectl graceful


◆ 参考文献

Apacheでip制限をする方法|httpd.confとhtaccessでのやり方を解説する (code-bug.net)
【 cp 】コマンド――ファイルをコピーする:Linux基本コマンドTips(17) – @IT (itmedia.co.jp)
viコマンドについて詳しくまとめました 【Linuxコマンド集】 (eng-entrance.com)
Apacheのrestartやgraceful、stopなどの違い | ⬢ Appirits spirits

AWS Lightsailのインスタンス手動バックアップ

 本記事は、AWS Lightsail管理コンソール上からLightsailインスタンスのバックアップを手動で取得する手順のメモとなります。

 Lightsailインスタンスは作成時に指定した時刻にて自動でバックアップが取得され、7日間保存されます。不測の事態に対するバックアップとしてはこの自動バックアップでも十分かもしれませんが、インスタンス上のアプリケーションの設定を変更する場合など、作業前に手動でバックアップしたい場合はこちらの手順を参考にしていただければと思います(私も本ブログのベースとなっているWordPressのバージョンアップを行う際に、本手順でバックアップを取得しています)。

 なおバックアップからのリストアに関し、既存インスタンスをバックアップで上書きするようなことはできず、新規インスタンスを作成する、別リージョンにコピーする、Amazon EC2(IaaSの仮想マシンサービス)にエクスポートする、の中からリストア方法を選択することとなります。このリストア手順については記事にしておりませんのでご了承ください。


◆ Lightsailインスタンス手動バックアップ手順 (2023年8月時点)

1.
AWS Lightsail管理コンソールにアクセスし、対象のインスタンス名をクリックします。

2.
「スナップショット」タブを選択し、手動スナップショットの下にある「+ スナップショットの作成」をクリックします。

3.
スナップショット名はデフォルトで「インスタンス名+ランダム数字」となっているかと思います。任意のスナップショット名に編集して、「作成」をクリックします。

4.
『スナップショット作成中』となるのでしばらく待ちます。

5.
スナップショットが作成されると、スナップショット取得時刻が表示されます。スナップショットに対して可能なアクションを「…」をクリックして確認してみます。

6.
スナップショットに対するアクションとしては本記事冒頭で記載したように「新規インスタンスの作成」「別リージョンへのコピー」「Amazon EC2(IaaSの仮想マシンサービス)にエクスポート」が選択できます。またスナップショットが不要になった際は削除もこちらで行えます。

恐らくリストア時は ①バックアップから新規にインスタンスを作成、 ② Lightsail用CDNのオリジナル元を①で作成した新規インスタンスに変更(※)、 ③ 動作確認後、古いインスタンスを削除 といった流れになるかと思います)。

※) Lightsail用CDNを利用している場合。利用していない場合に②は 静的IPアドレスの付け替えとDNSの書き換えになるかと思います。

以上が手動バックアップの手順となります、お疲れさまでした。

Docker Desktopのガイドを触る (4:Publish your image)

 本記事は、Windows11にインストールしたコンテナ型仮想化環境プラットフォーム「Docker Desktop」のガイド『Run Docker Hub images 』を確認したメモです。
 Docker Desktopのインストールはこちらの記事、その他の各ガイドの記事は以下となります。
 ・What is a Container?
 ・How do I run a container?
 ・Run Docker Hub images

 Docker社が提供するDockerイメージを共有するためのクラウドサービス「Docker Hub」が存在し、様々なベンダーや個人がコンテナイメージを提供していることは前回の記事で述べました。

 今回のガイドでは、Docker Hubへのコンテナイメージのアップロードを行っていきます。


◆ ガイド4:Publish your image (2023年7月時点)

1.
Docker Desktopの左メニュー「Lerning Center」を選択し、「Publish your image」をクリックします。
右側に説明文が表示されます。本ガイドを進めるには少なくとも1つのコンテナイメージが必要で、ない場合は「welcome-to-docker」イメージを検索して「Pull」ボタンをクリックします、とのことです。

2.
画面上部の検索バーをクリックし、検索ウィンドウで「welcome-to-docker」と入力します。「Images」タブにて「welcome-to-docker」公式イメージの「Pull」ボタンをクリックします。

3.
画面右側ガイドの「Next」ボタンをクリックし、次のステップを見てみましょう。

4.
画面右上の「Sign in」を押してDocker Hubにサインインするか、新規アカウントを作成しましょう、といった内容が表示されますので、右上の「Sign in」をクリックします。

5.
Webブラウザが立ち上がり、Dockerのログイン画面が開きます。ここでは新規にアカウントを作成するため、画面右上の「Sign Up」をクリックします。

6.
「Username」「Email」「Password」を入力し、サービス規約・プライバシーポリシー等の同意、私はロボットではありませんのチェックを入れて「Sign Up」ボタンをクリックします。
ここではプロダクトのアップデート等のアナウンスにもチェックを入れていますが、おそらく必須ではありません。また、Usernameに大文字を含めていましたが、この後は小文字になるよう(恐らく大文字・小文字を区別しない?)です。

7.
項番6で設定したUsernameまたはEmailを入力し、「Continue」ボタンをクリックします。

8.
Emailアドレスが正しいことを確認の上、項番6で設定したPasswordを入力して「Continue」ボタンをクリックします。

9.
サインインに成功するとDocker Desktopを開こうとするので、「開く」ボタンをクリックします。

10.
画面右上の「Sign in」がUsernameに変わっていることを確認し、「Next」ボタンをクリックし、次のステップを見てみましょう。

11.
Docker Hubでのイメージ公開前に、自分のイメージであることを示すためにDockerイメージをリネーム(自身の名前を含む別名を付ける)しましょう、といった内容が表示されます。

12.
リネームのための ”docker tag” コマンドを「Copy」ボタンをクリックしてコピーします。

13.
コピーしたコマンドは以下の通りとなります。
 docker tag docker/welcome-to-docker YOUR-USERNAME/welcome-to-docker
 (docker tag [別名を付与したいDockerイメージ名 or ID] [付与したい別名])

こちらについて ”YOUR-USERNAME” の部分を項番6で設定した自身のUsernameに変更します。
 docker tag docker/welcome-to-docker kageroulab/welcome-to-docker
変更したコマンドをコマンドプロンプトで実行します。

14.
実行結果は以下のようになり、コマンドプロンプト上では特に何も返されません。

15.
「Next」ボタンをクリックし、次のステップを見てみましょう。

16.
イメージを選択して「Push to Hub」を選択しましょう、といった内容が表示されます。

17.
「Images」メニューを選択し、先程「kageroulab/welcome-to-docker」とタグをつけたイメージの「…」から「Push to Hub」をクリックします。

18.
Docker Hubにアップロードされているようですのでしばらく待ちます。

19.
画面右側のガイドの続きにて、Docker Hubに移動してリポジトリを見てみましょう、といった内容が表示されています。「Docker Hub」リンクをクリックします。

20.
Webブラウザが立ち上がり、Docker Hubのサイトが表示されます。先程作成したDockerのアカウントでサインインできますので、「Sign in」リンクをクリックします。

21.
コンテナイメージがアップされていることがわかります。右側に「Public」とあるのでこのイメージは公開されています。

22.
Hubにアップロードしたイメージは、「Images」メニューからのHubタブからも確認ができます。

23.
画面右側ガイドの「Next」ボタンをクリックし、次のステップを見てみましょう。

24.
プログラム言語固有のガイドリンクが表示されますので、全体的なDocker Desktopのガイドとしてはこれで全てとなります。お疲れさまでした。


◆ 参考文献

docker tagコマンドの使い方(実例で解説) | めもたんす (memotansu.jp)

Docker Desktopのガイドを触る (3:Run Docker Hub images)

 本記事は、Windows11にインストールしたコンテナ型仮想化環境プラットフォーム「Docker Desktop」のガイド『Run Docker Hub images 』を確認したメモです。
 Docker Desktopのインストールはこちらの記事、『What is a container?』のガイドの確認はこちらの記事、『How do I run a container?』のガイドの確認はこちらの記事で実施しています。

 Dockerコンテナを作成するためのコンテナイメージについては、前回(How do I run a container?)で紹介したDockerfileから作成する方法以外にも、Docker Hubからコンテナイメージを取得して利用することもできます。
 Docker HubはDocker社が提供する、Dockerイメージを共有するためのクラウドサービスです。こちらには様々なベンダーや個人がコンテナイメージを提供しております。例えば本ブログのベースとなるWordPressが予めインストールされたコンテナイメージを、WordPress公式が公開していたりします(イメージはこちら)。

 今回のガイドでは、ガイド用のwelcome-to-dockerイメージをDocker Hubからダウンロードして起動するまでを行います。


◆ ガイド3:Run Docker Hub images (2023年7月時点)

1.
Docker Desktopの左メニュー「Lerning Center」を選択し、「Run Docker Hub images」をクリックします。
右側に説明文が表示されます。ウィンドウ上部の検索バーでDocker Hubからイメージを検索できるようです。試しにwelcome-to-dockerイメージを検索してみましょう。

2.
ウィンドウ上部の検索バーをクリックします。

3.
「Images」タブをクリックします。

4.
画面上部の検索ボックスに「welcome-to-docker」と入れてみましょう。検索結果として52個のイメージが表示されます。

6.
一度検索を閉じ、右側で「Next」ボタンをクリックして次のガイドに進んでみましょう。

7.
「検索したDockerイメージについて「Run」を選択しましょう。ポートは8090番を指定しましょう」といったような内容が表示されます。

8.
再度「welcome-to-docker」イメージを検索します。
認証マークの付いた「welcome-to-docer」の「Run」ボタンをクリックします。

9.
「Optional settings」を展開します。

10.
Ports欄で『8090』を指定し、「Run」ボタンをクリックします。

11.
Docker Desktopの画面右側ガイドで「Next」ボタンをクリックします。

12.
画面右側のガイドでは、Containersメニューからコンテナを開いてみましょうといった内容が表示されます。Containersメニューにて、先程指定した8090番からコンテナの80番にフォワーディングされているコンテナのPort(s)列をクリックしてみましょう。

13.
正常にコンテナのアプリケーションにアクセスができましたら、以下の画面となります。

14.
画面右側ガイドの「Next」ボタンをクリックして次のガイドに進んでみましょう。

15.
次のガイドとして、「Publish your image」を勧められますので、次回実施しようと思います。
今日はここまでとします、お疲れさまでした。


◆ 参考文献

【入門】Docker Hubとは?概要と仕組み、基本的な使い方を解説 – カゴヤのサーバー研究室 (kagoya.jp)