AWSのEC2 + WordPress(StaticPress) + S3 で運用していたブログを Github + Hugo + S3 の静的サイトに移行した経緯、手順、ハマったところをまとめました。
MacからEC2にRSA鍵でSSH接続すると「no mutual signature supported」でPermission deniedになる原因は、Macのsshクライアント更新でRSAが非サポートになったため。.ssh/configに2行追記するだけで直ります♪
古いAmazonLinux1のEC2にセッションマネージャーで接続できるようにする手順。yumでSSMエージェントを入れ、IAMロールを作ってインスタンスにアタッチするだけ。踏み台やSSHキーが不要になります♪
仕様書や設計書をExcelやPowerPointではなくマークダウンで書けるドキュメントツール「MkDocs」の使い方。インストール、プロジェクト作成、ホットリロード付きの開発サーバー起動、ページ追加、HTML出力まで。GitHubで管理できます♪
CloudFront+S3で配信している静的サイトをgzip形式で配信して高速化する方法。CloudFrontのCompress Objects Automaticallyを有効にするだけで、curlでcontent-encoding: gzipを確認できます。画像は対象外です♪
サーバー上やMacにあるJPEG画像をCLIツール「jpegoptim」で一括圧縮する方法。HomebrewやyumでのインストールからコマンドとオプションまでWordPress運用者向けにまとめました。1000枚でも数分で終わります♪
MySQLのポートを変えようと~/.my.cnfを作っても反映されない原因は、起動コマンドに--defaults-fileオプションが含まれていたこと。--defaults-extra-fileで設定ファイルを明示的に追加すれば上書きできます♪
UpdraftPlusのバックアップからWordPressをローカル環境へ丸ごと復元する手順。DBダンプ内のURLを置換し、ローカルにWordPressを立ててプラグインから復元。バージョンアップの検証に♪
docker-composeでWordPress5.3系・PHP7.3・Apacheの環境をローカルに爆速で構築する方法。docker-compose.ymlを用意してdocker-compose upするだけで、ApacheやPHPを入れずにログイン画面まで表示できます♪
GitHub Actionsで特定ブランチへのマージをトリガーにAWS-cliでS3へファイルを転送するWorkflowを組んでみました。利用申請、Hello Worldでの確認、Secretの登録、Workflowの定義、cdの注意点、料金についても♪