Open Source

vSerf веб-сервер
нового поколения

vServer - функциональный веб-сервер на Go с поддержкой HTTP/HTTPS, MySQL, PHP и встроенной веб-админкой (web-admin в разработке).

v1.0.0
Версия
Go
Язык
MIT
Лицензия
🚀 vServer Console
vServer 1.0.0
                            
🚀 Запуск vServer...
📁 Файлы сайта будут обслуживаться из папки 'www'

⚙️ Запуск сервисов...

[JSON] config.json успешно загружен
[JSON] config.json успешно прочитан

[HTTPS] ✅ Загрузили сертификат для: example.ru
[HTTPS] ✅ HTTPS сервер запущен на порту 443
[HTTP ] 🌐 HTTP сервер запущен на порту 80
[PHP  ] 🌐 PHP FastCGI пул запущен (на портах 8000-8003)
[MySQL] Сервер MySQL запущен на 192.168.1.9:3306

Введите help для получения списка команд

> _

Всё что нужно в одном месте

vServer объединяет мощные инструменты для веб-разработки

🌐

HTTP/HTTPS сервер

Полная поддержка SSL сертификатов с автоматической загрузкой. Wildcard сертификаты для поддоменов.

  • SSL/TLS шифрование
  • Wildcard сертификаты
  • Автоматический HTTPS редирект
🔄

Proxy сервер

Мощный обратный прокси для перенаправления внешних запросов на локальные сервисы.

  • Множественные прокси
  • HTTP/HTTPS поддержка
  • Гибкая маршрутизация
🐘

PHP 8 сервер

Встроенная поддержка PHP 8 для запуска динамических веб-приложений без дополнительной настройки.

  • PHP 8 из коробки
  • Готов к работе
  • Логирование ошибок
🗄️

MySQL база данных

Полноценный MySQL сервер со всеми возможностями для хранения и управления данными.

  • Полная поддержка MySQL
  • Простая настройка
  • Детальные логи
📊

Логирование

Подробное логирование всех операций с разделением по типам для удобного анализа.

  • HTTP/HTTPS логи
  • Логи базы данных
  • Системные логи
🔒

vAccess Control

Продвинутая система контроля доступа с гибкими правилами для защиты ваших веб-приложений.

  • IP-фильтрация
  • Контроль по типам файлов
  • Гибкие правила доступа

vAccess - Система контроля доступа

Защитите ваш веб-сервер с помощью гибкой системы правил доступа

🛡️

Многоуровневая защита

Комбинируйте правила по IP-адресам, типам файлов и путям для создания сложных политик безопасности.

Быстрая проверка

Правила проверяются последовательно. Первое совпадение срабатывает мгновенно, обеспечивая высокую производительность.

🎯

Гибкие исключения

Создавайте исключения для определённых путей, чтобы точно настроить политику доступа.

📝

Простая конфигурация

Текстовый формат конфигурации с подробными комментариями. Легко читать и редактировать.

Примеры использования

01

Защита от выполнения PHP в загрузках

Запрещаем выполнение PHP файлов в папках с пользовательским контентом
vaccess.conf
# Блокируем PHP в папках uploads и templates
type: Disable
type_file: *.php, *.phtml
path_access: /uploads/*, /templates/*
url_error: 404
02

Доступ к админке только с разрешённых IP

Ограничиваем доступ к административной панели списком доверенных IP
vaccess.conf
# Разрешаем админку только с офисных IP
type: Allow
path_access: /admin/*, /dashboard/*
ip_list: 192.168.1.100, 10.0.0.5, 127.0.0.1
url_error: 404
03

Блокировка вредоносных IP

Запрещаем доступ для подозрительных или вредоносных IP-адресов
vaccess.conf
# Полная блокировка для списка IP
type: Disable
ip_list: 192.168.1.50, 10.0.0.99, 203.0.113.0
url_error: https://example.com/blocked

04

Правила с исключениями

Ограничиваем доступ по IP, но делаем исключения для публичных API и ботов
vaccess.conf
# Доступ только с локальных IP, кроме /bot/ и /api/
type: Allow
ip_list: 127.0.0.1, 192.168.0.1
exceptions_dir: /bot/*, /api/public/*
url_error: https://voxsel.ru

Параметры правил

type
ОБЯЗАТЕЛЬНЫЙ
Allow - разрешить доступ
Disable - запретить доступ
type_file
Опционально
Расширения файлов через запятую
Пример: *.php, *.exe, *.sh
path_access
Опционально
Пути через запятую
Пример: /admin/*, /api/*, /private/*
ip_list
Опционально
IP адреса через запятую
Пример: 192.168.1.1, 10.0.0.5
exceptions_dir
Опционально
Пути-исключения через запятую
Правило НЕ применяется к этим путям
url_error
Опционально
Куда перенаправить при блокировке
404, URL или путь к файлу

Как это работает?

1

Запрос поступает

Клиент отправляет запрос на сервер. vServer получает реальный IP и путь запроса.

2

Проверка правил

Правила проверяются сверху вниз. Первое подходящее правило срабатывает.

3

Действие

Если правило разрешает - запрос обрабатывается. Если запрещает - возвращается ошибка.

💡
Важно: Порядок правил имеет значение! Специфичные правила размещайте выше общих.

Быстрый старт

Начните работу с vServer за несколько минут

1

Скачайте vServer

Загрузите последний релиз vServer с готовыми компонентами

Скачать последний релиз
2

Распакуйте архив

Извлеките содержимое в удобную папку на вашем компьютере

Архив содержит готовый исполняемый файл и все необходимые компоненты
3

Создайте ваш сайт

Структура для размещения веб-сайта

WebServer/www/example.com/public_www/index.html
www/ - корневая папка для сайтов
example.com/ - папка с именем вашего домена
public_www/ - публичная папка с файлами сайта
public_www/index.html - файлы вашего сайта
vAccess.conf - Система контроля доступа
4

Настройте конфигурацию

Добавьте ваш сайт в конфигурационный файл

WebServer/config.json
{
  "Site_www": [{
    "alias": ["www.example.com"],
    "host": "example.com",
    "name": "Мой сайт",
    "root_file": "index.html",
    "root_file_routing": true,
    "status": "active"
  }]
}
5

Запустите сервер

Готово! Запустите исполняемый файл и откройте ваш сайт

vServer.exe
💡
Совет: Для локальной разработки используйте 127.0.0.1 или localhost в качестве домена.
⚙️
Параметры по умолчанию: MySQL пароль - root, веб-админка - localhost:5555

🔐 SSL Сертификаты

Безопасное HTTPS соединение для ваших сайтов

Установка сертификата

1
Откройте каталог WebServer/ и создайте папку cert/ (если её нет)
2
Создайте папку с именем вашего домена или IP-адреса
3
Поместите в неё файлы сертификатов с точными именами:
📄 certificate.crt
🔑 private.key
📦 ca_bundle.crt
4
Сертификат будет автоматически загружен при запуске сервера ✅

📁 Структура сертификатов

Структура папок
WebServer/
└── cert/
    ├── example.com/          # Основной домен
    │   ├── certificate.crt
    │   ├── private.key
    │   └── ca_bundle.crt
    │
    └── sub.example.com/      # Поддомен (опционально)
        ├── certificate.crt
        ├── private.key
        └── ca_bundle.crt

🎯 Работа с поддоменами

💡
Важно: Если для поддомена не создана отдельная папка в cert/, то автоматически будет использоваться сертификат родительского домена.
example.com

→ использует сертификат из cert/example.com/

sub.example.com (папка существует)

→ использует cert/sub.example.com/

sub.example.com (папка НЕ существует)

→ использует cert/example.com/

🌟
Wildcard-сертификаты: Достаточно одного сертификата в папке основного домена для всех поддоменов!

Архитектура проекта

Простая и понятная структура vServer

vServer/
├── 🎯 main.go              # Точка входа
│
├── 🔧 Backend/             # Основная логика
│   ├── admin/              # Веб-админка
│   ├── config/             # Конфиг Go
│   ├── tools/              # Утилиты
│   └── WebServer/          # Модули
│
├── 🌐 WebServer/           # Веб-контент
│   ├── cert/               # SSL сертификаты
│   ├── soft/               # MySQL и PHP
│   ├── tools/              # Логи
│   └── www/                # Сайты
│
└── 📄 go.mod               # Go модули

🔧 Backend

Основная логика сервера, написанная на Go. Включает модули для веб-сервера, прокси, админки и конфигурации.

🌐 WebServer

Содержит все ресурсы для работы: сайты, сертификаты, MySQL, PHP и логи. Единственная папка нужная для деплоя.

📊 Логирование

Все логи сохраняются в WebServer/tools/logs/ с разделением по типам: HTTP, HTTPS, MySQL, PHP, Config.

Готовы начать?

Присоединяйтесь к open source проекту и создавайте веб-приложения быстрее