未分類
2025/02/08
2025/04/06

headless wordpress (3) wordpress初期設定
~ 目次 ~
1 wordpress 初期設定
前回まででdocker composeによる開発環境の構築、https-portalをwebサーバーにしてフロントエンド、wordpressの管理画面をそれぞれブラウザに表示させることができました。
headless-wordpress/
├── frontend-next/
├── backend-wp/
│ └── my-theme/
│ ├── index.php
│ ├── functions.php
│ └── style.css
└── docker/
├── development/
│ ├── Dockerfile
│ └── docker-compose.yml
└── production/
├── Dockerfile
└── docker-compose.yml
今回はwordpressの初期設定をしていきます。
先ずブラウザで
https://wp.localhost.net/wp-admin
として言語の選択〜サイト名などを入力していきます。
「検索エンジンにインデックスさせない」のところは、インデックスさせたいのはフロントエンド側なのでチェックを入れておきます。
ユーザー名、パスワードを入力してログインできたら「外観」からmy-themeが反映されているのを確認して有効化しておきます。
次に「設定」〜「表示設定」で先程の「検索エンジンにインデックスさせない」にチェックが入っているのを確認。
「パーマリンク」で「投稿名」を選択したら「変更を保存」ボタンを押して設定を反映させます。
2 php.iniファイルの設定
php.iniファイルはwordpressの構成する重要なファイルですがまず最初に必要となるアップロードデータの上限を増やす設定をしていきます。
全体の流れとしてはbackend-wpコンテナ内に入ってphp.ini-developmentファイルをコピー、ローカル側で設定を変更、変更したファイルをバインドマウントします。こうすることでビルド時にいちいち設定を変更しないで済むようになります。
まずは
docker exec -it backend-wp bash
としてコンテナ内に入り
cd /usr/local/etc/php/
とします。
ls
として、php.ini-developmentと、php.ini-productionという2種類のファイルがあるのを確認したらbackend-wpに移動して、次のコマンドでコピーしてきます。
docker cp backend-wp:/usr/local/etc/php/php.ini-development php.ini
コピーができたら次のようにphp.iniファイルが追加されたと思います。
headless-wordpress/
├── frontend-next/
├── backend-wp/
│ ├── my-theme/
│ │ ├── functons.php
│ │ ├── index.php
│ │ └── style.css
│ └── php.ini
└── docker/
├── development/
│ ├── Dockerfile
│ └── docker-compose.yml
└── production /
├── Dockerfile
└── docker-compose.yml
そうしたら今コピーしてきたphp.iniファイルの設定内容を変更していきます。とりあえず次の3 つの変更を加えると良さそうです。
upload_max_filesize = 128M
post_max_size = 256M
memory_limit = 512M
特にupload_max_filesizeはデフォルトだと2Mとかなり少なく、まともに画像がアップロードできないので設定は必須でしょう。お使いのエディターでそれぞれの項目を一つずつ探して値を変更したら保存します。
そうしたら次はそのファイルをコンテナにバインドマウントする設定をdocker-compose.ymlファイルに加えます。
./docker/development/docker-compose.yml~
backend-wp:
depends_on:
- db
image: wordpress:latest
container_name: backend-wp
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wp_db
WORDPRESS_DB_USER: wp_user
WORDPRESS_DB_PASSWORD: wp_password
ports:
- "8080:80"
volumes:
- ../../backend-wp/my-theme:/var/www/html/wp-content/themes/my-theme
+ - ../../backend-wp/php.ini:/usr/local/etc/php/php.ini
- wordpress_data_cabala:/var/www/html
restart: always
+ の部分が加えた箇所です、変更を加えたphp.iniファイルをコンテナのphpディレクトリ内にマウントしています。
php.ini-developmentファイルに直接バインドすればいいのでは?とも思いますが、どうもそれだとうまく行かないようです。
これでビルドし直しても設定の変更は維持されます。
compose upし直して反映されるか確認してみます。
docker compose down
docker compose up -d
コンテナが立ち上がったらwordpressの管理画面に入り「新規投稿を追加」ボタンを押して右サイドパネルの「投稿」を選択、「アイキャッチ画像を設定」をクリックしてファイルをアップロードタブを選択、最大アップロードサイズが128Mに変更されていれば成功です。
次はいよいよbackend-wp側で記事を作成〜frontend-next側からコンテンツのデータを取得する流れを解説していきます。