ブログを開設するにあたって、外部から攻撃を受ける可能性を減らしつつ手軽に Web サイトを構築したかったので、WordPress とそのプラグインを使って静的サイトジェネレータとして利用することにした。
WordPress SSG (Static Site Generater) プラグインの選定
プラグインの選定と言いつつ最初に試した simply static
がかなり感触よかったので、ほかに試して比較することなしにこれに決めた。
しっかりメンテナンスもされているようで、最新バージョンにも追従していたので、悪くなさそう。
PRO バージョンだと自動化タスクとして HTML への変換と自動デプロイ利用できるようになるみたいだが、個人で運営して記事数も多くならないだろうし、もしそうなったとしても自分でコード書ければよいので、必要になることはなさそう。
WordPress Server の構築
以下の compose ファイルを作成して起動する。
(https://docs.docker.jp/compose/wordpress.html (v24.0) に載っていたものを流用した (wordpress コンテナの volumes だけ追加した))。
余談だが、この compose ファイルは (公式ドキュメントなのに) compose specification に準拠していない。(動作自体は問題ない))
version: '3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- ./wp_data:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WordPress サーバーはインターネットに露出していない場所に置きたいので、ファイアウォールの内側からのみアクセス可能な場所にデプロイする。
docker compose up -d
コマンド (環境によっては docker-compose up -d
かもしれない) を打ち込んで、サーバーを起動する。しばらくして、 `{対象のマシンの IP アドレス}:8080` などにアクセスして、意図通りに WordPress が起動していることが確認できれば OK。
ここまでのまとめ
ここまでの手順を実施すれば、すでに WordPress のサーバーインスタンスは立ち上がっている。静的 Web サイトにする必要なければ、この時点で最低限のブログ運用環境が立ち上がったことになる。
肝心の静的化が済んでないので、次は静的なサイトを生成するための手順を記載する。