デモの概要について
WordPressサイトをラズベリーパイに構築して内部ネットワーク上でテスト利用や学習目的に用いるお試しIT活用iiモデルです。
組織内プライベートネットワーク(LAN等)で運用することで、インターネット公開前にWordPressサイトをテストする用途(サイトのカスタマイズ確認、新しいテーマやプラグインの検証等)や、経験が浅いサイト管理者向けの学習環境として利用する用途が考えられます。
WordPressサイトをラズベリーパイに構築して内部ネットワーク上でテスト利用や学習目的に用いるお試しIT活用iiモデルです。
組織内プライベートネットワーク(LAN等)で運用することで、インターネット公開前にWordPressサイトをテストする用途(サイトのカスタマイズ確認、新しいテーマやプラグインの検証等)や、経験が浅いサイト管理者向けの学習環境として利用する用途が考えられます。
動画の内容(構成)は以下になります。
Raspberry Pi(ラズベリーパイ)に対しては、使用するPCと同じネットワーク(LAN等)に接続する準備(Wi-Fi設定またはイーサネット接続)を済ませておけば、使用する際には電源に接続するだけです。特に操作の必要はありません。
使用するPCに対しては、インストール等の環境変更は必要ありません。ブラウザからWordPress環境(サイトやダッシュボード画面)にアクセスして作業します。(Raspberry Piと同じネットワークに接続している前提)
ダッシュボード画面での操作では、サイトのカスタマイスや、プラグインの追加や、テーマの追加(変更)等を普通に行えますので、テスト環境として使用できます。
Raspberry PiにWordPress環境を構築すると、まずはLAN内でアクセス可能なサイトが出来上がります。
更にインターネット公開を行うには、ドメインを用意して設定したり、HTTPS化の為にSSLサーバ証明書を用意してインストールするだけでなく、慎重なセキュリティ設定対応も欠かせません。しかし裏を返せば、インターネット公開前のテスト環境が欲しいのであれば、こうした難易度の高い作業は必須ではなくなります。
インターネット非公開と言っても、インターネット側からサイトにアクセスできないのであって、サイトがインターネットに未接続という訳ではありません。デモ動画ではプラグインやテーマを追加していますが、インターネット経由で検索してインストールしています。
よって、さまざまなプラグインやテーマを検証できます。また、サイト上からインターネット側への外部リンクも可能です。
WordPress環境構築にあたり、必要なソフトウェアをRaspberry Piに個別にインストールしても良いですが、今回のデモ構成では、まずDocker環境を構築した上で、コンテナ(仮想環境)としてWordPress環境を構築しています。技術的な情報は以下のDocker公式ドキュメントを参照しました。
「クィックスタート: Compose と WordPress」
https://docs.docker.jp/compose/wordpress.html
(2022/1/16 引用)
多少補足します。今回のデモ構成ではデータベースにMariaDBを使用しています。WordPressのデータベースと言えば通常はMySQLですが、Raspberry PiではMariaDBの使用が推奨されている為です。
また、Dockerを利用した環境では通常であれば、対象の仮想環境をコマンド(docker-compose)で起動して使用します。デモ動画のようにRaspberry Pi起動と共に目的の環境を起動するにあたって、今回のデモ構成ではRaspberry Piにおける自動起動の手段であるsystemdにより実現しています。
余談ですが、Raspberry Pi OSについて、通常の32ビット版だけでなく64ビット版でも検証してみました。その結果、64ビット版の方がDocker公式ドキュメントに殆ど沿った方法で実現できました。32ビット版では余計な作業が必要になりました。
もう少しDockerを利用するメリットついて触れておきます。Dockerを利用するとWordPressに限らず、さまざまな環境を簡単に構築することができます。また、仮想環境なので使う時だけ対象の環境をコマンド(docker-compose)で起動すれば良く、環境の切り替えを容易に行えます。
実際に行っている例として、WordPressのサイトをLAMP構成で構築した環境と、非WordPressのサイトをLEMP構成で構築した環境を、1台のRaspberry Piでテスト作業の都度切り替えて使い分けています。
因みに、ここでの「LAMP」とは、OSにLinux、WebサーバにApache、データベースにMariaDB、プログラミング言語にPHPを使用した環境であることを指しています。一方で「LEMP」は、Webサーバにnginx(エンジンエックス)を代わって使用した環境であることを指しています。