1. Ghost와 자체 호스팅 개요
Ghost는 빠르고 강력한 퍼블리싱 플랫폼으로, Node.js 환경에서 실행됩니다. 이 가이드는 높은 성능과 유연성을 제공하는 자체 호스팅(Self-Hosted) 방식을 기준으로 하며, 안정적인 운영을 위해 Node.js LTS, MariaDB 8.0+, Nginx/Apache 구성을 사용합니다.
2. 필수 소프트웨어 설치 및 사용자 생성 (Rocky Linux 기준)
Ghost 설치를 위한 핵심 소프트웨어를 설치하고, 보안 강화를 위해 Ghost 전용 사용자를 생성합니다.
2.1. Node.js (LTS 버전) 설치
Ghost는 최신 LTS 버전의 Node.js가 필요합니다. NodeSource를 사용하여 안정적인 버전을 설치합니다.
# 시스템 업데이트 및 curl 설치
sudo dnf check-update
sudo dnf install -y curl
# Node.js LTS (최신 안정 버전) 설치 스크립트 실행
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
# Node.js 설치
sudo dnf install -y nodejs
2.2. Nginx, Apache 및 MariaDB 서버 설치
Nginx 또는 Apache는 웹 서버 및 프록시로, MariaDB는 데이터베이스로 사용됩니다. 필요에 따라 둘 중 하나를 선택하여 설치하세요.
# Nginx, Apache (httpd) 및 MariaDB 서버 설치
sudo dnf install -y nginx httpd mariadb-server
# MariaDB 서비스 시작 및 보안 설정 (루트 비밀번호, 익명 사용자 제거 등)
sudo systemctl start mariadb
sudo mariadb-secure-installation
2.3. Ghost 전용 사용자 생성 및 권한 설정
보안상의 이유로 root가 아닌 전용 사용자를 만들어 Ghost를 운영합니다.
# 'ghost-user' 사용자 생성
sudo adduser ghost-user
# 'ghost-user'에게 sudo 권한 부여 (설치 과정에서 필요)
sudo usermod -aG sudo ghost-user
# 'ghost-user'로 로그인 전환
sudo su - ghost-user
참고: 이제부터 모든 Ghost 관련 명령은 ghost-user로 로그인한 상태에서 실행해야 합니다.