Установка та налаштування Ghost (Self-Hosted)
Ghost self-hosted розгортається через офіційний CLI на Ubuntu. Мінімальні вимоги: 1 ядро CPU, 1 GB RAM (рекомендується 2 GB), Ubuntu 20.04/22.04, Node.js 18.x, MySQL 8.
Підготовка сервера
# Оновлення системи
sudo apt update && sudo apt upgrade -y
# Node.js 18 через NodeSource
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
# MySQL 8
sudo apt install -y mysql-server
sudo mysql_secure_installation
# Nginx
sudo apt install -y nginx
# Ghost CLI
sudo npm install -g ghost-cli@latest
Налаштування MySQL:
CREATE USER 'ghost'@'localhost' IDENTIFIED BY 'strongpassword';
CREATE DATABASE ghost_prod CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON ghost_prod.* TO 'ghost'@'localhost';
FLUSH PRIVILEGES;
Установка Ghost
sudo mkdir -p /var/www/ghost
sudo chown $(whoami):$(whoami) /var/www/ghost
cd /var/www/ghost
ghost install \
--url https://myblog.com \
--db mysql \
--dbhost localhost \
--dbuser ghost \
--dbpass strongpassword \
--dbname ghost_prod \
--process systemd \
--mail SMTP \
--mailhost smtp.mailgun.org \
--mailport 587 \
--mailssl true \
--mailuser [email protected] \
--mailpass mailgunpassword \
--mail-from [email protected]
Ghost CLI автоматично налаштує Nginx virtual host та запитує SSL через Certbot.
Корисні команди управління
ghost status # стан сервісу
ghost stop / start # зупинка/запуск
ghost restart # рестарт
ghost update # оновлення до останної версії
ghost log # перегляд логів
ghost config # редагування config.production.json
ghost backup # створення бекапу (zip з контентом та файлами)
Кастомна конфігурація
// /var/www/ghost/config.production.json
{
"url": "https://myblog.com",
"database": {
"client": "mysql2",
"connection": { "host": "localhost", "user": "ghost", "password": "...", "database": "ghost_prod" }
},
"mail": {
"transport": "SMTP",
"options": { "host": "smtp.mailgun.org", "port": 587, "auth": { "user": "...", "pass": "..." } }
},
"storage": {
"active": "s3",
"s3": {
"accessKeyId": "...",
"secretAccessKey": "...",
"bucket": "myblog-media",
"region": "eu-west-1",
"assetHost": "https://cdn.myblog.com"
}
},
"imageOptimization": { "resize": true, "srcsets": true },
"privacy": { "useUpdateCheck": true, "useGravatar": false }
}
Установка та базова налаштування Ghost на підготовленому VPS займає 2–4 години.







