well-balanced

Ghost를 이용해 나만의 웹사이트 만들기 - 1 본문

Ghost blog

Ghost를 이용해 나만의 웹사이트 만들기 - 1

Cosmian 2019. 11. 3. 05:38

 

sujinlee님의 '뚝딱뚝딱 Ghost로 기술 블로그 만들기' 를 참고하여 작성한 글입니다.

*참고로 필자의 노트북인 MAC OS를 기준으로 작성되었습니다.

 

최근에 불현듯 개인 도메인을 사서 블로그를 하나 만들어보고 싶다는 생각이 들었다. 워드프레스는 포지션이 애매한 탓에 개발자들 사이에서는 좋지 못한 평가를 받고 있는 거 같다고 생각했고, 그나마 한번 다뤄본 Django로 만들어볼까 하다가 우연히 sujinlee님의 블로그에서 'Ghost' 라는 사이트를 알게 되었다. 개발 공부를 시작한 지 얼마 안돼서 요거 하나 만드는데도 에러에 꽤나 시달렸는데 생각보다 Q&A 포럼이 잘 되어있어서 정보가 좀 부족해도 금방 해결할 수 있었다.

나는 sujinlee님의 튜토리얼을 따라가면서 꽤 많은 에러들과 직면했다. (물론 서버쪽 지식이 아직은 조금 미흡한 점이 크게 작용했다) 뭐랄까 좀 끈기있게 계속 붙잡고, 잘 찾아보면서하면 결국 누구든 만들 수 있는 것이긴 한데, 나처럼 조금 서버쪽 지식이 미흡한 사람에게는 좀 어려움이 있을 것 같아서 이 글을 작성하게 되었다. 이 글을 읽고 여러분의 소중한 시간을 절약했으면 한다.

 

What is Ghost ? 

고스트는 자바스크립트로 쓰여진 무료, 오픈소스 블로깅 플랫폼이다. Ghost에 대한 아이디어는 2012년 11월 초에 WordPress User Interface 팀의 전 부대표인 John O'Nolan이 블로그에 올린 글에서 처음 쓰여졌다. 개인 블로거들의 온라인 출판과정을 단순화하기 위해  MIT licens 에 따라 배포된다. 고스트 재단은 비영리단체로서 직원들이 여기저기 떠돌며 원격으로 근무한다고 한다. 현재 전세계적으로 백만개가 넘는 고스트 블로그가 운영되고 있으며, 애플에서도 공식 회사 블로그로 채택하고 있다고 한다. 별도로 커스텀 도메인을 이용하면서 네이버 블로그나 Tistory가 아닌 나만의 블로그를 운영하면서 글을 포스팅하고 싶다면 지금 바로 만들어보자. 그렇게 오래 걸리지 않는다.

 

클라우딩 컴퓨팅 업체 가입하기

먼저 개인 홈페이지를 만들기 위해서는 서버를 돌려야하는데 그러기 위해서는 컴퓨터를 클라우딩 해주는 업체에 가입해서 서버를 돌리기 위한 컴퓨터를 대여받아야 한다. 돈이 충분하다면 고스트 프리미엄 서비스(월 29달러)에 가입해서 서버를 운영하면 되겠지만 개인 블로그를 운영하기에는 좀 부담되는 가격이다. 개인 블로그가 목적이라면 필자는 저렴한 클라우딩 컴퓨팅 업체에서 서비스를 받는걸 추천한다. 나는 참고로 튜토리얼을 따라서 'DigitalOcean' 이라는 사이트에서 가상 서버를 생성했다. 가격은 최소 월 5달러부터 시작하는데 5달러 서버로도 유저 유입이 많지 않은 개인 블로그를 만드는 데에는 충분한 서비스를 제공한다. 아울러 추천링크를 통해 가입한다면 한 달동안 이용할 수 있는 50달러 크레딧을 받을 수 있고, 내가 참고한 글의 필자에게도 25달러 크레딧이 들어온다. 즉, 추천 링크로 가입시 개인블로그를 돌릴 목적이라면 한 달은 무료로 쓸 수 있다고 보면 된다. 가입하면 카드 정보를 입력하라는 창이 뜨는데 여기에 카드정보를 입력해도 당장 결제되지는 않는다.

 

프로젝트와 드롭릿(Droplet) 생성

로그인하고 프로젝트를 생성할 수 있다. 프로젝트명과 사용목적은 그닥 중요치 않으니 마음에 드는 걸로 생성하면 된다. 프로젝트가 시작되면 드롭릿 시작하기(Get started with a droplet) 파란색 버튼을 클릭한다.

드롭릿 생성페이지에 들어가면 이미지 선택(Choose an image) 탭 중 'Marekt place' 를 선택한다. 그 후 들어가서 Ctrl+F(혹은 command+F)를 이용해 'Ghost'를 검색해서 찾아서 선택한다.

 

ssh-key 생성하고 등록하기

일단 ssh-key라는게 필요한데 간단히 설명하자면 다른 서버의 컴퓨터에 접속하기위한 인증수단이라고 보면 된다.

ssh-key가 기존에 있는 사람이라면 등록해서 쓰면 되지면 만약 없다면 ssh-key를 생성해야한다. ssh가 있는 지 잘 모르겠다면 Terminal에 다음과 같이 입력하자.

ls -al ~/.ssh  

#만약 id_rsa와 같은 파일이 없다면 새로 생성해야한다.

 

없는 경우 터미널에 다음과 같이 입력한다.

 

ssh-keygen

 

Enter file in which to save the key 이라는 글이 나올텐데 이거 뒤로는 그냥 다 무시하고 Enter를 누르면 ssh-key가 생성된다.

ssh 키를 확인하고 복사하기 위해서 다음과 같이 입력한다.

 

cat ~/.ssh/id_rsa.pub

 

아래와 같이 나온다면 성공한거다. 출력된 내용을 처음부터 끝까지 복사하자.

 

그리고 SSH key content 칸에 붙여넣기하고, 이름도 적당한 걸로 짓는다. (별로 중요하지 않다)

Authentication에서 SSH Keys를 선택하고 Select all에 체크한다.

 

Choose a hostname (호스트네임)은 기억하기 좋도록 짧고 간결하게 짓는다.

다른 사항은 선택하지 않아도 되고, Creat Droplet 버튼을 눌러 드롭릿을 생성하자.

 

금방 드롭릿이 생성될 것이고, ip주소가 나오는데 이걸 복사하자.

ip주소는 167.99.70.14이다.

 

ip주소를 인터넷 주소창에서 열었을 때 이런 화면이 뜬다면 성공이다.

 

Domain name 빌리기

이제 서버 IP주소가 나왔으니 우린 도메인을 호스팅해서 고스트 서버와 연동을 해야한다. 즉 숫자로 된 ip주소는 기억하기 힘드니 문자로 된 주소를 빌리는 것이다.

도메인을 빌려주는 호스팅 사이트에 가입해서 마치 메이플스토리 닉네임을 정하듯 중복되지 않으면서 내 마음에 쏙 드는 도메인 빌리면 되는데 도메인 호스팅 사이트가 워낙 많아서 선정하기 여간 어려운게 아니다. 

2019 도메인 이름 및 웹 호스팅 사이트 순위 보기

위 링크를 타고 들어가면 top10 이라는 웹사이트에서 호스팅 사이트에 점수를 매겨 순위를 매겼으니 참고하길 바란다.

이 외에도 dot.tk 라는 사이트에서는 끝에 tk, ga, ml, cf 등이 붙은 도메인을 무료로 대여해주고 있다.

참고로 나는 Godaddy 라는 사이트에서 도메인을 빌렸다.

이 곳에서 쓰고자 하는 도메인을 입력하고 검색한다.

 

원하는 도메인이 이미 사용중일 경우, 비슷한 도메인을 자체적으로 추천해준다.

 

자 도메인을 빌렸으면 이제 도메인에 우리 ghost 서버의 ip주소를 연동해야한다. 

내 도메인에서 DNS 관리로 들어간다.

유형은 A, 이름은 @ 값에는 나의 ghost 서버 ip주소를 입력한다. 여기서 TTL은 'Time To Live'의 약자인데,  캐시 네임서버와 관련된건데 TTL값만큼 해당하는 시간동안 레코드를 캐시에 저장해둔다. 그렇게 중요한건 아니니 1~2시간정도로 설정해둔다.

추가하고 일정시간이 지나면 167.99.70.14(ip주소)로 접속했을 때와 woosik.me(내 도메인)으로 접속했을 때 같은 화면을 볼 수 있다.

 

ssh로 root 관리자로 고스트 서버에 접속하기

로컬 콘솔을 열고 ssh root@ 하고 여러분의 ghost ip 주소를 입력하자

ssh root@your-ghost-ip

입력하면 연결을 계속하겠냐는 커맨드가 뜨는데 콘솔창에 yes를 입력하고 엔터를 치면 ghost-cli가 작동하면서 자동으로 ghost를 설치한다.

enter your blog URL 이라는 입력 메세지가 나오면 도메인 주소를 입력하면 된다.

enter your blog URL: http://woosik.me

 

 

여기까지 왔다면 당신의 도메인으로 접속했을 때 고스트의 기본 테마를 볼 수 있을 것이다. 그렇다면 성공이다.

콘솔창에 아래와 같이 입력하면 관리자 계정으로 로그인할 수 있다.

sudo -i -u ghost-mgr

 

logout을 하고싶다면 exit를 입력하면 빠져나올 수 있다.

 

ssh root@ip Permission denied 에러 해결 - 1

 

ssh 키로 접속하는 도중 위와 같은 에러가 발생할 수 있다. 나같은 경우 이런 에러가 떴다.

먼저 웹사이트에서 password를 초기화해야한다.

Droplets에서 내가 사용하는 드롭릿을 선택하고 Access로 들어오면 password를 reset할 수 있다.

그럼 mail 초기화된 비밀번호가 오는데 이 것을 복사한다.

그 다음 Reset root password 위에 있는 Console access의 Launch Console을 클릭해서 DigitalOcean의 콘솔로 접속하고 아래와 같이 입력한다.

ssh root@your_ghost_ip

 

메일로 온 비밀번호를 붙여넣기해서 접속한다.

 

You are required to change your password immediately (root enforced)
Changing password for root.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:

그럼 위와 같은 메세지가 뜰텐데 

1. 메일로 온 비밀번호를 입력

2. 다시 설정할 비밀번호 입력

3. 다시 설정할 비밀번호 확인

 

그럼 위와 같이 고스트 cli가 작동하면서 자동으로 설치한다.

중간에 

Enter your blog URL : 도메인주소를 입력.

Enter your email : 이메일주소를 입력한다

그후 아래와 같이 입력하면 관리자 계정이 생성된다.

sudo -i -u ghost-mgr

 

ssh root@ip Permission denied 에러 해결 - 2

 

아래와 같이 나의 ip주소와 함께 입력한다. 성공이라면 위와 같이 진행하면 된다.

ssh root@your_ghost_ip

 

그래도 계속 에러가 발생한다면?

 

시스템 환경설정 --> 공유 --> 원격로그인이 꺼져있다면 켜준다.

 

터미널을 키고 /etc/ssh/ 경로로 이동한다.

vim 명령어 보기

cd /etc/ssh/             #경로로 이동
vim sshd_config          #sshd_config 파일 vim으로 수정

들어가자마자 '/' 를 입력하고 PasswordAuth 정도까지 입력한 후 enter를 치면 해당 위치로 이동한다.

'i'를 입력해서 insert 모드로 변경하고 

PasswordAuthentication no 에서 PasswordAuthentication Yes로 변경한다.

그 후 ':wq'를 입력하고 Enter를 누르면 저장하고 종료된다.

그리고 다시

ssh root@ghost_ip

 

그래도 안된다면

ssh-copy-id root@ghost_ip

 

이후도 안된다면 댓글을 남겨줬으면 한다.

 

Ghost 블로그 관리하기

자, 이제 여러분의 도메인주소 끝에 '/ghost' 를 붙이면 관리자 페이지로 이동할 수 있다. 관리자 계정을 생성하고 블로그를 관리해보자.

 

 

포스트도 작성해보고, 태그도 달아보고, Setting-Gernaral 에서 아이콘과 로고도 편집해보자!

 

Comments