MENU

【開発5日目】ConoHa VPSでWordPressと自作Webアプリを同居させる準備(Docker導入編)

VPSとWordPressを立ち上げる記事のアイキャッチ

前回(開発4日目)で、ConoHaのVPS上に無事WordPressを立ち上げることができました!SWELLを使ってブログとしての環境は整ってきましたが、このサーバーの最終目標は「ブログを書くこと」だけではありません。

今後の計画として、多次元データの可視化や分析ができる独自のWebアプリを開発し、このサーバー上で動かしてもらおうと考えています。

今回は、「SWELLのブログ環境」と「これから作る自作アプリ」を1つのVPS内で安全に同居させるためのサーバー構成について考え、その下準備を行いました。

目次

なぜそのままアプリを置かないのか?

今のVPS(サーバー)に直接アプリのプログラムを置くこともできますが、それだと以下のような問題が起きる可能性があります。

  • アプリを動かすための新しいプログラム(Node.jsやPythonなど)を入れると、WordPressの動作環境(PHPなど)と干渉してしまうかもしれない。
  • 万が一アプリがエラーを起こして暴走したとき、ブログまで一緒に見られなくなってしまう。

そこで採用するのが、Docker(ドッカー)リバースプロキシを組み合わせた構成です。

Dockerと同居環境の仕組み

Dockerとは、1つのサーバーの中に「仮想的な独立した部屋(コンテナ)」をいくつも作れる技術のことです。
この技術を使って、サーバーの中を以下のような3つの役割に分割します。

  • 案内役(Nginxリバースプロキシ)
    インターネットからのアクセスを一番手前で受け止めます。「blog.ドメインならブログ部屋へ」「app.ドメインならアプリ部屋へ」と通信を振り分けるマンションの受付のような役割です。
  • ブログ部屋(WordPress)
    案内役から渡された通信にだけ応答します。現在のSWELL環境や記事データは、この安全な部屋の中に隔離します。
  • アプリ部屋(自作アプリ)
    ブログとは完全に別の空間で動きます。ここで多次元データ処理など重い処理を行っても、ブログ部屋には直接影響が出ません。

この「部屋を分ける」環境を作るために、まずはVPS本体にDockerをインストールしていきます。

実践:UbuntuへのDockerインストール

VPSにSSH接続し、以下のコマンドを順番に実行してDockerを導入しました。

1. システムを最新状態にする

sudo apt update
sudo apt upgrade -y

2. Docker公式の鍵を登録するための準備

sudo apt install ca-certificates curl gnupg lsb-release -y
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

3. ダウンロード先(リポジトリ)の追加

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4. Docker本体のインストール

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

5. 一般ユーザーでもDockerを使えるようにする設定

毎回 sudo をつけるのは面倒なので、現在ログインしているユーザーに権限を付与します。

sudo usermod -aG docker $USER

※この設定を反映させるため、ここで一度VPSからログアウト(exit)し、再度SSH接続で入り直します。

6. インストールの確認

再ログイン後、以下のコマンドでバージョンが表示されれば大成功です!

docker --version
docker compose version

次回の予定

これで、VPS上に「独立した部屋(コンテナ)」を作る準備が整いました。

しかし、今のWordPressはまだサーバー本体に直接インストールされている状態です。次回は、今動いているWordPressのデータ(SWELLの設定や記事など)を、プラグインを使って丸ごと新しいDockerの部屋へ「お引っ越し」させる作業に入ります!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次