Установка 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 и запустить.