WordPress を利用した静的サイトを構築する (1)

ブログを開設するにあたって、外部から攻撃を受ける可能性を減らしつつ手軽に 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 サイトにする必要なければ、この時点で最低限のブログ運用環境が立ち上がったことになる。

肝心の静的化が済んでないので、次は静的なサイトを生成するための手順を記載する。