고스트 블로그 개설 후기 (feat. 삽질의 기록)

나는 이미 2번이나 블로그를 접었지만 다시 한 번 도전해보려고 마음먹었다. 이번에는 특정 플랫폼에 종속되고 싶지 않았다. 이전에 조금 찾아보니 고스트라는 것을 쓰면 그것이 가능하다는 것 같아 보였다. 그래서 나는 고스트로 블로그를 개설해보기로 마음 먹었다.

나는 먼저 구글링을 하였다. 고스트 블로그 개설과 관련하여 정리가 잘 되어 있는 한글 블로그들이 몇 개 있었다. (아래 링크들 참고)

고스트(Ghost)로 블로그 만들기
250만 번의 설치. 하루 8천 개의 새로운 사이트. 세계에서 가장 빠르게 성장하는 블로그 고스트 (Ghost).
Ghost를 기술 블로그용 CMS로 선택한 이유
기술 블로그를 만들 때 가장 머리 아픈 고민 중 하나는 어떤 블로깅 도구를 사용할지 정하는 것이다. 이 글에서는 Ghost를 블로깅 도구로 선택한 이유와, 그 선택의 과정에서 고려한 다섯 가지 조건을 소개한다. 아울러 Ulysses와 결합된 Ghost 블로깅이 내게 어떤 사용자 경험을 안겨주었는지도 함께 소개한다.
디지털 오션으로 Ghost 블로그 만들기
국내에서 블로그를 이용하시는 분들은 대부분이 네이버 블로그나 티스토리 블로그를 주로 사용하십니다. 개중에는 가끔 해외 CMS (Contents Management System) 플랫폼들을 선호하시는 분들도 계신데, 주로 워드프레스 (Wordpress)나 미디엄(medium)등을 이용하십니다. 아주 드물게 고스트(Ghost)를 이용하시는 분들도 계신데 이 플랫폼은 아직은 저희들에게는 생소한 편입니다. 개인 블로그 중에서 참 잘 만들었고 콘텐츠도 잘 되어 있다고 생각되는 사이트가 아래 “Hooshmand.net”인데 이 블로그가 고스트…
SSH Key 인증 방식과 Putty로 Ghost 설치하기
지난 포스팅에서 디지털 오션의 웹 호스팅 서비스를 이용하여 고스트 (Ghost) 블로그를 설치하는 방법에 대해서 설명을 드렸습니다. 혹시 못 읽으신 분은 아래에서 확인하세요. 2020/11/23 - 디지털 오션으로 Ghost 블로그 만들기 오늘은 위의 내용에서 Skip 했던 “SSH Key 인증 방식”과 “Putty를 이용하여 Ghost 이미지 파일을 이용하여 웹서버에 Ghost와 관련 파일을 설치하는 방법”에 대해서 설명을 드립니다. SSH Key 인증 방식 디지털 오션 (Digital Ocean)에서 드롭릿(Droplet)을 생…
뚝딱뚝딱 Ghost로 기술 블로그 만들기 - (1) 설치와 호스팅
몇 개월 전쯤 페이스북 친구와 독자 분께서 아래와 같은 댓글을 남겨주셨다. 나는 망설임 없이 ‘고스트(Ghost)’ 라고 답했다 . 지금 이 블로그는 고스트로 디지털오션(Digital Ocean) 에서 매월 5달러로 호스팅 되고 있다. 그동안 국민 블로그인 네이버, 티스토리부터, 워드프레스, 미디엄(Medium)까지 수많은 블로그 플랫폼을 사용해봤지만 좀처럼 나에게 꼭 맞는 플랫폼을
뚝딱뚝딱 Ghost로 기술 블로그 만들기 - (2) 테마 커스터마이징
뚝딱뚝딱 Ghost로 기술 블로그 만들기 두 번째 시리즈로 고스트 블로그 테마 수정 과정을 소개한다. 아직 고스트(Ghost) 플랫폼에 대해서 잘 모른다면, 설치와 호스팅 편을 읽고 오길 바란다. 모든 단계를 건너뛰고 바로 이 블로그에 적용된 테마를 그대로 적용하거나 수정하고 싶다면, 깃허브 저장소(casper-dev-blog-theme) 에서 소스코드를 다운받아 설치할 수 있다. 사전 설치Node
ghost(고스트) CMS 로 Blog 만들기

컴맹인 나는 포스팅의 내용을 완전히 이해할 수는 없었으나 그대로 따라할 수는 있을 것 같았다. 그래서 읽으며 따라해 보았다. 마지막에 고스트 설치에서 오류가 발생한다. 원인이 무엇인지 찾아보았지만 잘 찾을 수 없었다. 그래서 처음부터 몇 번을 반복해보았다. 몇 번 해보니 그 과정이 생각보다 간단함을 알 수 있었다. 마침내 블로그 개설에 성공하였다. 그리고 깨달았다. 5분도 안걸릴 일을 나는 하루 종일 삽질만 했구나... 하... 나중에 나와 같은 삽질을 하게 될 누군가에게 이 글을 바친다.

고스트가 뭔데요?

나같이 이쪽에 지식이 없는 사람이라면 블로그 뿐만 아니라 웹사이트를 만들 수 있는 플랫폼이라고 이해해도 무방할 것 같다. 여기저기 찾아보면 고스트에 대한 소개글이 많은데 대충 요약해서 따라 적자면 아래 정도로 적을 수 있을 것 같다.

💡
고스트(Ghost)는 오픈 소스 컨텐츠 관리 시스템(CMS) 로 블로거와 작가들에게 가장 이상적인 블로깅 플랫폼을 제공하고자 개발되었으며, 사용자 중심의 디자인과 뛰어난 성능, 쉬운 사용성으로 세계적으로 많은 사랑을 받고 있다. (국내 유저는 많지 않다.)
Markdown을 지원하여 이미지, 링크, 표, 코드, 수식 등을 삽입하기 쉽기 때문에 프로페셔널한 퍼블리싱을 가능하게 한다. 그리고 외부 서비스와의 연동을 위한 다양한 API도 제공하며, 사이트의 레이아웃과 디자인을 사용자가 커스터마이징하여 사용할 수도 있다. 그리고 고스트는 뛰어난 SEO(Search Engine Optimization, 검색 엔진 최적화)를 제공한다고 알려져 있다.

고스트 블로그: Pro vs. Self-Hosted

앞서 고스트는 다양한 커스터마이징이 가능하다고 하였다. 무한한 자유도를 얻으려면 그만한 지식이 있어야 한다. 커스터마이징을 위해서는 리눅스를 조금은 다룰 줄 알아야 하고 관련 개발 지식과 스킬도 있어야 한다. 만약, 당신이 이러한 지식이 없다면 Ghost Pro를 사용하는 것이 백번 낫다. 사이트 관리에 쏟을 노력과 시간을 글쓰기에 투자하는 것이 현명하기 때문이다.

  • Ghost Pro
    • 유료 버전이다. 고스트를 사용한 블로그 플랫폼에 가입하여 글을 작성하는 형태라고 보면 된다. 편한만큼 플랫폼에 종속되게 된다. (단, 언제나 블로그 내 모든 콘텐츠를 간단한 내보내기/가져오기 과정을 통해 무료 버전의 고스트로 옮길 수 있으므로 언제든지 개인 서버에 호스팅할 수 있다.)
    • 1년 결제를 한다면 1개월에 9달러부터 시작한다. 이 정도면 대부분의 블로그에는 차고도 넘친다. 개인이 블로그를 운영하면서 1개월에 25달러를 지불해야 할 필요성을 느낀다면 분명 이미 그보다 훨씬 큰 수익을 얻고 있으리라..
    • 구독, 이메일, 뉴스레터, 결제, 점검, 보안, 백업, 업데이트 등 블로그 운영과 관련된 거의 모든 기능을 제공된다. 즉, 전산/보안 등에 대한 지식이 없다면 그냥 프로 버전을 사용하는 것이 속 편하다. Self-hosted 버전도 어차피 서버를 운영하려면 1개월에 6~7달러 정도는 쓰게 된다.
    • 가입 후 바로 글 작성이 가능하다.
    • 고객지원이 포함되어 문제발생 시 고스트 팀에 연락할 수 있다.
    • 커스텀 도메인 설정이 가능하다. 커스텀 도메인 구매를 위한 비용을 지불하고 싶지 않다면 "myblog/ghost/io"와 같은 형태의 도메인을 무료로 사용할 수 있다.
  • Ghost Self-Hosted
    • 서버에 직접 설치하여 운영하는 방식으로 ghost 사용에 한해서는 무료이다. 무한한 자유도가 있기 때문에 본인이 원하는대로 웹사이트를 구축할 수 있다.
    • 오픈소스이므로 개인서버에 설치하여 사용할 수 있기 때문에 특정 플랫폼에 종속되지 않을 수 있다. 그러나 개인서버를 운영하기는 사실상 어렵기 때문에 디지털오션 등에서 가상서버를 일정 비용을 지불하고 사용하여야 한다. 아래 그림을 보면 ghost 블로그를 위한 서버를 이용하기 위한 최소 비용은 월 6달러이다. (pro의 가장 저렴한 옵션과 3달러 차이 밖에 나지 않는다.)
    • 서버만 구매한다고 되는 것이 아니다. 서버와 연결할 도메인도 구매하여야 한다. URL마다 가격이 천차만별인데 아무리 적게 잡아도 1년에 2~3만원은 잡아야 한다. 결국 호스팅 비용과 도메인 비용을 합하면 내가 완전히 블로그를 fully 커스터마이징 해야만 하는 특별한 이유가 없다면 Pro 버전이 좋은 대안이 될 수 있다.
    • 호스팅 서버 임대 후 ssh 연결 설정, 도메인 구매, 도메인 연결, 고스트 설치까지 스스로 하여야 한다. 소요시간은 technically 30분 정도 잡으면 되지만 이것저거 삽질을 하다 보면 몇 시간 금방 지나간다. 나는 위 과정을 3번 정도 해보았는데 처음에는 모든 것이 낯설어 오래 걸렸지만 두 번째와 세 번째 시도에서는 익숙해서 어렵지 않았다.
    • 문제 발생시 고객지원을 받을 수 없으므로 순전히 자신의 지식과 웹에서 정보를 얻어 해결하여야 한다.
    • Pro 버전으로 작성한 글을 옮길 수 있기 때문에 언제든지 유료버전으로 갈아탈 수 있다.
Digital Ocean 가격 정책

나의 선택은?

나는 연구개발을 업으로 삼아 왔지만 프로그래머는 아니다. 그래서 나는 프로버전을 사용하기로 마음먹었다. 그런데 문제는 고스트 블로그 개설 관련 글들에서는 self-hosted 방식에 대한 언급이 많아서 (당연히 pro는 가입하면 끝이므로 포스팅할 내용이 없다고 봐야할 듯..) 나는 내 의지와 다르게 self-hosted Ghost 환경을 구축하고야 말았다. 그런데 직접해보니 기존 블로그들에서 언급된 내용들 중 누락되어 있거나 잘못된 내용이 있었다. 여기서는 그래서 여기에 다시 간략히 정리한다.

Self-Hosting Ghost 구축 방법

크게 4단계를 거쳐야 한다.

  1. 가상 서버 임대(?)
  2. 도메인 구매
  3. 서버와 도메인 연결하기
  4. 고스트 설치하기
  5. 블로그 환경설정

STEP1: 가상 서버 호스팅

고스트는 블로깅을 위한 환경을 나만의 서버에 구축하여야 한다. 즉, 티스토리나 네이버 블로그 등과는 달리 글쓰기 플랫폼을 내 서버에 설치하는 방식이다. 그리고 이 서버에 내가 구매한 도메인의 URL을 연결하여 누군가 내 서버에 접속하여 내가 쓴 글을 보게 된다.

서버는 디지털오션에서 구매하는 것이 저렴하고 믿을만 하다고 한다. 나도 여기서만 해봤는데 다른 곳에서 구매해도 상관은 없다. 나는 디지털오션에 가입할 때 200달러의 크레딧을 받아서 무료로 서버를 사용해보았는데 누군가의 추천링크를 통해 가입하면 가입자에게 200달러를 주고, 가입한 사람이 25달러 이상 디지털오션에 비용을 지불하게 되면 추천한 사람에게 25달러의 크레딧을 준다. 서로 좋은 제도이니 가입의사가 있다면 아래 badge를 클릭!!^^

디지털오션에 가입 후 로그인하면 다음과 같은 화면이 보인다. 좌측 메뉴의 "New Project"를 누른다.

아래와 같은 화면이 나오면 각자의 상황에 맞게 내용을 채운 후, "Create Project" 버큰을 누른다.

아래 단계는 "Skip for now"를 클릭하여 건너뛴다.

아래와 같이 "blogtest"라는 프로젝트가 만들어졌다. 이제 이 프로젝트에 클라우드 서버를 연결할 것이다. 아래 그림과 같이 초록색으로 된 Create 버튼을 눌러 "Droplet"을 클릭한다.

Droplet을 만들 때 몇 가지 선택하여야 하는 것들이 있는데 여기서는 설정이 필요한 내용만 적는다. 먼저 서버의 위치를 선택한다. 선택은 자유이지만 지리적으로 가까운 곳을 선택하기가 권장된다.

다음으로 "Choose an image"에서 "Marketplace"를 선택한 후, "ghost"라고 검색하면 아래와 같이 팝업메뉴가 나타나면 Ghost를 선택한다.

그러면 아래와 같이 자동으로 우분투 22.04 기반의 서버가 생긴 것을 볼 수 있다. (버전은 다를 수 있겠다.)

다음으로는 서버의 CPU와 메모리 등에 따른 요금제를 선택하여야 한다. 개인 블로그 목적이라면 가장 저렴한 요금으로 선택한다. 2023년 8월 현재 6달러가 가장 저렴하다.

다음으로 서버에 로그인 하기 위한 인증 방식에 대한 설정을 진행하여야 한다.

SSH 방식과 비번 방식을 선택할 수 있는데 보안과 편의성 모두 SSH 가 높다. 다만, 처음에 key를 만들어주어야 하는데 아래 링크들을 참고하면 PuTTY로 쉽게 할 수 있을 것이다. 아래 링크 중 첫 번째 블로그 글은 키를 생성하는 부분만 참고하면 된다.

SSH Key 인증 방식과 Putty로 Ghost 설치하기
지난 포스팅에서 디지털 오션의 웹 호스팅 서비스를 이용하여 고스트 (Ghost) 블로그를 설치하는 방법에 대해서 설명을 드렸습니다. 혹시 못 읽으신 분은 아래에서 확인하세요. 2020/11/23 - 디지털 오션으로 Ghost 블로그 만들기 오늘은 위의 내용에서 Skip 했던 “SSH Key 인증 방식”과 “Putty를 이용하여 Ghost 이미지 파일을 이용하여 웹서버에 Ghost와 관련 파일을 설치하는 방법”에 대해서 설명을 드립니다. SSH Key 인증 방식 디지털 오션 (Digital Ocean)에서 드롭릿(Droplet)을 생…
How to Create SSH Keys with PuTTY on Windows | DigitalOcean Documentation
Use PuTTY to create SSH keys on Windows systems without Bash.

참고로 PuTTYgen에서 키생성을 위한 Generate 버튼을 누르고 난 후, progress bar가 나오면 가만히 지켜보면 안되고 progress bar 위에서 마우스를 움직여야 key generation이 진행된다.

"New SSH Key"를 눌러 PuTTY에서 생성된 공개키를 입력한 후 "Create Droplet" 버큰을 클릭하면 아래와 같이 서버 자원이 내 프로젝트에 할당된 것을 확인할 수 있다. 이제 이 서버에 도메인을 연결하고 고스트를 설치하면 된다.

STEP2: 도메인 구매

도메인을 구매할 수 있는 곳이 많은 것으로 알고 있는데 나는 goDaddy라는 사이트에서 구매하였다. 이곳이 가장 많이 이용되는 것 같고 URL 검색부터 결제까지 직관적이었다. 도메인 구매 절차는 간단하기 때문에 상세한 내용은 생략한다.

STEP3: 도메인 연결하기

doDaddy 홈페이지에서 내계정 -> 내제품을 클릭한다. "모든 제품 및 서비스"에서 내가 구매한 도메인에서 "DNS"를 클릭하여 DNS 관리메뉴로 들어간다.

DNS 관리메뉴가 나오면 "네임서버" 탭을 클릭한 후, "네임서버를 변경"을 클릭한다.

네임서버 편집 창이 뜨면 "내 고유 네임서버를 사용하려고 함"을 클릭한다.

위 칸에 어떤 값을 입력해야 하는지 확인하기 위해 다시 디지털오션으로 돌아가자.

프로젝트 이름을 클릭한 후 위 그림과 같은 화면이 나오면 "..." 버튼을 클릭한다. 그러면 "Add domain"이라는 팝업메뉴가 나타난다. 이를 클릭 후, 아래와 같이 godaddy에서 구매한 도메인을 연결한다.

"Add domain" 버튼을 누르고 나면 아래와 같이 "NS"라는 이름으로 3개의 네임서버 값을 확인할 수 있다. 아래 3개의 값을 copy하여 위에서 확인한대로 goDaddy로 이동하여 네임서버 편집을 완료한다. 이때, 반드시 3개의 네임서버 전부를 goDaddy의 네임서버 편집 메뉴에서 적용하여야 한다. (어느 브로그에서는 서버의 IP 주소를 goDaddy 네임서버와 직접 연결한다고 되어 있는데 디지털 오션에서 공식적으로 아래와 같이 네임서버만 연결해주도록 가이드 되고 있다.)

Step4: 가상 서버에 고스트 설치하기

위 과정을 통해 가상 서버 1대를 갖게 되었다. 그러나 서버 안은 텅텅 비어 있다. 때문에 URL이나 IP 주소로 서버에 접속하더라도 아래와 같은 화면만 보이게 된다. URL로 접속할 때, 주소창에 "http://"를 반드시 함께 적어주자. URL만 입력하면 "https://"로 자동인식 하게 되는데 고스트를 설치하기 전에는 "https://"로 접속이 되지 않을 수 있다.

이제 고스트를 설치하여 블로그 페이지가 나오도록 해보자. 디지털 오션의 프로젝트 화면에서 Droplet 후 "Console"을 클릭한다.

콘솔이 열리면 입력하라는 내용들(URL, 이메일 등)을 입력하고 엔터를 치면 고스트가 알아서 설치된다. 이때. MySQL hostname 등은 아래와 같이 입력하면된다. (password는 본인이 설정하는 것을 의미함)


Enter your MySQL hostname: localhost
Enter your MySQL username: ghost
Enter your MySQL password: [hidden]
Enter your Ghost database name: ghost

ghost(고스트) CMS 로 Blog 만들기

추가로 유의할 점은 연결 도메인을 입력할 때, "http://www." 이후에 커스텀 도메인을 입력하여야 한다. 그렇지 않으면 "https://"로 인식하게 되는데 이 때문에 고스트를 running 하는데 오류가 발생할 수 있다.

위 과정을 마친 후 나의 커스텀 도메인 주소로 접속해보면 블로그 화면이 나오게 된다.

만약 console로 서버에 최초 접속할 때 자동으로 고스트 설치가 진행되지 않는다면 console에서 아래의 절차대로작업을 진행한다.

  1. 고스트 관리자로 전환
sudo -i -u ghost-mgr
  1. 고스트 설치
cd /var/www/
mkdir ghost
cd ghost
ghost install

  1. 고스트 실행 (보통은 설치 후 자동으로 고스트 서비스가 시작함)
ghost start

STEP5: 블로그 환경설정

주소창에 "커스텀 도메임/ghost"라고 입력하면 관리도구로 들어갈 수 있다. 예를 들어, 본 블로그의 경우 "path2alpha.ai/ghost"라고 치면 된다. 아래와 같인 관리도구에서 "Post"와 "Pages"를 통해 포스팅을 하고 공지글을 등록할 수 있다.

좌측 하단의 톱니바퀴를 누르면 아래와 같은 관리자 화면이 나오고 이곳에서 블로그 테마와 메뉴를 편집할 수 있다.

마치며

블로그 개설 후 며칠 지난 후 이글을 작성한다. 따라서 약간의 오류가 있을지도 모르겠지만 중요한 내용은 다 다룬 것 같다. 참고로 나는 가성서버를 모두 삭제하고 고스트 프로를 선택하였다. 비용의 차이도 없을 뿐더러 자유도가 떨어지더라도 이것이 속이 편하다. 그런데 블로그를 개설하고 보니 뉴스레터 기능이 중요한 비즈니스를 할 것이 아니라면 고스트가 딱히 개인 블로그로 좋은 수단인지는 아직은 잘 모르겠다. 써보면 알겠지 뭐..