Homelab #22 Hexo로 나만의 블로그 만들기 />
HOMELAB

Homelab #22 Hexo로 나만의 블로그 만들기

Thất Nghiệp Thất Nghiệp
Oct 27, 2025 1 min read 0 조회
블로그로 돌아가기

이 글은 엄밀히 말해 Homelab은 아니지만, 내가 이것저것 만지는 범주에 들어간다. 지금까지는 On-Prem과 IaaS만 했으니, 이번엔 PaaS도 써보고 싶었다.

호스팅 관리 화면 적응기

처음 들어갔을 때는 원숭이 된 느낌이었다. 버튼이 너무 많다.
호스팅 관리 화면 적응기 - 이 글은 엄밀히 말해 Homelab은 아니지만, 내가 이것저것 만지는 범주에 들어간다
버튼이 너무 많다
cPanel은 더 많다
호스팅 관리 화면 적응기 - 이 글은 엄밀히 말해 Homelab은 아니지만, 내가 이것저것 만지는 범주에 들어간다
Email 섹션에서 흥미로운 기능을 발견했다.
호스팅 관리 화면 적응기 - 이 글은 엄밀히 말해 Homelab은 아니지만, 내가 이것저것 만지는 범주에 들어간다
danielnguyen@domain.com 같은 메일을 만들 수 있다. 예전부터 해보고 싶었는데, 오늘 바로 시도했다. UI는 쉬웠고, 실제로 동작하는지는 아직 확인하지 못했다.

첫 테스트

도메인을 추가하고 DNS를 연결하면 접속은 되지만, 보여줄 게 없으면 빈 화면이다. 그래서 호스팅의 /public에 뭔가 넣어야 한다.
4편의 Custom Intro index.html을 올려봤다.
첫 테스트 - 처음 들어갔을 때는 원숭이 된 느낌이었다
해커 느낌 화면이 잘 뜬다.
첫 테스트 - 처음 들어갔을 때는 원숭이 된 느낌이었다

Git 워크플로우로 접근

HTML을 올리면 동작하는 걸 확인했으니, 다음은 Hexo Build → FTP로 /public 업로드.
Git 워크플로우로 접근 - 도메인을 추가하고 DNS를 연결하면 접속은 되지만, 보여줄 게 없으면 빈 화면이다
여러 번 수정하고 이메일 스팸을 받으며 결국 완성한 workflow는 다음과 같다.

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 setting에서 username, pass, server 변수를 설정한다.
Git 워크플로우로 접근 - HTML을 올리면 동작하는 걸 확인했으니, 다음은 Hexo Build → FTP로 /public 업로드

이제 정상적으로 동작한다.

진행 중 겪은 오류

Cloudfly FTP가 이상함?

Cloudfly FTP가 이상함? - 이제 정상적으로 동작한다
Cloudfly에서 준 설정을 그대로 써도 FTP가 안 됐다. 도메인 IP가 resolve되지 않았다. 결국 DNS를 서버 IP로 직접 잡았고, workflow 변수에서도 IP를 사용했다.

Hexo 테마 문제

기존 repo를 사용했기에 잘 될 줄 알았는데, submodule이라 테마가 올라가지 않았다. 해결은 간단했다.

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

이 명령은 .gitmodules를 생성한다.

이후 테마가 업데이트되면 함께 업데이트된다.

결과

귀엽게 나왔다. 일단은 이렇게 쓰고 나중에 수정할 생각이다. Viblo 계정은 원래 dinhkarate였는데 여기서 너무 많이 써서 그냥 필명처럼 됐다 ㅋㅋ
결과 - 이후 테마가 업데이트되면 함께 업데이트된다

이 글 공유하기

Twitter LinkedIn
Thất Nghiệp

Thất Nghiệp 작성

깔끔한 코드, 창의적인 자유, 완벽한 개발 환경을 추구하는 개발자. 하나의 컴포넌트씩 디지털 공간을 만들어가고 있습니다.

Comments

Join the conversation

Leave a comment

Won't be published

이런 글도 있어요