1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ラズパイ+DockerでWordPressの環境構築

Last updated at Posted at 2021-11-20

Word Pressの環境を構築

docker-compose.ymlのファイルを作成する

$ vi docker-compose.yml

ここの記事を参考にしました。

docker-compose.yml
version: '3.8'

services:
  db:
    image: linuxserver/mariadb:latest
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: wordpress
      MYSQL_USER: test_user
      MYSQL_PASSWORD: user_password

  wordpress:
    depends_on:
      - db
    image: arm32v7/wordpress:latest
    volumes:
      - html:/var/www/html
    ports:
      - "8080:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: test_user
      WORDPRESS_DB_PASSWORD: user_password

volumes:
  db_data:
  html:  

docker-compose.yml自体の説明は以下がわかりやすいです。

Dockerを起動

wordpressとmariadbのコンテナを一括で起動するので、docker-compose up -dを実行する。

$ docker-compose up -d
Creating network "pi_default" with the default driver
Creating volume "pi_db_data" with default driver
Creating volume "pi_html" with default driver
Pulling db (linuxserver/mariadb:latest)...
latest: Pulling from linuxserver/mariadb
8e4d3a410415: Pull complete
0b8e3216ed49: Pull complete
f0d9239a426a: Pull complete
a7dbc35a3425: Pull complete
181f267e48ff: Pull complete
245cfb9749ea: Pull complete
0a6af3386e57: Pull complete
705eca2a4dbf: Pull complete
Digest: sha256:3d8d28744161dcc8bc7b583a65de92e05f8be1223a32d8714cf8bdea8965caf6
Status: Downloaded newer image for linuxserver/mariadb:latest
Pulling wordpress (arm32v7/wordpress:latest)...
latest: Pulling from arm32v7/wordpress
b6e5ca4da968: Pull complete
ee38362a3159: Pull complete
585c04fe561e: Pull complete
097d5ecc5406: Pull complete
567a3462d460: Pull complete
3e870e68d221: Pull complete
ae437a68bd98: Pull complete
346bb83bcd1a: Pull complete
fec5c18f0bce: Pull complete
4e254f3d73d8: Pull complete
005e965878be: Pull complete
b4ee84b57df1: Pull complete
965136d19ea8: Pull complete
660e2781b258: Pull complete
4bd297cf02c7: Pull complete
70024947d845: Pull complete
04e1794275a8: Pull complete
c0fc62ade7a2: Pull complete
b651cf80e99b: Pull complete
a451e88b6e24: Pull complete
bdfe7ef2584f: Pull complete
Digest: sha256:b3265bcf9d75c8c4a46ccc4f412eff67e5c1b00f8ec1858b5b4e00a6e998c3da
Status: Downloaded newer image for arm32v7/wordpress:latest
Creating pi_db_1 ... done
Creating pi_wordpress_1 ... done

コンテナの確認

すでに起動しているので、docker container lsdocker container psの内容は同じ。

$ docker container ls
CONTAINER ID   IMAGE                        COMMAND                  CREATED        STATUS          PORTS                                       NAMES
5c6f73138a55   arm32v7/wordpress:latest     "docker-entrypoint.s…"   10 hours ago   Up 26 minutes   0.0.0.0:8080->80/tcp, :::8080->80/tcp       pi_wordpress_1
1706ca9ed5bd   linuxserver/mariadb:latest   "/init"                  10 hours ago   Up 10 hours     0.0.0.0:3306->3306/tcp, :::3306->3306/tcp   pi_db_1
$ docker container ps
CONTAINER ID   IMAGE                        COMMAND                  CREATED        STATUS          PORTS                                       NAMES
5c6f73138a55   arm32v7/wordpress:latest     "docker-entrypoint.s…"   10 hours ago   Up 27 minutes   0.0.0.0:8080->80/tcp, :::8080->80/tcp       pi_wordpress_1
1706ca9ed5bd   linuxserver/mariadb:latest   "/init"                  10 hours ago   Up 10 hours     0.0.0.0:3306->3306/tcp, :::3306->3306/tcp   pi_db_1

WordPressにアクセスしてみる。

今回は、家のネットワークの中で、IPアドレス192.168.10.10のラズパイにインストールしたので、以下のURIでWordPressにアクセスしました。

http://192.168.10.10:8080/wp-admin/install.php

まず言語を聞かれたので日本を選択しました。

スクリーンショット 2021-11-20 20.52.18.png

サイトのタイトルやユーザ名など諸々の初期設定をします。

スクリーンショット 2021-11-20 20.53.16.png

初期設定が完了すると、以下の画面が表示されます。

:スクリーンショット 2021-11-20 20.53.48.png

ログイン画面に遷移して、ログインします。

スクリーンショット 2021-11-20 20.53.59.png

テーマのアップロードでエラーになる

テーマをアップロードしようしたら、ファイルサイズが大きすぎてアップロードできないとエラーなったので、
コンテナの中に入ってphp.iniを確認してみる。

$ docker-compose exec wordpress bash
root@5c6f73138a55:/var/www/html# cd /usr/local/etc/php
root@5c6f73138a55:/usr/local/etc/php# ls
conf.d  php.ini-development  php.ini-production
root@5c6f73138a55:/usr/local/etc/php# 
exit

php.iniがなく、開発用と製品用のphp.iniのテンプレートが用意されていたので、開発用の方を使ってみることにする。
コンテナ内ではviがないので、ホストの方へファイルをコピーして編集後、名前をphp.iniに変更してコンテナ内へ置きにいきます。

$ docker container ls
CONTAINER ID   IMAGE                        COMMAND                  CREATED        STATUS       PORTS                                       NAMES
5c6f73138a55   arm32v7/wordpress:latest     "docker-entrypoint.s…"   10 hours ago   Up 9 hours   0.0.0.0:8080->80/tcp, :::8080->80/tcp       pi_wordpress_1
1706ca9ed5bd   linuxserver/mariadb:latest   "/init"                  10 hours ago   Up 9 hours   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp   pi_db_1
$ docker container cp 5c6f73138a55:/usr/local/etc/php/php.ini-development ~/.
$ cp php.ini-development php.ini
$ vi php.ini
$ docker container cp ~/php.ini 5c6f73138a55:/usr/local/etc/php/

php.iniの中身は、以下の値を変更しました。アップロードの最大サイズを2Mから10M、ポストの最大サイズを8Mから12Mに変更しました。

php.ini
(省略)
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 10M
(省略)
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 12M
(省略)

書き換え後にコンテナの再起動をしました。

$ docker restart 5c6f73138a55
5c6f73138a55

ちなみに、今回使ってみようとしたテーマは、これです。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?