120 lines
4.5 KiB
Markdown
120 lines
4.5 KiB
Markdown
# 🚀 vServer - Функциональный веб-сервер на Go
|
||
> Функциональный веб-сервер с поддержкой HTTP/HTTPS, MySQL, PHP и веб-админкой
|
||
|
||
**👨💻 Автор:** Суманеев Роман
|
||
**🌐 Сайт:** [voxsel.ru](https://voxsel.ru)
|
||
**📞 Контакт:** [VK](https://vk.com/felias)
|
||
|
||
## 🎯 Возможности
|
||
|
||
### 🌐 Веб-сервер
|
||
- ✅ **HTTP/HTTPS** сервер с поддержкой SSL сертификатов
|
||
- ✅ **Proxy сервер** для проксирования запросов
|
||
- ✅ **PHP сервер** со встроенной поддержкой PHP 8
|
||
- ✅ **Статический контент** для размещения веб-сайтов
|
||
|
||
### 🗄️ База данных
|
||
- ✅ **MySQL сервер** с полной поддержкой
|
||
|
||
### 🔧 Администрирование
|
||
- ✅ **Веб-админка** на порту 5555 с мониторингом
|
||
- ✅ **Консольное управление** через командную строку
|
||
- ✅ **Логирование** всех операций
|
||
- ✅ **Конфигурация** через JSON файлы
|
||
|
||
## 🏗️ Архитектура
|
||
|
||
```
|
||
vServer/
|
||
├── 🎯 main.go # Точка входа
|
||
│
|
||
├── 🔧 Backend/ # Основная логика
|
||
│ │
|
||
│ ├── admin/ # | 🎛️ Веб-админка (порт 5555) |
|
||
│ ├── config/ # | 🔧 Конфигурационные файлы Go |
|
||
│ ├── tools/ # | 🛠️ Утилиты и хелперы |
|
||
│ └── WebServer/ # | 🌐 Модули веб-сервера |
|
||
│
|
||
├── 🌐 WebServer/ # Веб-контент и конфигурация
|
||
│ │
|
||
│ ├── cert/ # | 🔐 SSL сертификаты |
|
||
│ ├── soft/ # | 📦 MySQL и PHP |
|
||
│ ├── tools/ # | 📊 Логи и инструменты |
|
||
│ └── www/ # | 🌍 Веб-контент |
|
||
│
|
||
└── 📄 go.mod # Go модули
|
||
```
|
||
|
||
## 🚀 Установка и запуск
|
||
|
||
### 🔨 Сборка проекта
|
||
```bash
|
||
go build -o MyApp.exe
|
||
```
|
||
|
||
### 📦 Подготовка компонентов
|
||
1. Распакуйте архив `WebServer/soft/soft.rar` в папку `WebServer/soft/`
|
||
2. Запустите скомпилированный файл `MyApp.exe`
|
||
|
||
> 🔑 **Важно:** Пароль MySQL по умолчанию - `root`
|
||
|
||
### 📦 Готовый проект для пользователя
|
||
Для работы приложения необходимы только:
|
||
- 📄 `MyApp.exe` - исполняемый файл
|
||
- 📁 `WebServer/` - папка с конфигурацией и ресурсами
|
||
|
||
> 💡 Папка `Backend/` и файлы `go.mod`, `main.go` и т.д. нужны только для разработки
|
||
|
||
|
||
## ⚙️ Конфигурация
|
||
|
||
Настройка через `WebServer/config.json`:
|
||
|
||
```json
|
||
{
|
||
"Site_www": [
|
||
{
|
||
"name": "Локальный сайт",
|
||
"host": "127.0.0.1",
|
||
"alias": ["localhost"],
|
||
"status": "active",
|
||
"root_file": "index.html"
|
||
}
|
||
],
|
||
"Soft_Settings": {
|
||
"mysql_port": 3306, "mysql_host": "192.168.1.6",
|
||
"php_port": 8000, "php_host": "localhost",
|
||
"admin_port": "5555", "admin_host": "localhost"
|
||
}
|
||
}
|
||
```
|
||
|
||
**Основные параметры:**
|
||
- `Site_www` - настройки веб-сайтов
|
||
- `Soft_Settings` - порты и хосты сервисов (MySQL, PHP, админка)
|
||
|
||
## 📝 Логирование
|
||
|
||
Все логи сохраняются в `WebServer/tools/logs/`:
|
||
|
||
- 🌐 `logs_http.log` - HTTP запросы
|
||
- 🔒 `logs_https.log` - HTTPS запросы
|
||
- 🗄️ `logs_mysql.log` - MySQL операции
|
||
- 🐘 `logs_php.log` - PHP ошибки
|
||
- ⚙️ `logs_config.log` - Конфигурация
|
||
- 🔒 `logs_vaccess.log` - Контроль доступа
|
||
|
||
## 📝 Сертификаты
|
||
|
||
Как установить сертификат ?
|
||
|
||
1. Открыть каталог WebServer
|
||
2. Создать папку Cert
|
||
3. Создать вашу папку с основным доменом или IP для которого нужен сертификат
|
||
4. Туда положить сертификаты с определёнными именами
|
||
|
||
certificate.ctr
|
||
private.key
|
||
ca_bundle.crt
|
||
|
||
5. Сертификат будет успешно загружен. |