
ブログの記事を高速で提供する為にやった作業の記録
サーバー管理とか難しい事はGoogleさんにお任せだ

いいですね

この構成はこんな人におすすめ
- Dockerをちょっと触った事がある
- Firebaseもちょっと触った事がある
- DNSの事が少しわかる
- WordPressの仕組みを何となく知ってる
- 早いブログを作りたい
- コメント機能等のサーバー側でごちゃごちゃする機能は不要
- 何かあったら自分で解決するという心を持ってる
- ブログは家で書く

そうなんですね

ちなみにこの記事はこれくらいのスコアが出ている



早いですね

では私がやった手順を説明する

よろしくお願いします

まずは適当な所にディレクトリを作成
Powershellでディレクトリを作成する例
mkdir D:\src\wordpress

Windowsを使っているんですね

作成したディレクトリの直下に、docker-compose.ymlを作成
次のサイトの情報を元に一部変更
services: db: # We use a mariadb image which supports both amd64 & arm64 architecture image: mariadb:10.6.4-focal # If you really want to use MySQL, uncomment the following line #image: mysql:8.0.27 command: '--default-authentication-plugin=mysql_native_password' volumes: - db_data:/var/lib/mysql restart: always environment: - MYSQL_ROOT_PASSWORD=somewordpress - MYSQL_DATABASE=wordpress - MYSQL_USER=wordpress - MYSQL_PASSWORD=wordpress expose: - 3306 - 33060 wordpress: image: wordpress:latest ports: - 8000:80 restart: always environment: - WORDPRESS_DB_HOST=db - WORDPRESS_DB_USER=wordpress - WORDPRESS_DB_PASSWORD=wordpress - WORDPRESS_DB_NAME=wordpress extra_hosts: - localhost:${DOCKER_HOST_IP} volumes: - ${DOCUMENT_ROOT}:/var/www/html_static/ volumes: db_data:

変更した所はどこですか?

portsを変更して、volumesを追記
ports: - 8000:80
volumes: - ${DOCUMENT_ROOT}:/var/www/html_static/
portsを変更:ホストであるWindowsからブラウザでアクセスする為
volumesを追記:出力されたhtmlをホストから確認する為

そうなんですね

Dockerの準備ができたので起動
デタッチド・モードで起動
docker compose up -d

簡単ですね

起動したら、ブラウザからlocalhost:8000にアクセス


あとは普通のワードプレスと同じ手順ですね

管理画面にログインできたら、ブログをhtmlとして出力する為のプラグインをインストール

便利なものがあるんですね

SimplyStaticのインストールが終わったら設定



- リンク先URL
- https://www.sleepingmonster.dev
- ローカルディレクトリ
- /var/www/html_static/
- 追加するURL
- http://localhost:8000/sitemap.xml
- http://localhost:8000/robots.txt
- 除外するURL
- http://localhost:8000/wp-json
- http://localhost:8000/wp-login.php
- http://localhost:8000/wp-admin.*
- http://localhost:8000/comments.*
- http://localhost:8000/.*.php

むずかしそうですね

sitemap.xml、robots.txtは雰囲気で設定した
次にパーマリンク設定
これを設定しないと投稿毎にindex.htmlが生成されてしまう

- カスタム構造
- /%year%/%monthnum%/%post_id%.html

地味ですが大切ですね

さて、一通り設定が終わったのでSymple Staticの診断を確認する


一つ失敗してますね

これはいいんだ。これで完成

そういうものなんですね

あとは生成ボタンを押してhtmlが出力される事を確認したら、公開

まだ続くんですね

Firebase Hostingへデプロイする準備をする

カタカナが多いですね

サーバーへアップロードするという事だ

分かりやすいカタカナになりましたね

Firebase CLIのインストールは終わっていて
ブログ用のプロジェクトが作成済みという前提で進める

頑張ってください

まずはPowerShellで最初に作成したディレクトリへ移動しよう
Powershellでディレクトリを作成する例
cd D:\src\wordpress

全てはここから始まったんですね

ここからは英語ばかりだ、次のコマンドを入力
firebase init

戦いはこれからですね

すると次の質問が帰ってくる。YESと回答
? Are you ready to proceed? ## 意訳:続ける準備はできた? -> YES

長い闘いになりそうですね

長いので質問と回答を全部書く
? Which Firebase features do you want to set up for this directory? -> Hosting: Configure files for Firebase Hosting and (optionally) set up ? Please select an option: -> Use an existing project ? Select a default Firebase project for this directory: -> ******** (blog) ## 適宜書き換えてください ? What do you want to use as your public directory? -> ./html_static ? Configure as a single-page app (rewrite all urls to /index.html)? -> No ? Set up automatic builds and deploys with GitHub? -> No

助かります

このままだとfeedがリンク切れになるのでリダイレクトの設定をする
設定方法は下記のようにfirebase.jsonの追記。
{ "hosting": { "public": "./html_static", "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ], /** 追記した箇所ここから **/ /** JSONにコメントは無いのでコピペする時は注意 **/ "redirects": [ { "regex": "^(.+|)/feed", "destination": ":1/feed/index.xml", "type": 301 } ] /** 追記した箇所ここまで **/ } }

何に使うものなのかは分かりませんね

これですべての準備が完成。最後にデプロイのコマンドを実行
firebase deploy

始めての作業の割には詰まる所はなかったですね

これでサーバーに詳しくない私も早いブログを作ることができた

お疲れさまでした