---
title: Bedrockを利用した複数Wordpressサイト管理
tags: 
author: [koda-h](https://convert.docswell.com/user/6214659869)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/GJWZN62ZJ2.jpg?width=480
description: Bedrockを利用した複数Wordpressサイト管理 by koda-h
published: December 20, 25
canonical: https://convert.docswell.com/s/6214659869/KLVDYP-2025-12-14-212728
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/GJWZN62ZJ2.jpg)

Bedrockを利用した複数
Wordpressサイト管理
2025/12/20 PHPer大忘LT会 2025
1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/4EZ13YDL73.jpg)

自己紹介
幸田 裕史(KODA Hiroshi)
●
●
●
所属: 株式会社ペイメントフォー (旧 株式会社メタップスペイメント )
○
2018年4月〜 PHPエンジニア兼インフラエンジニア
○
現在は主に EM(エンジニアリングマネージャー )として活動中
アカウント
○
@kodah0280
○
Github: koda-h
○
Qiita: koda-h
趣味: ライブ参戦
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/Y76LXD1MJV.jpg)

目次
●
課題感
●
実現したいこと
●
Roots Bedrockについて
●
Bedrockを利用した Docker構成
○
セットアップ方法
○
動作説明
●
Bedrockを利用した Wordpressサイトの運用管理
●
まとめ
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/G751X34QE4.jpg)

課題感
●
Wordpressサイトが EC2に構築されている
○
○
全体の構成管理 (Git管理)ができていない
■
nginx設定
■
PHP設定
■
Wordpress plugin設定
環境移行などの構成変更が難しい
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/9J21XZVW7R.jpg)

目次
●
課題感
●
実現したいこと
●
Roots Bedrockについて
●
Bedrockを利用した Docker構成
○
セットアップ方法
○
動作説明
●
Bedrockを利用した Wordpressサイトの運用管理
●
まとめ
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/DEYZ8R397M.jpg)

実現したいこと
●
Wordpressサイトをリポジトリで管理したい
○
●
特に、複数サイトを 1リポジトリで管理したい
Dockerで構成管理したい
○
ECS Fargateにデプロイしたい (今回は取り扱いません ..)
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/VJN3QDVDJ8.jpg)

目次
●
課題感
●
実現したいこと
●
Roots Bedrockについて
●
Bedrockを利用した Docker構成
○
セットアップ方法
○
動作説明
●
Bedrockを利用した Wordpressサイトの運用管理
●
まとめ
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/YE99DG68E3.jpg)

Roots Bedrockについて
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/GE893VZZ7D.jpg)

Roots Bedrockについて
●
WordPress を「よりモダン／開発者向け」に扱うための “ボイラープレート ”
●
依存管理に Composer を利用
○
WordPress 本体やプラグイン、テーマを Composer 管理下に置くことで、バージョン固定・再現性のある構
成が可能。 ￼
●
環境ごとの設定を明確に分離（ .env + conﬁg）
○
●
開発／ステージング／本番など環境ごとに設定を切り替えやすく、安全に管理できる。
ディレクトリ構造の整理
○
従来の WordPress が「コア」「テーマ」「プラグイン」「アップロード」が混在しがちだったところを整理。公開
ディレクトリ（ web/）やコンテンツディレクトリ（ web/app/）に分けることで、管理やセキュリティが向上。
●
￼
Git 管理との親和性
○
コアファイルを Git 管理の対象から外し、自分で書いたテーマやプラグイン、設定だけを管理。これによりリ
ポジトリが軽く、不要なファイルで汚れない。
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/LELWV5D1JR.jpg)

目次
●
課題感
●
実現したいこと
●
Roots Bedrockについて
●
Bedrockを利用した Docker構成
○
セットアップ方法
○
動作説明
●
Bedrockを利用した Wordpressサイトの運用管理
●
まとめ
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/4JM9G3P5EW.jpg)

Bedrockを利用した Docker構成
https://github.com/koda-h/docker-wordpress
GitHub - koda-h/docker-wordpress
https://github.com
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/PJRGZQ1ZE9.jpg)

Bedrockを利用した Docker構成(セットアップ方法 )
# リポジトリを git clone します
$ git clone github.com:koda-h/docker-wordpress
$ cd docker-wordpress
# .envファイルを作成します
$ make create-env
# コンテナイメージを buildします
$ make build
# コンテナを起動します
$ make up
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/PEXX95Y1EX.jpg)

Bedrockを利用した Docker構成(セットアップ方法 )
http://localhost:8831 を開いて、言語選択画面が表示されればインストール成功です。
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/3EKWP63MED.jpg)

Bedrockを利用した Docker構成(動作説明 )
●
docker周りの設定は etc/docker 配下に設置。
●
サイトの composer.jsonは etc/site/{サイト名 } に設置。
●
今回構築したサンプルは、「 sample」というサイト名として構築。
○
.envに環境変数 SITE=sampleとして設定。
○
サイト名と、各設定ファイルが連動している。
■
■
etc/docker/app/ﬁle/sample
●
pz-linkcard のようにファイル名を記述
●
data/uploads/pz-linkcard のディレクトリをコピーする
etc/docker/app/plugin/sample
●
■
wpackagist-plugin/custom-post-type-ui:* のように記述
etc/docker/app/theme/sample
●
yswallow のようにテーマ名を記述
○
data/themes/yswallow のテーマをインストールする
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/L731X6G2J5.jpg)

Bedrockを利用した Docker構成(動作説明 )
wordpressインストールのフロー
if [ ! -f &quot;/var/www/html/composer.json&quot; ]; then
ln -s etc/site/${SITE}/composer.json /var/www/html/composer.json
ln -s etc/site/${SITE}/composer.lock /var/www/html/composer.lock
ﬁ
sh -x /usr/local/bin/wordpress_install.sh
composer install
sh -x /usr/local/bin/setup_bedrock.sh
sh -x /usr/local/bin/plugin_install.sh
sh -x /usr/local/bin/theme_install.sh
sh -x /usr/local/bin/ﬁle_install.sh
touch tmp/installed_wordpress
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/87DX2V16EG.jpg)

Bedrockを利用した Docker構成(動作説明 )
wordpressインストールのフロー
appコンテナ起動時、 docker-entrypoint.sh にて以下を行います。
●
composer.json, composer.lock のシンボリックリンクを作成
○
etc/site/{サイト名 }/composer.json, etc/site/{サイト名 }/composer.lock を、トップ階層にリンクを作成
●
WordPress を composer にてインストール
●
bedrockのプロジェクト作成 (composer create-project roots/bedrock)
○
●
プラグインのインストール
○
●
サイトのテーマのファイルを元に、テーマディレクトリ配下のテーマを配置します。
ファイルのインストール
○
●
etc/docker/app/plugin 配下のファイルの内容を元にプラグインをインストールします。
テーマのインストール
○
●
プロジェクト作成後、 web/wp にファイルを移動
etc/docker/app/ﬁle 配下のファイルの内容を元に WordPressのアップロードディレクトリに配置します。
コンテナ起動時に上記を毎回行うと起動時に間がかかるため
tmp/installed_wordpress というファイルを作成し、このファイルが有る
場合は次回起動時に上記インストールをスキップします。
○
※ 再度インストールを実施したい場合は、
tmp/installed_wordpress を削除するか、 make force-up を実行してください。
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/VJPP1V5ZJ8.jpg)

目次
●
課題感
●
実現したいこと
●
Roots Bedrockについて
●
Bedrockを利用した Docker構成
○
セットアップ方法
○
動作説明
●
Bedrockを利用した Wordpressサイトの運用管理
●
まとめ
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/2EV2YZPMEQ.jpg)

Bedrockを利用した Wordpressサイトの運用管理
composerで管理しているため、 composer update でバージョンアップ可能です。
$ make composer-update
Loading composer repositories with package information
Updating dependencies
Lock ﬁle operations: 0 installs, 18 updates, 0 removals
.
- Upgrading roots/wordpress (6.3.2 =&gt; 6.9.0)
- Upgrading roots/wordpress-no-content (6.3.2 =&gt; 6.9.0)
.
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/57GR94PXEL.jpg)

Bedrockを利用した Wordpressサイトの運用管理
Pluginの管理(makeコマンドを用意 )
プラグイン追加
$ make add-plugin name={プラグイン名 }
all-in-one-seo-packのpluginをイ
ンストールする場合
ex) $ make add-plugin name=all-in-one-seo-pack
実際には composer require が実
行される
docker compose run --rm app composer require wpackagist-plugin/${name}:*
プラグイン削除
$ make del-plugin name={プラグイン名 }
プラグイン更新
$ make update-plugin name={プラグイン名 }
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/4EQVWG25JP.jpg)

Bedrockを利用した Wordpressサイトの運用管理
Themeの管理
data/themes ディレクトリに配置し、 etc/docker/theme/{サイト名} のファイルに記載しインストールされるようにする
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/KJ4MK5LVE1.jpg)

Bedrockを利用した Wordpressサイトの運用管理
複数サイトの管理について
●
以下のディレクトリ・ファイルを追加することによって、複数サイトの管理が可能です。
○
●
※別ディレクトリで git clone して管理する必要があります。
追加したサイトを起動する場合は、 以下の例では、環境変数 SITE=hoge2 としてください。
● hoge2 のサイトを追加する場合
例:
## ディレクトリ追加
$ mkdir etc/site/hoge2
※ 配下の composer.json, composer.lock もコピー等で作成する
## ファイル追加
$ touch etc/docker/app/ﬁle/hoge2
$ touch etc/docker/app/plugin/hoge2
$ touch etc/docker/app/theme/hoge2
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/LE18XWL47G.jpg)

Bedrockを利用した Wordpressサイトの運用管理
複数サイトの管理について
●
複数サイト同時にローカル上で起動する場合は .envの以下の環境変数のポート番号も変更する必要があります。
.env
SITE=hoge2
WEB_PORT=8832
WP_HOME=&#039;http://localhost:8832&#039;
WP_SITEURL=&#039;http://localhost:8832&#039;
DB_PORT=33312
22


# Page. 23

![Page Image](https://bcdn.docswell.com/page/GEWZN6VZE2.jpg)

目次
●
課題感
●
実現したいこと
●
Roots Bedrockについて
●
Bedrockを利用した Docker構成
○
セットアップ方法
○
動作説明
●
Bedrockを利用した Wordpressサイトの運用管理
●
まとめ
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/47Z13Y4LJ3.jpg)

まとめ
Bedrockを利用することにより、 Wordpressサイト全体構成の Git管理及び、複数サイトの管理を 1リ
ポジトリで行うことが実現できました。
今回は取り扱いませんでしたが、実際の運用では genovaというRuby on Rails製のデプロイツールを
利用して、 ECS fargateにて稼働しています。
https://github.com/metaps/genova
GitHub - metaps/genova AWS ECS Deployment manager
https://github.com
24


# Page. 25

![Page Image](https://bcdn.docswell.com/page/YJ6LXD3MEV.jpg)

おわり
ご清聴ありがとうございました！
本内容は Qiitaにて記事を投稿しています。
https://bit.ly/4poeGIE
25


