Homelab #22 Hexoで自分のブログを作る
HOMELAB

Homelab #22 Hexoで自分のブログを作る

Thất Nghiệp Thất Nghiệp
Mar 5, 2026 1 min read 0 views
ブログに戻る

この記事は厳密にはHomelabではないけど、いじっているものの一つです。今まではOn-PremでIaaSばかりだったので、PaaSがどんな感じか試してみます。

HostingのUIに慣れる

最初は猿みたいな気分で、ボタン多すぎて圧倒されました。
HostingのUIに慣れる - この記事は厳密にはHomelabではないけど、いじっているものの一つです
ボタン多すぎ
cpanelはもっと多い
HostingのUIに慣れる - この記事は厳密にはHomelabではないけど、いじっているものの一つです
Emailセクションに気になる項目がありました
HostingのUIに慣れる - この記事は厳密にはHomelabではないけど、いじっているものの一つです
これで danielnguyen@domain.com みたいなメールが作れます。ずっとやりたかったけど機会がなくて、今回見つけたので即作りました
UIはわりと使いやすいけど、実際に動くかはまだ未確認です。

試してみる

調べた感じでは、新しいドメインを追加してDNSを向ければアクセスできるはず。ただ何か表示するにはhostingの/publicに入れる必要があります。
そこで記事4のCustom Introのindex.htmlを入れてみました
試してみる - 最初は猿みたいな気分で、ボタン多すぎて圧倒されました
ゆるいハッカー画面が想定どおり動きました
試してみる - 最初は猿みたいな気分で、ボタン多すぎて圧倒されました

Gitのworkflowで進める

.htmlを入れれば動くことが確認できたので、次はHexoのBuild Page => FTPで /public へ
Gitのworkflowで進める - 調べた感じでは、新しいドメインを追加してDNSを向ければアクセスできるはず
何度も編集してメールが飛びまくった結果、やっと完成版のworkflow configができました

name: Deploy Hexo to CloudFly

on:
  push:
    branches:
      - main

jobs:
  build-deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout source (with submodules)
        uses: actions/checkout@v3
        with:
          submodules: true
      - name: Setup Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 18

      - name: Install dependencies
        run: npm install

      - name: Build Hexo site
        run: npx hexo generate

      - name: Deploy via FTP
        uses: SamKirkland/FTP-Deploy-Action@v4.3.3
        with:
          server: ${{ secrets.FTP_SERVER }}
          username: ${{ secrets.FTP_USERNAME }}
          password: ${{ secrets.FTP_PASSWORD }}
          local-dir: ./public/  
          server-dir: /../
          protocol: ftp
          exclude: |
            **/.git*
            **/.github*

その後repoのsettingusername, pass, serverを設定します
Gitのworkflowで進める

これでスムーズに動くようになりました。

作業中に出たエラー

Cloudfly FTPがちょっと変?

Cloudfly FTPがちょっと変? - これでスムーズに動くようになりました
Cloudflyが出した設定をそのまま使ったのにFTPできませんでした。ドメインのIPが解決できない状態。なのでドメインのDNSをhostingのIPに向けて、workflowの変数にはIPを直接入れました。

HexoのThemeエラー

古いRepoを使ったので動くと思ったら、Themeがsubmoduleだったせいでpushされませんでした。修正は簡単です。

git submodule add https://github.com/theme-particlex/hexo-theme-particlex themes/particlex

このコマンドで.gitmodulesが作られます

後でThemeが更新されても自動で更新されます

成果

なかなか可愛いでしょ?とりあえずこのまま使って、あとで直します。Vibloの名前は本当はdinhkarateにすべきかもと思う時もあるけど、ここにたくさん書いてしまったのでこのまま行きます。ペンネームってことで笑
成果 - 後でThemeが更新されても自動で更新されます

この記事をシェア

Twitter LinkedIn
Thất Nghiệp

Thất Nghiệp が執筆

A developer sharing thoughts on clean code, creative freedom, and the pursuit of the perfect dev environment. Building digital sanctuaries one component at a time.

Comments

Join the conversation

Leave a comment

Won't be published

おすすめ記事