WordPress開発環境をDockerでサクッと構築




概要

WordPressの開発環境をDockerでサクッと構築する手順をまとめます。

環境構築でできること

(1)PHP7.2系、MySQL7系、Debian系Apache2で構築した環境でWordPressを実行できるようにします。
(2)WordPressはオレオレ証明書を利用したSSLも実装します。
(3)phpMyAdminでデータベースを操作できるようにします。
(4)SMTPサーバーとしてmailcatcherコンテナを作成してメール送受信をできるようにします。

前提条件

環境構築するサーバー内にDockerを事前にインストールしておいてください。
また、Dockerの簡単な操作ができることを前提にしています。

ディレクトリ構造

こんな感じを想定しています。
パスを間違えなければ好きな様にファイルパスは変更できます。
.
├── 000-default.conf
├── Dockerfile
├── default-ssl.conf
├── docker-compose.yml
├── html
│   ├── app
│   │   └── wp
├── php.ini
├── readme.md
└── ssmtp.conf

構築手順

本記事で使用するファイルはGitHubで公開していますのでダウンロードして使ってください。

https://github.com/naknaknakjp/sample_docker_wordpress

手順1:イメージ作成&コンテナ生成&実行

ダウンロードしたディレクトリ直下で以下を実行してください。

手順2:動作確認

Webサーバーの動作確認

html/index.phpを適当に書き換えて以下のURLにアクセスしてページが表示されることを確認してください。
https://localhostの方はSSL証明書の警告が出ると思いますが、内容に問題がないことを確認してからすすめてください。

http://localhost
https://localhost

phpMyAdminの動作確認

以下のURLにアクセスしてください。
問題がなければphpMyAdminにログインした状態でページが表示されます。

http://localhost:8080

MailCatcherの動作確認

以下のURLにアクセスしてください。
問題がなければMailCatcherの初期ページが表示されます。

http://localhost:1080

手順3:WordPressのインストール

htmlディレクトリ配下の任意の場所にWordPrsssファイルをダウンロード&解凍して設置してください。
ここではサンプルとしてhtml直下で解凍します。
wordpressディレクトリが作成されるので、html/wordpress/がWordPressのルートディレクトリになりますので、https://localhost/wordpressにアクセスしてください。
WordPressのインストール画面が表示されるはずなので、設定値を入力して進めていくとログインが完了します。
なお、データベースの設定はdocker-compose.ymlで設定した情報を使ってください。

手順4:メール送信テストをする場合の設定

WordPressからのメール送信テストまでしたい場合は、MailCatcherを使ってメール送信することができますが、その場合は「WP Mail SMTP by WPForms」プラグインを追加してください。

WP Mail SMTP by WPForms
https://ja.wordpress.org/plugins/wp-mail-smtp/

このプラグインでSMTPの設定ができるので、MailCatcherをSMTPサーバーとして設定することができます。
設定は、プラグインインストール後、設定>WP Mail SMTPをクリックし、設定タブを開きます。
メーラー設定は「Other SMTP」選択し、下の方に表示されている以下の部分を設定してください。

■設定内容
SMTPホスト:smtp
 ↑docker-compose.ymlで設定したMailCatcherのサービス名を指定してください。
暗号化:None
SMTPポート:1025
 ↑変更していたら変更後のポートを設定してください。
Auto TLS:ON
認証:OFF

設定が完了したら「Save Settings」をクリックして保存してください。
保存後、ページ上部の「Email Test」タブをクリックして開き、「Send Email」をクリックすると、テストメールが送信されます。
テストメールがMailCatcherで受信されたか確認するためにhttp://localhost:1080にアクセスしてください。
以下の画面のようにメールが受信されていれば設定完了です。

最後に

Dockerめちゃくちゃ便利ですよね。
Docker使う前まではさくらVPSとかMAMP、VirtualBoxとか使って開発環境を構築していたのですが、最近はほぼDockerのみになりました。
WordPress環境も簡単に構築できてすごく便利なので、今回紹介させていただきました。