Docker-ComposeでWordPressをインストール
docker-composeでwordpressをインストールする。
前提条件としては以下。
- mariadbが他のコンテナとして動作しているので、この中にあらかじめ「create database somedb default character set utf8」などとして、データベースを作成しておく
- traefikに、SSL証明書取得とそのハンドリングを行わせる。全コンテナの共通ネットワークとしてcommon-networkを定義してある。
version: '3'
services:
wordpress:
image: wordpress:6.0.2
container_name: somecontainer
volumes:
- ./html:/var/www/html
restart: always
environment:
- WORDPRESS_DB_HOST=mariadb:3306
- WORDPRESS_DB_USER=****
- WORDPRESS_DB_PASSWORD=****
- WORDPRESS_DB_NAME=somedb
labels:
- "traefik.enable=true"
- "traefik.http.routers.some.rule=Host(`something.example.com`)"
- "traefik.http.routers.some.entrypoints=websecure"
- "traefik.http.routers.some.tls.certresolver=myresolver"
- "traefik.http.routers.some-http.entrypoints=web"
- "traefik.http.routers.some-http.rule=Host(`something.example.com`)"
- "traefik.http.routers.some-http.middlewares=some-https"
- "traefik.http.middlewares.some-https.redirectscheme.scheme=https"
networks:
default:
external:
name: common-network
アップロード制限の回避
特にdockerでインストールしたwordpressに限らず、一般的な話である。回避方法は様々あるようだが、Docker環境で最も簡単なのは以下かもしれない。
つまり、トップの.htaccessに設定を書き込むことである。ただし、ここには、wordpress自体や、様々なプラグインが書き込みを行うため、それを避けて、通常は一番下に追加するのが良いと思われる。
以下は設定例
php_value upload_max_filesize 256M
php_value post_max_size 256M
php_value max_execution_time 300
php_value max_input_time 300