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

BrainyCP: различия между версиями

Материал из RAMBA Wiki
Новая страница: «Ниже представлена готовая статья для публикации в **Ramba-Art Wiki**. Она рассчитана на использование **BrainyCP Free**, установку на чистый сервер и содержит практические рекомендации, включая развёртывание MediaWiki. = BrainyCP Free: установка и настройка панели управления с...»
 
Нет описания правки
 
Строка 1: Строка 1:
Ниже представлена готовая статья для публикации в **Ramba-Art Wiki**. Она рассчитана на использование **BrainyCP Free**, установку на чистый сервер и содержит практические рекомендации, включая развёртывание MediaWiki.
<div class="portal-header">
<div class="portal-title">BrainyCP</div>
<div class="portal-subtitle">
Панель управления веб-инфраструктурой RAMBA ART
</div>
</div>


= BrainyCP Free: установка и настройка панели управления сервером =
<div class="portal-card">
'''BrainyCP''' — панель управления Linux-сервером и веб-хостингом, используемая в инфраструктуре '''RAMBA ART''' для управления веб-сервисами, доменами, SSL-сертификатами и reverse proxy.


{{TOC}}
В инфраструктуре RAMBA ART BrainyCP выполняет роль внешней точки входа для ряда внутренних сервисов, включая '''RAMBA Wiki'''.
</div>


== Введение ==
__TOC__


'''BrainyCP''' — бесплатная панель управления Linux-серверами и веб-хостингом, предназначенная для упрощения администрирования сайтов и серверной инфраструктуры.
== Обзор ==


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


* веб-серверами;
Основные возможности:
* доменами;
 
* базами данных;
* управление доменами и сайтами;
* SSL-сертификатами;
* Nginx и Apache;
* PHP и PHP-FPM;
* MariaDB / MySQL;
* SSL-сертификаты Let's Encrypt;
* FTP;
* FTP;
* почтовыми сервисами;
* почтовые службы;
* резервным копированием;
* резервное копирование;
* безопасностью сервера.
* firewall;
* управление пользователями;
* reverse proxy;
* просмотр журналов и диагностика веб-сервисов.
 
Официальный сайт: [https://brainycp.com/ brainycp.com]


BrainyCP ориентирована как на владельцев небольших VPS, так и на администраторов, обслуживающих несколько сайтов. По функциональности она сопоставима со многими коммерческими решениями. ([brainycp.com][1])
== BrainyCP в инфраструктуре RAMBA ART ==


[[Файл:BrainyCP-Dashboard.png|800px|center|thumb|Главная страница BrainyCP]]
В нашей инфраструктуре BrainyCP используется не только как обычная hosting-панель.


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


{| class="wikitable"
<syntaxhighlight lang="text">
! Возможность
                        INTERNET
                            │
                            │ HTTPS :443
                            ▼
                    ┌─────────────────┐
                    │    BrainyCP    │
                    │  Reverse Proxy  │
                    └────────┬────────┘
                            │
              ┌──────────────┼──────────────┐
              │              │              │
              ▼              ▼              ▼
        RAMBA Wiki      RAMBA Matrix    ownCloud
              │              │              │
              ▼              ▼              ▼
        MediaWiki          Dendrite      ownCloud
</syntaxhighlight>
 
Такой подход позволяет держать приложения на отдельных виртуальных машинах и LXC-контейнерах, а управление HTTPS выполнять централизованно.
 
=== Пример: RAMBA Wiki ===
 
Для Wiki используется схема:
 
<syntaxhighlight lang="text">
Пользователь
    │
    │ HTTPS
    ▼
wiki.ramba-art.ru
    │
    ▼
BrainyCP / Nginx
    │
    │ HTTP
    ▼
192.168.1.79:80
    │
    ▼
MediaWiki
</syntaxhighlight>


| ! Поддержка          |
Таким образом, TLS завершается на BrainyCP, после чего запрос передаётся внутреннему серверу MediaWiki.
| --------------------- |
| Nginx                |
| Да                    |
| -                    |
| Apache                |
| Да                    |
| -                    |
| Apache + Nginx        |
| Да                    |
| -                    |
| PHP-FPM              |
| Да                    |
| -                    |
| MariaDB / MySQL      |
| Да                    |
| -                    |
| PhpMyAdmin            |
| Да                    |
| -                    |
| FTP                  |
| Да                    |
| -                    |
| Let's Encrypt        |
| Да                    |
| -                    |
| Почтовый сервер      |
| Да                    |
| -                    |
| Резервное копирование |
| Да                    |
| -                    |
| Jail                  |
| Да                    |
| -                    |
| CSF Firewall          |
| Да                    |
| }                    |


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


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


* Debian 12;
{| class="wikitable"
* Ubuntu 22.04;
! Параметр
* 2 ГБ ОЗУ;
! Минимально
* 20 ГБ дискового пространства.
! Рекомендуется
|-
| ОС
| Поддерживаемая версия Linux
| Актуальная стабильная версия
|-
| RAM
| 2 ГБ
| 4 ГБ и более
|-
| Диск
| 20 ГБ
| SSD, 40+ ГБ
|-
| Сеть
| Интернет
| Статический IP
|-
| Доступ
| root
| SSH + root/sudo
|}


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


* 4 ГБ ОЗУ;
== Установка ==
* SSD;
* отдельный публичный IP;
* чистая установка ОС.


== Установка BrainyCP ==
{{Warning|BrainyCP рекомендуется устанавливать на чистую систему. Наличие заранее настроенных Apache, Nginx, PHP или MariaDB может привести к конфликтам.}}


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


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


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
apt update && apt upgrade -y
apt update
apt upgrade -y
</syntaxhighlight>
</syntaxhighlight>


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


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Строка 100: Строка 137:
</syntaxhighlight>
</syntaxhighlight>


Установка может занять 10–30 минут.
Процесс установки может занять некоторое время.
 
После завершения появится информация для входа.


[[Файл:BrainyCP-Install.png|800px|center|thumb|Установка панели]]
После завершения установщик покажет данные для доступа к панели.


== Первый вход ==
== Первый вход ==


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


<syntaxhighlight lang="text">
Пример:
https://IP_СЕРВЕРА:8000
</syntaxhighlight>
 
Например:


<syntaxhighlight lang="text">
<syntaxhighlight lang="text">
https://192.168.1.12:8000
https://SERVER_IP:8000
</syntaxhighlight>
</syntaxhighlight>


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


* логин;
# изменить пароль администратора;
* пароль, выданный установщиком.
# проверить имя сервера;
# настроить часовой пояс;
# проверить сетевые параметры;
# установить обновления;
# настроить firewall;
# проверить доступность панели извне.


После первого входа рекомендуется сменить пароль администратора.
== Домены и сайты ==


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


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


<pre>
* доменное имя;
Управление → Настройка сервера
</pre>
 
Здесь можно настроить:
 
* имя сервера;
* часовой пояс;
* параметры безопасности;
* почтовые службы;
* автоматические обновления.
 
[[Файл:BrainyCP-ServerSettings.png|800px|center|thumb|Настройка сервера]]
 
== Создание сайта ==
 
Перейдите:
 
<pre>
WWW → Домены → Создать домен
</pre>
 
Укажите:
 
* домен;
* владельца;
* владельца;
* каталог сайта;
* версию PHP;
* версию PHP;
* тип веб-сервера.
* используемый веб-сервер;
* параметры SSL.


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


== Выбор веб-сервера ==
== Веб-сервер ==


BrainyCP поддерживает несколько схем работы:
BrainyCP поддерживает различные варианты конфигурации.


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


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


* высокая производительность;
== Reverse Proxy ==
* низкое потребление памяти.


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


* WordPress;
Например:
* MediaWiki;
* статических сайтов.


=== Apache ===
<syntaxhighlight lang="nginx">
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;
}
</syntaxhighlight>


* старых проектов;
В данном примере:
* приложений с использованием .htaccess.


=== Apache + Nginx ===
<syntaxhighlight lang="text">
wiki.ramba-art.ru
        │
        ▼
BrainyCP
        │
        ▼
192.168.1.79:80
</syntaxhighlight>


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


* Apache обрабатывает PHP;
=== Проверка конфигурации ===
* Nginx работает фронтендом.


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


BrainyCP позволяет переключать версии PHP.
<syntaxhighlight lang="bash">
nginx -t
</syntaxhighlight>


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


<pre>
<syntaxhighlight lang="text">
WWW → Домены → Настройки PHP
syntax is ok
</pre>
test is successful
</syntaxhighlight>


Доступны различные версии PHP. Возможности зависят от версии панели и репозиториев. ([brainycp.com][1])
После этого применяем изменения:


Можно:
<syntaxhighlight lang="bash">
systemctl reload nginx
</syntaxhighlight>


* менять версию PHP;
== SSL / Let's Encrypt ==
* включать расширения;
* изменять параметры php.ini.


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


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


<pre>
* DNS-запись домена указывает на сервер;
БД → Создать базу данных
* порты 80 и 443 доступны;
</pre>
* домен добавлен в BrainyCP;
* веб-сервер корректно отвечает на запросы.


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


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


После создания можно открыть PhpMyAdmin:
<syntaxhighlight lang="text">
CLIENT
  │
  │ HTTPS
  ▼
BrainyCP
  │
  │ TLS termination
  ▼
HTTP / HTTPS backend
</syntaxhighlight>


<pre>
== PHP ==
БД → PhpMyAdmin
</pre>


[[Файл:BrainyCP-MySQL.png|800px|center|thumb|Управление базами данных]]
Для сайтов, размещённых непосредственно на BrainyCP, панель позволяет управлять версиями PHP и параметрами PHP-FPM.


== Настройка SSL Let's Encrypt ==
При диагностике полезно проверить установленные службы:


Перейдите:
<syntaxhighlight lang="bash">
systemctl --type=service | grep -i php
</syntaxhighlight>


<pre>
Конкретное имя PHP-FPM зависит от установленной версии PHP.
Сертификаты → Управление SSL
</pre>


Выберите домен.
Например:


Нажмите:
<syntaxhighlight lang="bash">
systemctl status php8.2-fpm
</syntaxhighlight>


<pre>
== Базы данных ==
Получить Let's Encrypt
</pre>


После успешного выпуска сертификат будет установлен автоматически.
BrainyCP предоставляет управление MariaDB/MySQL и позволяет создавать:


Поддерживается автоматическое продление сертификатов. ([brainycp.com][1])
* базы данных;
* пользователей;
* пароли;
* права доступа.


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


Создание FTP-доступа:
Для production-систем рекомендуется:


<pre>
* создавать отдельного пользователя для каждого приложения;
WWW → FTP
* не использовать root-пользователя БД в приложениях;
</pre>
* использовать уникальные пароли;
* регулярно выполнять резервное копирование.


Укажите:
== MediaWiki за BrainyCP ==


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


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


* Pure-FTPd;
=== Архитектура ===
* ProFTPD.


== Резервное копирование ==
<syntaxhighlight lang="text">
┌──────────────────────────────┐
│          Internet            │
└──────────────┬───────────────┘
              │
              │ HTTPS
              ▼
┌──────────────────────────────┐
│          BrainyCP          │
│            Nginx            │
│      SSL termination        │
└──────────────┬───────────────┘
              │
              │ HTTP
              ▼
┌──────────────────────────────┐
│        MediaWiki LXC        │
│                              │
│ MediaWiki + Apache + PHP    │
│ MariaDB                      │
└──────────────────────────────┘
</syntaxhighlight>


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


<pre>
=== X-Forwarded-Proto ===
Утилиты → Резервное копирование
</pre>


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


* локальное резервное копирование;
Nginx передаёт:
* удалённое резервное копирование;
* выполнение по расписанию.


Рекомендуется хранить резервные копии вне основного сервера.
<syntaxhighlight lang="nginx">
proxy_set_header X-Forwarded-Proto $scheme;
</syntaxhighlight>


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


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


Позволяет:
== Диагностика ==


* открывать порты;
=== Nginx ===
* блокировать IP;
* ограничивать подключения.


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


Технология Jail изолирует пользователей друг от друга и повышает безопасность многопользовательского хостинга. ([docs.brainycp.com][2])
<syntaxhighlight lang="bash">
systemctl status nginx
</syntaxhighlight>


Настройка:
Проверка конфигурации:


<pre>
<syntaxhighlight lang="bash">
Управление → Настройка Jail
nginx -t
</pre>
</syntaxhighlight>


== Установка MediaWiki в BrainyCP ==
Перезагрузка конфигурации:


=== Создание сайта ===
<syntaxhighlight lang="bash">
systemctl reload nginx
</syntaxhighlight>


Создайте домен:
=== Apache ===


<pre>
В зависимости от системы:
wiki.example.ru
</pre>


=== Создание базы данных ===
<syntaxhighlight lang="bash">
systemctl status apache2
</syntaxhighlight>


Создайте:
или:


* БД;
<syntaxhighlight lang="bash">
* пользователя;
systemctl status httpd
* пароль.
</syntaxhighlight>


=== Загрузка MediaWiki ===
=== Проверка HTTP ===


Загрузите файлы в каталог сайта.
Для проверки сайта непосредственно из консоли:
 
Например:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
/home/www/wiki.example.ru
curl -I https://example.ru/
</syntaxhighlight>
</syntaxhighlight>


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


Откройте:
<syntaxhighlight lang="bash">
curl -Iv https://example.ru/
</syntaxhighlight>


<pre>
=== Проверка backend ===
https://wiki.example.ru
</pre>


Следуйте мастеру установки MediaWiki.
Reverse proxy можно исключить из цепочки и проверить backend непосредственно:


=== Завершение ===
<syntaxhighlight lang="bash">
curl -I http://BACKEND_IP/
</syntaxhighlight>


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


<pre>
<syntaxhighlight lang="text">
LocalSettings.php
Internet
</pre>
  │
  ▼
DNS
  │
  ▼
BrainyCP / Nginx
  │
  ▼
Backend
  │
  ▼
Application
</syntaxhighlight>


Переместите его в корень MediaWiki.
== Резервное копирование ==


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


Панель обновляется автоматически.
Необходимо учитывать как минимум:


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


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


== Устранение неполадок ==
== Безопасность ==


=== Проверка статуса Nginx ===
Основные рекомендации:


<syntaxhighlight lang="bash">
* не публиковать управляющую панель без необходимости;
systemctl status nginx
* использовать сложный пароль администратора;
</syntaxhighlight>
* ограничить SSH;
* своевременно устанавливать обновления;
* использовать HTTPS;
* контролировать открытые порты;
* регулярно проверять журналы Nginx;
* хранить резервные копии отдельно;
* не использовать root для работы веб-приложений;
* перед изменением production-конфигурации сохранять рабочую версию.


=== Проверка Apache ===
== Полезные команды ==


<syntaxhighlight lang="bash">
{| class="wikitable"
systemctl status httpd
! Задача
</syntaxhighlight>
! Команда
|-
| Проверить Nginx
| <code>nginx -t</code>
|-
| Статус Nginx
| <code>systemctl status nginx</code>
|-
| Применить конфигурацию
| <code>systemctl reload nginx</code>
|-
| Перезапустить Nginx
| <code>systemctl restart nginx</code>
|-
| Проверить сайт
| <code>curl -I https://example.ru/</code>
|-
| Подробный HTTPS-тест
| <code>curl -Iv https://example.ru/</code>
|-
| Проверить порты
| <code>ss -tulpn</code>
|-
| Журнал Nginx
| <code>journalctl -u nginx</code>
|}


или
== Заключение ==


<syntaxhighlight lang="bash">
BrainyCP удобно использовать не только как классическую hosting-панель, но и как центральный узел управления веб-инфраструктурой.
systemctl status apache2
</syntaxhighlight>


=== Проверка PHP-FPM ===
В архитектуре '''RAMBA ART''' особенно полезна связка:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="text">
systemctl status php-fpm
DNS
</syntaxhighlight>
 
=== Проверка конфигурации Nginx ===
BrainyCP
 
<syntaxhighlight lang="bash">
├── SSL
nginx -t
├── Nginx
├── Reverse Proxy
Внутренние сервисы RAMBA ART
</syntaxhighlight>
</syntaxhighlight>


== Рекомендации ==
Она позволяет отделить публичный веб-уровень от серверов приложений и независимо обслуживать MediaWiki, Matrix, облачные и другие сервисы.
 
=== Рекомендуется ===
 
* использовать SSD;
* включить автоматические резервные копии;
* использовать Let's Encrypt;
* обновлять систему;
* ограничить SSH-доступ;
* использовать сложные пароли.
 
=== Не рекомендуется ===


* размещать тестовые проекты в production;
== См. также ==
* отключать Firewall;
* хранить резервные копии только на одном сервере;
* использовать root для повседневной работы.


== Заключение ==
* [[Миграция RAMBA Wiki на MediaWiki 1.43]]
* [[Proxmox VE]]
* [[RAMBA Matrix]]
* [[RAMBA ART Infrastructure]]


BrainyCP Free представляет собой мощную и бесплатную панель управления сервером, позволяющую быстро развернуть полноценный веб-хостинг без необходимости ручной настройки всех компонентов Linux.
== Внешние ссылки ==


Для домашних проектов, небольших VPS и корпоративных сайтов BrainyCP предоставляет функциональность, достаточную для ежедневной эксплуатации и администрирования.
* [https://brainycp.com/ Официальный сайт BrainyCP]
* [https://docs.brainycp.com/ Документация BrainyCP]


[[Категория:BrainyCP]]
[[Категория:BrainyCP]]
[[Категория:Веб-хостинг]]
[[Категория:Linux]]
[[Категория:Linux]]
[[Категория:MediaWiki]]
[[Категория:Веб-инфраструктура]]
[[Категория:Ramba-Art Wiki]]
[[Категория:Администрирование]]
 
[[Категория:RAMBA ART]]
Для Ramba-Art Wiki рекомендуется дополнить статью реальными скриншотами вашей панели BrainyCP и отдельным разделом с накопленными решениями типичных проблем (например, настройка MediaWiki, ошибки Nginx и восстановление после неудачных обновлений).
 
[1]: https://brainycp.com/?utm_source=chatgpt.com "Бесплатная панель управления хостингом, панель управления сервером, vps, хостинг-панель | BrainyCP"
[2]: https://docs.brainycp.com/index.php/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Jail?utm_source=chatgpt.com "Настройка Jail — BrainyCP"

Текущая версия от 13:27, 2 сентября 2026

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, облачные и другие сервисы.

См. также

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