Daily I Did : 블로그 만들기(2022/08/27)

Daily I Did : 블로그 만들기(2022/08/27)
ghost 서비스를 정상적으로 실행하면 보이는 화면

블로그 만들기

블로그를 만들었다.

예전부터 나만의 블로그를 만들어 보고 싶었지만, 네이버나 티스토리 같은 다른 기업에 의존하는 블로그는 별로 내키지 않아서 직접 운영해 보기로 했다.

웹을 공부함에 있어서 귀중한 경험이고, 이 블로그를 어떻게 만들었는지 까먹을 미래를 위해 첫번째 글은 이 블로그를 만들었던 과정이나 적어볼까 한다.

블로그 제작기

블로그에 대한 설명


이 블로그는
(1) 라즈베리 파이 4를 사용해서
(2) Ubuntu 20.04.4 LTS에서 돌아가고,
(3) Nginx 1.23.1와 MariaDB 10.3.34 을 사용하고,
(4) nodejs 14.18.3 을 사용하며,
(5) ghost 1.22.0을 기반으로 작동한다.

Ghost: Turn your audience into a business
The world’s most popular modern publishing platform for creating a new media platform. Used by Apple, SkyNews, Buffer, OpenAI, and thousands more.

Ghost는 오픈소스 블로그 서비스로, pro 버전은 호스팅까지 해주는 듯 하지만 내 서버가 이미 있으므로 그냥 설치해 보기로 했다.

설치 과정은 다음과 같다. Nginx와 MariaDB, NodeJS는 설치되어 있다고 생각하고 작성하겠다. 아래 모든 굵은 글씨는 우리가 입력한 내용, 그 아래 줄은 컴퓨터의 응답이다.

DB(MariaDB, Mysql 모두 가능) 계정 만들기


관리자 권한이 있는 계정에서 다음 명령을 실행하면 된다.
$ sudo mysql -u(계정명) -p
Enter password: (비밀번호 입력)
이렇게 하면 DB로 들어오게 된다.

DB에서는 ghost에서 사용할 계정을 만들어야 한다.
> create user '(계정명)'@'localhost' Identified by '(계정 비밀번호)';
Query OK, 0 rows affected (0.694 sec)
> create database (데이터베이스 이름);
Query OK, 1 row affected (0.019 sec)
> grant all privileges on (데이터베이스 이름).* to '(계정명)'@'localhost';
Query OK, 0 rows affected (0.077 sec)
> flush privileges;
Query OK, 0 rows affected (1.138 sec)
> exit
Bye

ghost-cli 다운받기


Node가 설치되어 있다면, 다음 명령어만 적으면 된다.
$npm install ghost-cli@latest -g


설치하고 나서, ghost를 설치하고자 하는 폴더에서 진입해서 다음 명령을 실행하자.
$ chown -R $USER:$USER {설치할 폴더 경로}
$ chmod 775 {설치할 폴더 경로}
$ ghost install
✔ Checking system Node.js version - found v14.18.3
✔ Checking logged in user
✔ Checking current folder permissions
✔ Checking system compatibility
✔ Checking for a MySQL installation
✔ Checking memory availability
✔ Checking free space
✔ Checking for latest Ghost version
✔ Setting up install directory
✔ Downloading and installing Ghost v5.11.0
✔ Finishing install process
이 과정이 완료되기까지는 시간이 꽤 오래 걸린다. 인고와 수용의 시간을 버틴 후, 다음에 대답하면 된다.
? Enter your blog URL: (당신의 블로그 URL)
? Enter your MySQL hostname: localhost
? Enter your MySQL username: (위에서 입력했던 계정명)
? Enter your MySQL password: (위에서 입력했던 계정 비밀번호)
? Enter your Ghost database name: (위에서 입력했던 데이터베이스 이름)
Do you wish to set up Nginx? Yes
Do you wish to set up Systemd? Yes
Do you want to start Ghost? (Y/n) n

내 경우에는 Nginx설정 폴더가 /etc/nginx/conf.d/에 있어서, /etc/nginx/sites-available/ 에 있다고 생각한 Ghost에서 한번 에러가 났다. 어짜피 뒤에서 Nginx설정을 만질 것이므로, 굳이 Yes하지 않아도 된다. 실행은 조금 이따 하자.

Nginx 설정


Nginx를 통해 blog.spweber.com으로 들어오는 요청은 이 사이트로 접속되도록 해보자. 기본적인 설치의 경우에는 port번호가 2368번일 것이다.

Nginx 설정 파일. 첨부파일로 다운받을 수 있다.

위와 같이 작성했다.

Ghost 켜기/끄기

Ghost 서비스를 켜려면 Ghost가 설치된 위치로 가서 다음 명령을 실행하면 된다.
$ghost start

끄려면 아래 명령을 실행해야 한다.
$ghost stop

그거 말고도 현재 켜져 있는 ghost 인스턴스를 볼 수 있는
$ghost status

등이 있다. 자세한 명령어들은 $ghost help를 통해 알아보아라.

초기 세팅


(당신의 도메인 주소)/ghost/로 들어가면 초기 회원가입 창이 뜨게 된다. 가입후 로그인하면 블로그 글을 쓰는 화면, 블로그를 관리하는 화면 등을 확인할 수 있을 것이다.

끝!