概要
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環境も簡単に構築できてすごく便利なので、今回紹介させていただきました。