WordPress を複数コンテナで構築し、サブドメインで外部公開する完全手順

WordPress を複数コンテナで構築し、サブドメインで外部公開する完全手順

最近、自分のブログがちょっと分野が広すぎて、読み手の人のことは考えてないものになってるなぁ。。。と気が付きました。

まぁ、気が付くのが遅すぎなのですが。。。

なので、ブログを今後は分割しようと思って、複数作るのにはどうやるのかなぁ?と思いましたが、以下の方法で作成できました。

今後、徐々に当サイトは、ジャンルごとに分割されていくことになります。

一応、趣味とか、ジャンルごとにしていきたいと思ってます。

このサイトもどうするかはまだ、はっきりとは決めてません。


WordPress を複数コンテナで構築し、サブドメインで外部公開する完全手順

Synology の Docker(Container Manager)を使って
複数の WordPress サイトを独立コンテナとして構築し、
DS1621+ のリバースプロキシ経由で外部公開する
ための
完全なセットアップ手順をまとめました。

本記事は、

  • DS920+:WordPress(wp1〜wp8)をホスト
  • DS1621+:外部公開の“親”(Reverse Proxy + DDNS)
    という 2台構成を前提にしています。

🧩 WordPress コンテナ完全セットアップ手順(DS920+ → DS1621+ Reverse Proxy 統合版)

以下は wpX(wp1〜wp8)共通の手順。(8つ作ったのですよね)
番号だけ変えればすべてのサイトに適用できますよ。

それと、作成されるWordpressはDS920+を購入しましたので、そこに作成しました。

で、公開するにはリバースプロキシを使って公開してます。


#️⃣ 1. ディレクトリ作成(DS920+ ホスト側)


#️⃣ 2. Portainer でスタックをデプロイ

Portainerが好き(スタックが残せて、後でも編集できる)なので、Portainer用のスタックです。

wpXとそれぞれ1、とかに変更してください。

あと、808X:80のxも1とかに。

WordPress + MariaDB のスタックを起動。


(この時点では MariaDB が権限エラーで落ちるのは正常)


#️⃣ 3. MariaDB の権限修正(DS920+ ホスト側)

3-1. MariaDB 停止

3-2. ディレクトリ権限修正

3-3. 再起動


#️⃣ 4. WordPress データベースのインポート

DB-nameは自分で付けた名前を、これで、元のブログの内容をコピーしてます。

4-1. もし「Table already exists」エラーが出たら


#️⃣ 5. wp-content のコピー(DS920+ ホスト側)


#️⃣ 6. WordPress コンテナ内で URL 置換準備(wp-cli)


#️⃣ 7. WordPress の内部URL → 外部URLへ置換(後で実行)

※ Reverse Proxy 設定後に実行する
例:wp1 の場合


#️⃣ 8. WordPress ディレクトリの権限修正(DS920+ ホスト側)


🧩 ここから外部公開(DS1621+ Reverse Proxy)

私の環境では DS1621+ が外部公開の“親”
DS920+ の WordPress はすべて DS1621+ 経由で公開する。


#️⃣ 9. DS1621+ でサブドメインを作成

例:

  • wp1.ysand.myds.me(DS1621+のDDNSを使う。DS920+のDDNSでない)
  • wp2.ysand.myds.me
  • wp8.ysand.myds.me

(myds.me はサブドメイン自由に作れる)


#️⃣ 10. DS1621+ Reverse Proxy 設定

DSM → アプリケーションポータル → Reverse Proxy → 作成

wp1 の例:

ソース:

  • プロトコル:HTTPS
  • ホスト名:wp1.ysand.myds.me
  • ポート:443

宛先:

  • プロトコル:HTTP
  • ホスト名:192.168.0.70
  • ポート:8081

wp2〜wp8 も同様に:

サイトサブドメイン宛先
wp1wp1.ysand.myds.me192.168.0.70:8081
wp2wp2.ysand.myds.me192.168.0.70:8082
wp3wp3.ysand.myds.me192.168.0.70:8083
wp8wp8.ysand.myds.me192.168.0.70:8088

#️⃣ 11. DS1621+ で Let’s Encrypt 証明書取得

DSM → セキュリティ → 証明書 → 追加 → Let’s Encrypt

  • wp1.ysand.myds.me
  • wp2.ysand.myds.me
  • wp8.ysand.myds.me

をそれぞれ取得。

Reverse Proxy の「詳細設定」で割り当てる。


#️⃣ 12. WordPress の URL を本番URLに置換(最終ステップ)

例:wp1

wp2〜wp8 も同様。


🏁 これで DS920+ の WP1〜WP8 がすべて外部公開される

構造はこう:

外部
 ↓
443
 ↓
DS1621+(ysand.myds.me)
 ↓
Reverse Proxy
 ↓
wpX.ysand.myds.me → DS920+ の WordPress(808X)

と言う感じで、段々とブログサイトがジャンルごとに分割されるというお話でした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください