# 🚀 vServer - Функциональный веб-сервер на Go **🇺🇸 [English version](README_EN.md)** > Функциональный веб-сервер с поддержкой HTTP/HTTPS, MySQL, PHP, Let's Encrypt и GUI-админкой **👨‍💻 Автор:** Суманеев Роман **🌐 Сайт:** [vserf.ru](https://vserf.ru) **📞 Контакт:** [VK](https://vk.com/felias) ## 🎯 Возможности Главная страница Главная страница ### 🌐 Веб-сервер - ✅ **HTTP/HTTPS** сервер с поддержкой SSL сертификатов - ✅ **Let's Encrypt** — автоматический выпуск и обновление SSL - ✅ **Proxy сервер** — обратный прокси для локальных сервисов - ✅ **PHP 8** — встроенная поддержка (FastCGI пул) - ✅ **MySQL** — встроенный сервер базы данных - ✅ **vAccess** — система контроля доступа - ✅ **Wildcard** — поддержка wildcard-алиасов и сертификатов ### 🎛️ GUI Админка - ✅ **Управление сервисами** — запуск/остановка HTTP, HTTPS, MySQL, PHP, Proxy - ✅ **Управление сайтами** — создание, редактирование, удаление - ✅ **Управление прокси** — визуальная настройка reverse proxy - ✅ **SSL менеджер** — выпуск, перевыпуск, загрузка сертификатов - ✅ **vAccess редактор** — настройка правил доступа с drag-and-drop - ✅ **Настройки** — конфигурация портов MySQL, PHP, прокси, ACME - ✅ **Тёмная/Светлая тема** и **RU/EN** локализация ## 🏗️ Архитектура ``` vServer/ ├── 🎯 main.go # Точка входа (Wails) │ ├── 🔧 Backend/ # Основная логика │ ├── admin/ │ │ ├── go/ # Go backend админки │ │ └── API.md # Документация API │ ├── config/ # Конфигурация Go │ ├── tools/ # Утилиты и хелперы │ └── WebServer/ # Модули веб-сервера │ └── acme/ # Let's Encrypt │ ├── 🖥️ front_vue/ # Vue 3 фронтенд админки │ └── src/ │ ├── Core/ # API, stores, i18n, router │ └── Design/ # Компоненты, views, стили │ ├── 🌐 WebServer/ # Рабочие файлы сервера │ ├── config.json # Конфигурация │ ├── cert/ # SSL сертификаты │ ├── soft/ # MySQL и PHP │ ├── tools/ # Логи, error page, vAccess │ └── www/ # Веб-контент (сайты) │ ├── 🔨 build_admin.ps1 # Скрипт сборки └── 🚀 vSerf.exe # Готовое приложение ``` ## 🚀 Установка и запуск ### Для пользователей 1. Скачайте последний [релиз](https://github.com/AiVoxel/vServer/releases) 2. Распакуйте архив `WebServer/soft/soft.rar` в папку `WebServer/soft/` 3. Запустите `vSerf.exe` — откроется GUI админка 4. Сервер стартует автоматически, управляйте через интерфейс > 🔑 **Пароль MySQL по умолчанию:** `root` ### Для разработчиков ```powershell # Сборка (проверит/установит Go, Node.js, Wails) ./build_admin.ps1 ``` Скрипт автоматически: - Проверит зависимости (Go, Node.js, npm) — предложит установить через `winget` - Установит Go модули и Wails CLI - Соберёт Vue фронтенд - Скомпилирует → `vSerf.exe` ## 🔒 vAccess — Контроль доступа Гибкая система правил для сайтов и прокси. Настраивается через GUI админку (раздел vAccess). **Возможности:** - IP-фильтрация — разрешение/блокировка по IP - Контроль путей — ограничение доступа к директориям - Фильтрация файлов — блокировка по расширениям - Исключения — пути, к которым правило не применяется - Кастомные ошибки — редиректы или страницы ошибок ## 🔐 SSL Сертификаты ### Автоматически (Let's Encrypt) Включите ACME в настройках → сертификаты выпускаются и обновляются автоматически. ### Вручную Загрузите через GUI админку (раздел SSL менеджер) или поместите файлы: ``` WebServer/cert/{domain}/ ├── certificate.crt ├── private.key └── ca_bundle.crt ``` > 💡 **Wildcard:** один сертификат в папке основного домена покрывает все поддомены. ## 📝 Логирование Логи в `WebServer/tools/logs/`: | Файл | Содержимое | |------|------------| | `logs_http.log` | HTTP запросы | | `logs_https.log` | HTTPS запросы | | `logs_proxy.log` | Ошибки прокси | | `logs_mysql.log` | MySQL операции | | `logs_php.log` | PHP ошибки | | `logs_config.log` | Конфигурация | | `logs_vaccess.log` | Контроль доступа | | `logs_acme.log` | Let's Encrypt | ## 📡 API Документация всех методов API админки: [`Backend/admin/API.md`](Backend/admin/API.md)