Files
vServer/README.md

6.2 KiB
Raw Blame History

🚀 vServer - Функциональный веб-сервер на Go

🇺🇸 English version

Функциональный веб-сервер с поддержкой HTTP/HTTPS, MySQL, PHP, Let's Encrypt и GUI-админкой

👨‍💻 Автор: Суманеев Роман
🌐 Сайт: vserf.ru
📞 Контакт: VK

🎯 Возможности

Главная страница Главная страница

🌐 Веб-сервер

  • 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. Скачайте последний релиз
  2. Распакуйте архив WebServer/soft/soft.rar в папку WebServer/soft/
  3. Запустите vSerf.exe — откроется GUI админка
  4. Сервер стартует автоматически, управляйте через интерфейс

🔑 Пароль MySQL по умолчанию: root

Для разработчиков

# Сборка (проверит/установит 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