はじめに
今回はDocker-Composeを用いて、WordPressを構築する方法を紹介します。
前提知識
WordPressとは
WordPress(ワードプレス)は、オープンソースのブログソフトウェアである。PHPで開発されており、データベース管理システムとしてMySQLを利用している。単なるブログではなくコンテンツ管理システム (CMS) としてもしばしば利用されている。
下準備
Docker-Compose環境の構築
https://www.munenick.me/blog/centos8-stream-docker
WordPressの構築
gitのインストール
以下のコマンドを実行し、gitをインストールする。
dnf -y install git

gitのクローン
任意のフォルダに移行し、以下のコマンドを実行し、プロジェクトをダウンロードする。
git clone https://github.com/MuNeNICK/docker-wordpress.git

クローンの確認
以下のコマンドを実行し、docker-wordpressが追加されていることを確認する。
ls -al

作業フォルダに移動
以下のコマンドを実行し、docker-wordpressディレクトリに移動する。
cd docker-wordpress/

docker-compose.ymlの編集
以下のコマンドを実行し、docker-compose.ymlを確認する。
cat docker-compose.yml
version: "3"
services:
db:
image: mysql:5.7
volumes:
- ./db/mysql:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${ENV_MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: wordpress_db
MYSQL_USER: user
MYSQL_PASSWORD: ${ENV_MYSQL_PASSWORD}
wordpress:
image: wordpress:latest
volumes:
- ./wordpress/html:/var/www/html
- ./php/php.ini:/usr/local/etc/php/conf.d/php.ini
restart: always
depends_on:
- db
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wordpress_db
WORDPRESS_DB_USER: user
WORDPRESS_DB_PASSWORD: ${ENV_WORDPRESS_DB_PASSWORD}
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
restart: always
depends_on:
- db
ports:
- 8888:80
.envの編集
以下のコマンドを実行し、各パスワードを設定する。
vi .env
ChangeMyPasswordを任意のパスワードに変更する。
ENV_MYSQL_ROOT_PASSWORD = ChangeMyPassword
ENV_MYSQL_PASSWORD = ChangeMyPassword
ENV_WORDPRESS_DB_PASSWORD = ChangeMyPassword
Docker-Composeの起動
以下のコマンドを実行し、Docker-Composeを起動する。 ※このコマンドはdocker-compose.ymlを作成したディレクトリ上で実行する。
docker-compose up -d

Docker-Composeの起動確認
以下のコマンドを実行し、Docker-Composeの起動確認を行う。
docker-compose ps

WordPressの初期セットアップ
クライアントデバイスのブラウザに http://サーバのIPアドレス:8080 と入力し、WordPressにアクセスできることを確認する。 それぞれの欄を埋め、Install WordPressをクリックし、WordPressの初期セットアップを行う。

WordPressにアクセス
Usernameに先程設定したユーザーネーム、Passwordに先程設定したパスワードを入力する。
管理者画面にアクセスできることを確認する。


おまけ
リバースプロキシの設定
以下記事のリバースプロキシのコンフィグにてgoogle.comの代わりにWordpressのIPアドレスを入力することで設定できる。
https://www.munenick.me/blog/nginx-ssl
おわりに
以上でDocker-Composeを用いたWordPressの構築は終わりです。お疲れさまでした。