매일 업데이트
2022-02-02 09:34 5 min

Ubuntu 서버에 Ghost를 설치하는 방법

리눅스 웹 서버에 블로그를 구축하고 싶지만 워드프레스보다 좀 더 간결하고 가벼운 플랫폼을 찾고 계신가요? 그렇다면 Ghost 설치를 고려해 보세요. Ghost는 단순함과 사용 편의성에 초점을 맞춘, 매우 빠른 완전 오픈 소스 블로깅 플랫폼입니다. 이 안내서는 우분투 서버를 중심으로 설명하지만, 대부분의 리눅스 서버 배포판에 Ghost를 설치할 수 있다는 점을 기억하세요. 필요한 것은 LEMP 스택(Linux, Nginx, MySQL, PHP)과 Ghost-CLI 설치 도구를 실행하기 위한 Node.js 패키지 관리자입니다.

Ghost 사용자 계정 생성

루트 사용자로 서버에서 Ghost를 관리하는 것은 보안상 좋지 않습니다. 대신, Ghost 소프트웨어를 제어하고 관리할 전용 사용자 계정을 만드는 것이 훨씬 안전합니다. 새 사용자를 설정하려면 서버에서 터미널을 열고 su 명령을 사용하여 루트 사용자로 로그인합니다.

이제 adduser 명령어를 사용하여 우분투에 새로운 사용자를 추가합니다.

adduser ghost-admin

다음으로 usermod 도구를 사용하여 ghost-admin 사용자를 sudo 그룹에 추가합니다. 이렇게 하면 방금 생성한 Ghost 관리자 계정이 sudo를 통해 루트 수준의 명령에 접근하고 실행할 수 있습니다.

usermod -aG sudo ghost-admin

passwd 명령어를 사용하여 Ghost 관리자 계정의 암호를 설정합니다. 안전한 암호를 사용하는 것을 권장합니다.

passwd ghost-admin

암호를 설정한 후 루트에서 로그아웃하고 다음 명령어를 사용하여 Ghost 관리자로 로그인합니다.

su ghost-admin

LEMP 스택(Linux, Nginx, MySQL, PHP) 설치

Ghost는 "LAMP" 스택보다 LEMP 스택에서 최적의 성능을 보입니다. 이는 Ghost 설치 프로그램과 개발자들이 웹 서버로 Apache2 대신 Nginx를 선호한다는 의미입니다.

참고: Apache2와 함께 Ghost를 설치할 수도 있지만, 이 튜토리얼에서는 다루지 않습니다. 자세한 내용은 Ghost 공식 문서를 참고하세요.

우분투 서버에 이미 LAMP (Linux, Apache2, MySQL, PHP) 설정이 있다면, Ghost 실행에 필요한 대부분의 도구가 이미 시스템에 있을 것입니다. 이제 Apache2를 Nginx로 대체하기만 하면 됩니다. 다음 명령어를 입력하여 Apache2를 중지하고 제거합니다.

sudo -s
  systemctl stop apache2
  apt remove --purge apache2

이제 Nginx를 설치하고 활성화합니다.

sudo -s
  apt install nginx
  systemctl enable nginx
  systemctl start nginx
  ufw allow 'Nginx Full'

웹 서버 도구가 전혀 설치되어 있지 않은가요? 다음 명령어를 입력하여 LAMP 스택 설치를 시작하세요. 이 과정에서 MySQL 설정을 완료할 수 있습니다. 완료 후에는 위의 지침에 따라 Apache2를 제거하고 Nginx 웹 서버를 설정합니다.

sudo apt install lamp-server^

참고: LAMP 설정 중에 MySQL은 루트 암호 설정을 요구합니다. 반드시 안전한 암호를 설정하고 기억하세요. Ghost-CLI가 제대로 작동하는 데 필요합니다.

Node.js 설치

Ghost 블로깅 플랫폼은 Node.js를 기반으로 실행됩니다. 따라서 NodeSource APT 저장소를 설치해야 합니다.

참고: 계속하기 전에 시스템에 curl 패키지가 설치되어 있는지 확인하십시오.

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash

curl 명령 실행 후 우분투 패키지 관리 도구를 사용하여 Node.js를 우분투 서버에 설치합니다.

참고: 원활한 설치를 위해 Node.js를 설치하기 전에 우분투 서버의 모든 시스템 업데이트를 설치하는 것이 좋습니다.

sudo apt-get install nodejs

Ghost-CLI 설치

Ghost 블로깅 플랫폼은 Node.js 도구 세트를 기반으로 합니다. 따라서 NPM 버전을 통해 NPM/Node.js와 Nginx가 실행되는 모든 리눅스 환경에 소프트웨어를 간편하게 자동 설치(및 제거)할 수 있습니다.

시작하기 전에 NPM이 우분투에 설치되어 있는지 확인하세요. Node.js는 NPM을 포함하지 않은 별도의 패키지일 수 있으므로 이 단계를 수행해야 합니다.

sudo apt install npm

이제 Node npm 도구를 사용하여 최신 버전의 ghost-cli 패키지를 설치합니다.

sudo npm i -g ghost-cli

Ghost-CLI를 사용하여 Ghost 설치

Ghost 설치에 필요한 모든 소프트웨어가 시스템에 준비되었습니다. 이제 최신 버전을 가져와서 올바르게 실행하는 것만 남았습니다. 먼저 루트 웹 서버 폴더에 디렉터리를 생성해야 합니다. Nginx의 경우 이는 /var/www/입니다.

앞서 생성한 사용자를 사용하여 웹 디렉터리에 Ghost 폴더를 만듭니다.

sudo mkdir -p /var/www/ghost/

cd 명령어를 사용하여 새로 생성한 Ghost 디렉터리로 이동합니다. 셸이 /var/www/ghost/ 디렉터리에서 직접 작동하는 것이 중요합니다. 그렇지 않으면 ghost-cli 도구가 제대로 작동하지 않을 수 있습니다.

cd /var/www/ghost/

ghost-cli를 실행합니다. 이 도구는 자동이며 여러 질문을 합니다. 다음 명령어를 사용하여 초기 설정을 시작합니다.

sudo ghost install

ghost-cli가 묻는 첫 번째 질문은 "블로그 URL은 무엇입니까?"입니다. 프롬프트에 도메인 이름을 입력하고 Enter 키를 눌러 계속합니다.

그러면 ghost-cli는 MySQL 정보를 입력하라는 메시지를 표시합니다. 호스트 이름으로 "localhost"를 입력하고, 이전에 설정한 루트 MySQL 암호와 사용자 이름을 입력합니다. 설치 프로그램의 지시를 따르면 곧 Ghost가 서버에서 실행될 것입니다.

cli 설치 프로그램이 완료되면 https://yourserverdomainname/ghost로 이동하여 설정하고 새 블로그에 글을 게시해 보세요.

저자
Korea

기술 트렌드와 실용적인 팁을 전하는 लेखक입니다.