Перейти к содержанию

BrainyCP

Материал из RAMBA Wiki
Версия от 13:27, 2 сентября 2026; Artem (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
BrainyCP

Панель управления веб-инфраструктурой RAMBA ART

BrainyCP — панель управления Linux-сервером и веб-хостингом, используемая в инфраструктуре RAMBA ART для управления веб-сервисами, доменами, SSL-сертификатами и reverse proxy.

В инфраструктуре RAMBA ART BrainyCP выполняет роль внешней точки входа для ряда внутренних сервисов, включая RAMBA Wiki.

Обзор

BrainyCP позволяет выполнять большую часть повседневных операций с веб-сервером через графический интерфейс, сохраняя возможность ручного администрирования через SSH.

Основные возможности:

  • управление доменами и сайтами;
  • Nginx и Apache;
  • PHP и PHP-FPM;
  • MariaDB / MySQL;
  • SSL-сертификаты Let's Encrypt;
  • FTP;
  • почтовые службы;
  • резервное копирование;
  • firewall;
  • управление пользователями;
  • reverse proxy;
  • просмотр журналов и диагностика веб-сервисов.

Официальный сайт: brainycp.com

BrainyCP в инфраструктуре RAMBA ART

В нашей инфраструктуре BrainyCP используется не только как обычная hosting-панель.

Он также выполняет функцию reverse proxy между Интернетом и внутренними сервисами.

                         INTERNET
                            │
                            │ HTTPS :443
                            ▼
                    ┌─────────────────┐
                    │    BrainyCP     │
                    │  Reverse Proxy  │
                    └────────┬────────┘
                             │
              ┌──────────────┼──────────────┐
              │              │              │
              ▼              ▼              ▼
         RAMBA Wiki      RAMBA Matrix     ownCloud
              │              │              │
              ▼              ▼              ▼
        MediaWiki          Dendrite       ownCloud

Такой подход позволяет держать приложения на отдельных виртуальных машинах и LXC-контейнерах, а управление HTTPS выполнять централизованно.

Пример: RAMBA Wiki

Для Wiki используется схема:

Пользователь
     │
     │ HTTPS
     ▼
wiki.ramba-art.ru
     │
     ▼
BrainyCP / Nginx
     │
     │ HTTP
     ▼
192.168.1.79:80
     │
     ▼
MediaWiki

Таким образом, TLS завершается на BrainyCP, после чего запрос передаётся внутреннему серверу MediaWiki.

Системные требования

Для отдельного сервера BrainyCP рекомендуется использовать чистую установку Linux.

Параметр Минимально Рекомендуется
ОС Поддерживаемая версия Linux Актуальная стабильная версия
RAM 2 ГБ 4 ГБ и более
Диск 20 ГБ SSD, 40+ ГБ
Сеть Интернет Статический IP
Доступ root SSH + root/sudo

Перед установкой необходимо проверить актуальный список поддерживаемых ОС в документации BrainyCP.

Установка

Шаблон:Warning

Подключаемся к серверу по SSH.

Обновляем систему:

apt update
apt upgrade -y

После этого запускаем официальный установщик BrainyCP:

curl -s https://core.brainycp.com/install.sh | bash

Процесс установки может занять некоторое время.

После завершения установщик покажет данные для доступа к панели.

Первый вход

Панель управления доступна через HTTPS на управляющем порту BrainyCP.

Пример:

https://SERVER_IP:8000

После первого входа рекомендуется:

  1. изменить пароль администратора;
  2. проверить имя сервера;
  3. настроить часовой пояс;
  4. проверить сетевые параметры;
  5. установить обновления;
  6. настроить firewall;
  7. проверить доступность панели извне.

Домены и сайты

Создание нового сайта выполняется через управление доменами BrainyCP.

Обычно необходимо указать:

  • доменное имя;
  • владельца;
  • каталог сайта;
  • версию PHP;
  • используемый веб-сервер;
  • параметры SSL.

После создания домена BrainyCP автоматически формирует необходимую конфигурацию веб-сервера.

Веб-сервер

BrainyCP поддерживает различные варианты конфигурации.

Режим Назначение
Nginx Высокопроизводительная обработка HTTP/HTTPS и reverse proxy
Apache Совместимость с приложениями, использующими Apache и .htaccess
Nginx + Apache Nginx работает фронтендом, Apache обслуживает backend

Для инфраструктуры RAMBA ART особенно важен Nginx, поскольку он используется в качестве reverse proxy.

Reverse Proxy

Reverse proxy позволяет принимать запросы на публичном домене и перенаправлять их на внутренний сервер.

Например:

location / {
    proxy_pass http://192.168.1.79:80;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

В данном примере:

wiki.ramba-art.ru
        │
        ▼
BrainyCP
        │
        ▼
192.168.1.79:80

При изменении внутреннего IP сервиса достаточно изменить upstream на BrainyCP — публичный адрес сайта остаётся прежним.

Проверка конфигурации

После изменения Nginx обязательно проверяем конфигурацию:

nginx -t

При успешной проверке:

syntax is ok
test is successful

После этого применяем изменения:

systemctl reload nginx

SSL / Let's Encrypt

BrainyCP позволяет выпускать сертификаты Let's Encrypt для добавленных доменов.

Перед выпуском сертификата необходимо убедиться, что:

  • DNS-запись домена указывает на сервер;
  • порты 80 и 443 доступны;
  • домен добавлен в BrainyCP;
  • веб-сервер корректно отвечает на запросы.

После выпуска сертификата рекомендуется проверить автоматическое продление.

Для reverse proxy схема выглядит следующим образом:

CLIENT
  │
  │ HTTPS
  ▼
BrainyCP
  │
  │ TLS termination
  ▼
HTTP / HTTPS backend

PHP

Для сайтов, размещённых непосредственно на BrainyCP, панель позволяет управлять версиями PHP и параметрами PHP-FPM.

При диагностике полезно проверить установленные службы:

systemctl --type=service | grep -i php

Конкретное имя PHP-FPM зависит от установленной версии PHP.

Например:

systemctl status php8.2-fpm

Базы данных

BrainyCP предоставляет управление MariaDB/MySQL и позволяет создавать:

  • базы данных;
  • пользователей;
  • пароли;
  • права доступа.

Для графического администрирования может использоваться phpMyAdmin.

Для production-систем рекомендуется:

  • создавать отдельного пользователя для каждого приложения;
  • не использовать root-пользователя БД в приложениях;
  • использовать уникальные пароли;
  • регулярно выполнять резервное копирование.

MediaWiki за BrainyCP

RAMBA Wiki работает на отдельном сервере MediaWiki, а BrainyCP используется как внешний reverse proxy.

Это отличается от установки MediaWiki непосредственно внутрь hosting-окружения BrainyCP.

Архитектура

┌──────────────────────────────┐
│          Internet            │
└──────────────┬───────────────┘
               │
               │ HTTPS
               ▼
┌──────────────────────────────┐
│           BrainyCP           │
│            Nginx             │
│       SSL termination        │
└──────────────┬───────────────┘
               │
               │ HTTP
               ▼
┌──────────────────────────────┐
│        MediaWiki LXC         │
│                              │
│ MediaWiki + Apache + PHP     │
│ MariaDB                      │
└──────────────────────────────┘

Преимущество такой схемы — MediaWiki можно обновлять, переносить или восстанавливать независимо от reverse proxy.

X-Forwarded-Proto

При завершении HTTPS на reverse proxy backend должен понимать, что исходное соединение пользователя было защищённым.

Nginx передаёт:

proxy_set_header X-Forwarded-Proto $scheme;

На стороне MediaWiki это необходимо учитывать в конфигурации, иначе могут возникать:

  • неправильные HTTP-ссылки;
  • циклические redirect;
  • проблемы с cookies;
  • ошибки определения HTTPS.

Диагностика

Nginx

Проверка службы:

systemctl status nginx

Проверка конфигурации:

nginx -t

Перезагрузка конфигурации:

systemctl reload nginx

Apache

В зависимости от системы:

systemctl status apache2

или:

systemctl status httpd

Проверка HTTP

Для проверки сайта непосредственно из консоли:

curl -I https://example.ru/

Для подробной диагностики:

curl -Iv https://example.ru/

Проверка backend

Reverse proxy можно исключить из цепочки и проверить backend непосредственно:

curl -I http://BACKEND_IP/

Это позволяет быстро определить, где находится проблема:

Internet
   │
   ▼
DNS
   │
   ▼
BrainyCP / Nginx
   │
   ▼
Backend
   │
   ▼
Application

Резервное копирование

Резервные копии рекомендуется хранить вне сервера BrainyCP.

Необходимо учитывать как минимум:

  • конфигурации веб-сервера;
  • SSL-сертификаты;
  • базы данных;
  • файлы сайтов;
  • конфигурацию BrainyCP.

Если BrainyCP работает в виртуальной машине или LXC-контейнере, желательно дополнительно использовать резервное копирование на уровне гипервизора.

Безопасность

Основные рекомендации:

  • не публиковать управляющую панель без необходимости;
  • использовать сложный пароль администратора;
  • ограничить SSH;
  • своевременно устанавливать обновления;
  • использовать HTTPS;
  • контролировать открытые порты;
  • регулярно проверять журналы Nginx;
  • хранить резервные копии отдельно;
  • не использовать root для работы веб-приложений;
  • перед изменением production-конфигурации сохранять рабочую версию.

Полезные команды

Задача Команда
Проверить Nginx nginx -t
Статус Nginx systemctl status nginx
Применить конфигурацию systemctl reload nginx
Перезапустить Nginx systemctl restart nginx
Проверить сайт curl -I https://example.ru/
Подробный HTTPS-тест curl -Iv https://example.ru/
Проверить порты ss -tulpn
Журнал Nginx journalctl -u nginx

Заключение

BrainyCP удобно использовать не только как классическую hosting-панель, но и как центральный узел управления веб-инфраструктурой.

В архитектуре RAMBA ART особенно полезна связка:

DNS
 │
 ▼
BrainyCP
 │
 ├── SSL
 ├── Nginx
 ├── Reverse Proxy
 │
 ▼
Внутренние сервисы RAMBA ART

Она позволяет отделить публичный веб-уровень от серверов приложений и независимо обслуживать MediaWiki, Matrix, облачные и другие сервисы.

См. также

Внешние ссылки