ваше сообщение коммита

This commit is contained in:
2025-09-30 22:58:08 +03:00
parent 738a615809
commit ad7b8e9716
16 changed files with 1854 additions and 54 deletions

98
docs/dns-setup.md Normal file
View File

@@ -0,0 +1,98 @@
# Настройка DNS записей для VDS
## 🎯 **Цель:**
Настроить DNS записи так, чтобы домен указывал на IP адрес VDS сервера.
## 📋 **Требуемые DNS записи:**
### **1. A запись (обязательная):**
```
Тип: A
Имя: @ (или пустое)
Значение: IP_VDS_СЕРВЕРА
TTL: 3600 (или по умолчанию)
```
### **2. CNAME запись (опциональная):**
```
Тип: CNAME
Имя: www
Значение: example.com
TTL: 3600 (или по умолчанию)
```
## 🔧 **Настройка у разных провайдеров:**
### **Cloudflare:**
1. Заходим в панель Cloudflare
2. Выбираем домен
3. Переходим в "DNS" → "Records"
4. Добавляем A запись:
- **Type:** A
- **Name:** @
- **IPv4 address:** IP_VDS_СЕРВЕРА
- **Proxy status:** DNS only (серый облачок)
### **Reg.ru:**
1. Заходим в панель управления
2. Выбираем домен
3. Переходим в "DNS-записи"
4. Добавляем A запись:
- **Тип:** A
- **Поддомен:** @
- **IP-адрес:** IP_VDS_СЕРВЕРА
### **Namecheap:**
1. Заходим в панель управления
2. Выбираем домен
3. Переходим в "Advanced DNS"
4. Добавляем A запись:
- **Type:** A Record
- **Host:** @
- **Value:** IP_VDS_СЕРВЕРА
## ⏱️ **Время распространения DNS:**
- **Обычно:** 15-60 минут
- **Максимум:** 24-48 часов
- **Проверка:** `nslookup example.com` или `dig example.com`
## 🔍 **Проверка DNS записей:**
### **Через браузер:**
- Откройте `https://dns.google/resolve?name=example.com&type=A`
- Проверьте, что в ответе указан IP VDS сервера
### **Через командную строку:**
```bash
# Linux/Mac
nslookup example.com
dig example.com
# Windows
nslookup example.com
```
## ⚠️ **Важные моменты:**
1. **Убедитесь, что домен активен** и не заблокирован
2. **Проверьте, что IP VDS сервера правильный**
3. **Дождитесь распространения DNS** перед настройкой VDS
4. **Используйте только IP адрес** (не домен) для VDS
## 🚨 **Частые проблемы:**
### **DNS не обновляется:**
- Проверьте TTL записи (должен быть 300-3600)
- Очистите DNS кэш: `ipconfig /flushdns` (Windows)
- Подождите до 48 часов
### **Домен не указывает на VDS:**
- Проверьте правильность IP адреса
- Убедитесь, что A запись создана для корневого домена (@)
- Проверьте, что нет других A записей
### **Сайт не открывается:**
- Убедитесь, что VDS сервер запущен
- Проверьте, что порт 80/443 открыт
- Проверьте firewall на VDS сервере

153
docs/vds.md Normal file
View File

@@ -0,0 +1,153 @@
# Задача: Простая настройка VDS с автоматической установкой Ubuntu
## 🎯 **Описание задачи:**
### **Цель:**
Создать простую форму для автоматической настройки VDS сервера с установкой Ubuntu и деплоем DLE приложения.
### **Проблема:**
Нужно вручную настраивать VDS сервер, устанавливать Ubuntu и необходимые компоненты для работы DLE приложения.
### **Решение:**
Автоматическая очистка VDS, установка Ubuntu, создание пользователя и деплой DLE приложения через локальную форму.
## 📋 **Требования:**
### **1. Входные данные (9 полей):**
- **VDS IP** - IP адрес сервера
- **Домен** - например `example.com` (должен указывать на IP VDS)
- **Email** - для SSL сертификата
- **Логин Ubuntu** - пользователь для VDS (по умолчанию `ubuntu`)
- **Пароль Ubuntu** - пароль для пользователя VDS
- **Логин Docker** - пользователь для Docker (по умолчанию `docker`)
- **Пароль Docker** - пароль для пользователя Docker
- **SSH пользователь** - обычно `root`
- **SSH ключ** - приватный ключ для подключения
- **Ключ шифрования** - автоматически загружается с локальной машины
### **1.1. Требования к домену:**
- **A запись** `example.com` → IP VDS сервера
- **CNAME запись** `www.example.com``example.com` (опционально)
- **Домен должен быть активен** и доступен
- **DNS записи должны распространиться** (проверка перед настройкой)
### **2. Что должно происходить:**
1. **Проверка DNS** - валидация A записи домена
2. **Подключение** к VDS по SSH
3. **Очистка** всего содержимого на VDS
4. **Установка** Ubuntu
5. **Создание пользователя Ubuntu** с паролем
6. **Создание пользователя Docker** с паролем
7. **Установка** Docker, Docker Compose, nginx
8. **Настройка** nginx для продакшн приложения
9. **Получение** SSL сертификата
10. **Миграция** Docker образов с локальной машины
11. **Передача ключей** (шифрования и RSA) на VDS
12. **Обновление переменных** в БД VDS
13. **Запуск** DLE приложения в Docker
### **3. Результат:**
- **VDS полностью очищена** и переустановлена
- **Ubuntu установлена** с пользователями Ubuntu и Docker
- **Docker образы** мигрированы с локальной машины
- **Ключи переданы** с локальной машины на VDS
- **Переменные обновлены** в БД VDS
- **DLE приложение** работает в Docker на VDS
- **Домен работает** с SSL
- **Приложение работает** автономно на VDS
## 🏗️ **Архитектура:**
```
Продакшн режим:
Интернет → VDS nginx (домен) → VDS Docker приложение (автономно)
Настройка:
Локальная машина → SSH → VDS сервер → Очистка + Ubuntu + Docker миграция
```
### **Компоненты:**
1. **Веб-форма** - настройка VDS (7 полей)
2. **WebSSH сервис** - SSH команды к VDS
3. **SSH агент** - подключение к VDS
4. **VDS сервер** - Ubuntu + Docker + nginx + SSL
5. **Docker образы** - мигрированы с локальной машины
6. **Переменные окружения** - настроены для продакшн
## 🚀 **Процесс работы:**
### **1. Первоначальная настройка:**
- Заходит на `http://localhost:5173/settings/interface/webssh`
- Заполняет форму с данными VDS (9 полей)
- Нажимает "Настроить VDS"
### **2. Система настраивает VDS:**
- **Проверяет DNS** записи домена
- **Предупреждает** если домен не готов
- Подключается к VDS по SSH
- **Очищает** все содержимое на VDS
- **Устанавливает** Ubuntu
- **Создает пользователя Ubuntu** с паролем
- **Создает пользователя Docker** с паролем
- Устанавливает Docker, Docker Compose, nginx
- Настраивает nginx для продакшн
- Получает SSL сертификат
- **Мигрирует** Docker образы с локальной машины
- **Передает ключи** (шифрования и RSA) на VDS
- **Обновляет переменные** в БД VDS
- **Запускает** DLE приложение в Docker
### **3. Результат:**
- **VDS полностью готова** для работы
- **Пользователи Ubuntu и Docker** созданы
- **Docker образы** мигрированы и запущены
- **Ключи переданы** с локальной машины на VDS
- **Переменные обновлены** в БД VDS
- **DLE приложение** работает автономно в Docker
- **Домен доступен** с SSL
## 📁 **Файлы проекта:**
### **Frontend:**
- `frontend/src/components/WebSshForm.vue` - форма управления
- `frontend/src/services/webSshService.js` - SSH команды к VDS
### **Backend:**
- `backend/routes/vds-management.js` - API для управления VDS
- `backend/services/sshManager.js` - SSH команды
- `backend/services/encryptionManager.js` - управление шифрованием
### **Scripts:**
- `scripts/setup-vds.sh` - очистка VDS и установка Ubuntu
- `scripts/migrate-docker.sh` - миграция Docker образов на VDS
- `scripts/configure-vds.sh` - настройка переменных окружения
- `scripts/transfer-keys.sh` - передача ключей на VDS
- `scripts/update-variables.sh` - обновление переменных в БД
- `scripts/install-ubuntu.sh` - автоматическая установка Ubuntu
## ✅ **Статус:**
### **Готово:**
- ✅ Форма WebSSH упрощена
- ✅ WebSSH сервис обновлен
- ✅ DNS проверка добавлена
- ✅ Инструкции по настройке DNS созданы
- ✅ Поле VDS IP добавлено в форму
### **Нужно доработать:**
- 🔄 SSH агент для очистки и установки Ubuntu
- 🔄 API для управления VDS
- 🔄 Миграция Docker образов на VDS
- 🔄 Передача ключей (шифрования и RSA) на VDS
- 🔄 Обновление переменных в БД VDS
- 🔄 Автоматическая загрузка ключа шифрования в форму
## 🎯 **Следующие шаги:**
1. **Создать SSH агент** для очистки и установки Ubuntu
2. **Добавить API** для управления VDS
3. **Реализовать миграцию** Docker образов на VDS
4. **Создать скрипты** для передачи ключей на VDS
5. **Реализовать обновление** переменных в БД VDS
6. **Добавить автоматическую загрузку** ключа шифрования в форму
7. **Протестировать** на реальной VDS