설치형 블로그, ubuntu에 Ghost 블로그 설치하기

설치형 블로그, ubuntu에 Ghost 블로그 설치하기

개요

Ghost 라는 cms 를 이용해 ubuntu22 에 설치한 다음에 블로그를 운영해보기로 합니다. 서버는 클라우드나 전문 서버 업체가 아닌 집에서 운영하는 Proxmox 에 설치하기로 했습니다. ubuntu 22는 이미 설치되어 있는 것으로 가정하고 진행합니다.

설치 과정은 모두 아래의 Ghost 블로그의 공식 가이드로 진행합니다.

서버 설정

이 단계에서는 Ghost 를 운영하기 위한 필수 서버들을 설치한다.

서버에 사용자 생성

Ghost 블로그의 운영을 관리할 터미널 사용자를 먼저 생성한다. 단, ghost 라는 사용자명은 절대 사용불가. (오류남)

$ adduser 사용자명
$ usermod -aG sudo 사용자명
$ su - 사용자명

패키지 업데이트

ubuntu 22 의 기본 패키지들을 업데이트한다.

$ sudo apt-get update
$ sudo apt-get upgrade

NGINX 설치

웹서버인 NGINX 를 설치한다.

$ sudo apt-get install nginx

방화벽을 예외처리한다. (방화벽 사용안하면 이 단계는 건너 뜀)

$ sudo ufw allo 'Nginx Full'

MySQL 설치

DB를 위한 MySQL을 설치한다.

$ sudo apt-get install mysql-server

Node.js 설치

Ghost 블로그를 운영하는데 필수요소인 Node.js (아래 명령문의 setup_18.x의 18은 버전을 의미한다. 최신 고스트는 현재 18버전이 필수)

$ curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash
$ sudo apt-get install -y nodejs

Ghost-CLI 설치

Ghost-CLI는 명령어를 이용해서 Ghost 블로그의 시스템적인 부분을 제어하는 역할을 한다. 명령어도 간단하고 쉬우며, 명령어 한 줄 만으로 거의 모든 제어를 자동으로 할 수 있다.

$ sudo npm install ghost-cli@latest -g

잘 설치 됐는 지 확인을 해본다. 아래의 명령을 치면 ghost-cli 사용 명령어에 대한 도움말이 출력된다.

$ ghost help

Ghost 인스톨

먼저 설치한 Ghost-CLI를 이용해서 설치하므로 Ghost는 설치가 매우 간단하고 명령어만 따라서 치면 누구나 쉽게 구축할 수 있다. 거기에 머리아프고 복잡한 SSL 인증서도 자동으로 생성해서 적용시켜준다.

사이트 디렉토리 생성

이제 운영할 사이트가 저장될 디렉토리를 생성해주면 된다. 명령어 라인중 ‘사이트이름’은 내가 직접 운영할 블로그의 이름을 영어로 작성해주는 것이 좋다. ‘사용자’ 항목은 앞서 제일 처음에 생성한 사용자명을 적는다.

$ sudo mkdir -p /var/www/sitename
$ sudo chown 사용자:사용자 /var/www/sitename
$ sudo chmod 775 /var/www/sitename
$ cd /var/www/sitename

DB 사용자 설정

앞서 설치한 MySQL의 root 사용자에 암호를 설정한다.

$ sudo mysql
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '사용할암호를여기에지정';
mysql> exit;

Ghost 자동 설치

지금까지는 ghost를 설치하기 위한 필수 사전 설치 작업이었고 이제부터 본격적인 ghost 블로그 설치가 시작된다. 설치는 문답식으로 이루어지는데 질문에 대답만 잘해주면 쉽게 설치가 끝난다.

$ ghost install

설치하면서 물어보는 질문

블로그 주소

블로그로 사용할 주소를 물어보면 거기에 맞게 대답해준다. 요즘 SSL 인증은 필수 이므로 HTTP 는 적지 않고 HTTPS로 시작하는 주소를 적어주면 된다. https://사이트주소

MySQL 호스트네임

서버 1대로 운영하므로 localhost  라고 대답해주면된다.

MySQL 사용자명, 비밀번호

앞서 설정한 사용자명과 비밀번호를 적어주면된다. root 를 사용자명으로 쓰고 설정한 암호를 적는다.

Ghost 데이터베이스명

자동으로 설정되므로 그냥 엔터키만 치고 넘어간다.

Ghost MySQL 사용자 설정

root 계정을 Mysql에 사용하면 Ghost-cli 에서 DB 접근도 가능하다고 하므로 그냥 Y 눌러서 넘어간다.

NGINX 설정

자동으로 설정하는 것이 편하므로 당연히 자동설정을 선택한다해서 넘어가는걸로 한다.

SSL 설정

별다른 설정을 하지 않고 넘어간다. 자동으로 SSL 다운받아서 인증서 설치까지 해주는데 힘들게 수동으로 하지 않아도 된다.

systemd 에 등록 유무

systemd 에 등록하면 서버가 재시작되도 ghost 가 자동 재시작되므로 당연히 등록해준다.

마지막 단계

ghost 를 지금 바로 시작할거냐고 물어보므로 당연히 Yes !

웹 관리자 페이지 초기설정

이제 다 끝났다.웹브라우저 주소창에서 아래의 주소를 치고 들어간다.

https://사이트이름/ghost/

이제 관리자를 생성하고 본인의 입맛대로 잘 설정해주면된다.