Установка Ghost CMS

Поделиться

Инструкция по установке Ghost CMS (копируй и вставляй)

Часть 1 — Подготовка сервера

sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y
sudo ufw allow 'Nginx Full'
sudo apt install mariadb-server -y
sudo mysql_secure_installation

Часть 2 — Установка Node.js

sudo apt install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=22
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt update
sudo apt install nodejs -y

Часть 3 — Установка Ghost-CLI

sudo npm install ghost-cli@latest -g

Часть 4 — Создание директории и прав

sudo mkdir -p /var/www/ghost
sudo chown $USER:$USER /var/www/ghost
sudo chmod 775 /var/www/ghost
cd /var/www/ghost

Часть 5 — Установка Ghost (интерактивно)

ghost install

⚠️ Во время установки ответь:

  • Database: MySQL
  • Host: 127.0.0.1
  • Database name: ghost_prod
  • Database user: ghost_user
  • Database password: сгенерируй_сложный_пароль
  • URL: http://твой_IP_или_домен

Часть 6 — Создание конфигурационного файла (копируй целиком)

cat > config.production.json << 'EOF'
{
"admin": {
"url": "https://your-domain.com"
},
"server": {
"port": 2368,
"host": "YOUR_SERVER_IP"
},
"database": {
"client": "mysql",
"connection": {
"host": "127.0.0.1",
"user": "your_ghost_db_user",
"password": "your_database_password",
"database": "your_database_name"
}
},
"logging": {
"transports": [
"file",
"stdout"
]
},
"process": "systemd",
"security": {
"staffDeviceVerification": false
},
"paths": {
"contentPath": "/var/www/your-ghost-install/content"
},
"url": "https://your-domain.com",
"members": {
"enable": false
},
"privacy": {
"useUpdateCheck": false,
"useGravatar": false,
"useStructuredData": false
}
}
EOF

Часть 7 — Настройка Nginx и фаервола

ghost setup nginx
sudo ufw allow 2368/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo systemctl restart nginx

Часть 8 — Настройка systemd и запуск

ghost setup systemd
ghost restart

Часть 9 — Проверка

ghost doctor
curl -I http://127.0.0.1:2368
sudo systemctl status ghost_$(hostname -I | awk '{print $1}' | tr '.' '-')
ghost log

Часть 10 — Настройка домена и HTTPS (если есть домен)

ghost config url https://твой-домен.ru
ghost restart
ghost setup ssl

🧹 Команды для обслуживания (тоже можно копировать)

Перезапуск

cd /var/www/ghost && ghost restart

Просмотр логов

cd /var/www/ghost && ghost log --all

Резервное копирование

tar -czf ghost-backup.tar.gz /var/www/ghost
mysqldump -u ghost_user -p ghost_prod > db-backup.sql

Полное удаление (если нужно переустановить)

cd /var/www/ghost && ghost uninstall

✅ Что нужно заменить вручную (после копирования)

ЧтоНа что
ghost_userтвой пользователь БД
ТВОЙ_ПАРОЛЬреальный пароль
ghost_prodимя базы данных
твой_IP_или_доменhttp://192.168.1.100 или https://example.com
твой-домен.ruреальный домен

Готово. Всё, что выше — можно копировать построчно или сохранить как install.sh и запустить.