VOLTECHNO

ガジェットとモノづくりのニッチな部分を伝えるメディア

2020年6月23日

Synology NASのDockerでWordPress環境を構築する

Synology NASのDockerでWordPress環境を構築する

Synology DockerでWordPress環境を作る

今回は、Synology NASのDocker上でWordPress環境を構築する方法を解説します。

Docker上でWordPressを構成すれば、WordPressの構成ファイルをエクスプローラ上から直接操作できるようになり、HyperBuckupと併用したロールバック機能など自由度の高いローカルWordPress環境を作れます。

WordPressカスタマイズに踏み込んだ場合の、非常に便利なWordPress開発環境として活用できます。

Synology NASにはWordPressパッケージは使用せず

Synology NASのパッケージセンターにはWordPressパッケージも提供されています。

こちらでも同じようにWordPressを構成することが可能で、よりGUI的な操作での構成や、直感的なわかりやすさもありますが、別の4種のパッケージの追加インストールや、それぞれのパッケージ管理の煩雑さもあるので、使い勝手ではDockerイメージの方に軍配が上がりそうです。

Synology NAS上でDockerパッケージに対応しているのは “+”シリーズだけなので、”j”, “play” などのグレードの場合はこちらのパッケージ版WordPressを使用する必要があります。

環境構成

今回使用する環境は下記に表します。Synology NASの構成でGUI主体による操作なのは少し特殊ですが、通常のLinux環境でもコンソール上から同じように構成できます。

項目Version
Synology DS916+DSM 6.2.2-24922 Update4
Docker18.09.8
WordPresslatest
MySQL5.6

ディレクトリ構成

voltpress
voltpress_conf
└── php.ini
voltpress_db

フォルダ名はvoltpressと命名していますが、自由に変更してもOKです。変更する場合には永続化フォルダを指定する時に対応するパスにします。

イメージのダウンロード

DockerのWordPressパッケージを使用する場合、別途データベースコンテナを構成する必要があります。

WordPressから接続できれば、どのデータベースイメージを使用しても問題ありませんが、今回はMySQLコンテナを使用します。

MySQLコンテナの環境設定

イメージからMySQLを起動してコンテナを構成します。

MySQLコンテナの詳細設定で、WordPressコンテナからアクセスできる環境設定と永続化の設定を追記します。

環境変数

MYSQL_ROOT_PASSWORD   root
MYSQL_DATABASE   wordpress
MYSQL_USER   wordpress
MYSQL_PASSWORD   wordpress

WordPressコンテナから接続するための設定です。

永続化(ボリューム)

/voltpress_db : /var/lib/mysql

Dockerコンテナは再起動でデータを消失してしまうので、データの永続化のため外部のフォルダを指定します。

WordPressコンテナの環境設定

Synology Dockerのイメージ一覧から、MySQLイメージを起動してコンテナを構成します。

ウィンドウ左下の詳細設定ボタンから、MySQLへの接続や永続化を設定します。

環境変数

WORDPRESS_DB_HOST   voltpress_db
WORDPRESS_DB_USER   wordpress
WORDPRESS_DB_PASSWORD   wordpress
WOEDPRESS_DB_NAME   wordpress

前項のMySQLのコンテナ名と環境変数の情報をWordPress側の環境変数に追記します。

リンク

前項で作成したMySQLコンテナと、今回作成したWordPressコンテナをリンクします。コンテナはプルダウンメニューから指定、エイリアスはコンテナ名と同名にします。

永続化(ボリューム)

/voltpress : /var/www/html

WordPressのメディア・テーマなどを保存するwww以下のフォルダを永続化します。

/usr/local/etc/php/conf.d/php.ini

upload_max_filesize=10M
post_max_size=10M

WordPress DockerのPHPは、標準設定の状態でアップロードサイズが2Mに制限されているため、大きなサイズの画像やプラグインのアップロード時のアップロードサイズ制限に引っかかる場合があります。対応として”php.ini”を作成して、アップロード制限の項目を書き加えたファイルを永続化させます。

/voltpress_conf/php.ini : /usr/local/etc/php/conf.d/php.ini

本来はdocker cpコマンドでコンテナ内部のphp.iniを書き換えるのが一般的な方法ですが、Synology NASは標準コンソールによる操作に対応していないため、今回はより簡単な方法として、永続化でコンフィグファイルの外部読み出しで設定しています。

upload_max_filesize以外のオプションを指定する場合には、アップロード制限の項目以外の対応する値を追記します。

ポート設定

ブラウザ上からアクセスするポートを指定します。

LAN内の公開の場合は他のコンテナ・サービスと競合しない値を、外部公開を行う場合にはhttp(80)またはhttps(443)のポート番号を割り当てます。

コンテナを起動して動作確認

Return Top