Гид по технологиям

Установка Flarum на Debian 11 (Bullseye) с LAMP

• 7 min read • DevOps • Обновлено 27 Nov 2025
Установка Flarum на Debian 11 с LAMP
Установка Flarum на Debian 11 с LAMP

Краткое содержание

  • Требования и подготовка сервера
  • Установка и настройка Apache, MariaDB, PHP
  • Установка Composer и создание проекта Flarum
  • Настройка виртуального хоста и SSL
  • Запуск веб-инсталлятора Flarum
  • Безопасность, отладка и рекомендации на будущее

Введение

Flarum — свободное и открытое программное обеспечение для форумов, написанное на PHP, JavaScript и TypeScript. Изначально проект возник в результате слияния FluxBB и esoTalk. Flarum спроектирован как минималистичная, быстрая и расширяемая система за счёт плагинов и расширений.

Это руководство покажет, как установить Flarum на сервер с Debian 11 (Bullseye). Охвачены шаги по установке LAMP-стека, Composer и базовая постустановочная конфигурация.

Предварительные требования

  • Сервер с Debian 11 (Bullseye).
  • Root-пользователь или пользователь с правами sudo.
  • Доменноe имя, указывающее на сервер (рекомендуется для HTTPS).

Important: Перед началом сделайте резервную копию важных данных и убедитесь, что у вас есть консольный доступ к серверу (SSH).

Используемые термины

  • LAMP: набор Linux, Apache, MariaDB (или MySQL), PHP.
  • Composer: менеджер зависимостей для PHP.

Шаг 1. Установка Apache

Обновите индекс пакетов и установите Apache2:

sudo apt update
sudo apt install apache2 -y

Запустите и включите автозапуск Apache:

sudo systemctl start apache2
sudo systemctl enable apache2

Откройте HTTP и HTTPS в брандмауэре (если используется UFW):

sudo ufw allow "WWW Full"
sudo ufw reload
sudo ufw status

Если вы используете другой брандмауэр (iptables, firewalld), откройте порты 80 и 443 соответствующим образом.

Индикатор успешной установки apache2

Замечание: проверьте вывод systemctl и логи в /var/log/apache2/ при ошибках.

Шаг 2. Установка MariaDB и первичная настройка

Установите MariaDB сервер:

sudo apt install mariadb-server -y

Запустите и включите сервис:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Запустите скрипт безопасной настройки:

sudo mysql_secure_installation

Следуйте подсказкам: при предложении сменить метод аутентификации введите Y для перехода на unix_socket (если хотите использовать аутентификацию через системного пользователя) или N, если планируете использовать пароль. Если вы не уверены, оставьте предложенные опции по умолчанию, но обязательно задайте надёжный root-пароль, удалите анонимных пользователей и тестовую базу.

Настройка пароля MariaDB

Примеры действий, которые будут предложены (ответьте Y, где это уместно):

  • Смена способа аутентификации на unix_socket
  • Установка root-пароля (если не используется unix_socket)
  • Удаление анонимных пользователей
  • Отключение удалённого входа для root
  • Удаление тестовой базы данных
  • Перезагрузка таблиц привилегий

Подтверждение способа аутентификации

Установка root-пароля

Удаление анонимного пользователя

Удаление тестовой базы

Перезагрузка таблиц привилегий

Совет: если планируете управлять базой из удалённого приложения, создайте отдельного пользователя с минимальными правами на нужную базу (см. ниже).

Шаг 3. Установка PHP и необходимых расширений

Flarum требует PHP и набор расширений. Установим PHP 7.4 и необходимые модули (в Debian 11 по умолчанию доступен PHP 7.4):

sudo apt install php php-common php-mysql libapache2-mod-php php-gd php-curl php-json php-xmlrpc php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap php-tokenizer -y

Пример установки показан на скриншоте:

Результат установки PHP и модулей

Отредактируйте php.ini для Apache (путь для PHP 7.4):

sudo nano /etc/php/7.4/apache2/php.ini

Измените или добавьте следующие параметры (советуем подбирать значения под нагрузку и доступную память):

memory_limit = 512M
upload_max_filesize = 150M
max_execution_time = 600
date.timezone = Europe/Paris

Важно: директива корректно называется upload_max_filesize. Замените Europe/Paris на вашу временную зону (например Europe/Moscow).

Примените изменения перезапуском Apache:

sudo systemctl restart apache2

Совет по производительности: для средних и крупных сообществ рекомендовано включить OPcache и APCu для кеширования; некоторые расширения Flarum используют APCu.

Фактбокс — ключевые версии и параметры

  • Debian: 11 (Bullseye)
  • PHP: 7.4
  • MariaDB: 10.5
  • Рекомендуемый memory_limit: 512M
  • Открытые порты: 80, 443
  • DocumentRoot Flarum: /var/www/flarum/public

Шаг 4. Установка Composer

Composer — менеджер зависимостей для PHP. Сначала загрузите установщик и проверьте контрольную сумму (в примере используется конкретная sha384):

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Если вывод содержит “Installer verified”, можно продолжить установку:

php composer-setup.php
php -r "unlink('composer-setup.php');"

Переместите бинарный файл в место, доступное всем пользователям:

sudo mv composer.phar /usr/local/bin/composer

Проверка версии (запуск от имени пользователя www-data полезен для подтверждения прав):

sudo -u www-data composer --version
sudo -u www-data composer -v

Проверка composer

Совет: не запускайте composer install/require под root, лучше использовать www-data или отдельного deploy-пользователя.

Шаг 5. Создание базы данных и пользователя для Flarum

Подключитесь к MariaDB как root:

sudo mysql -u root -p

Внутри консоли создайте базу и пользователя (замените пароль на безопасный):

CREATE DATABASE flarumdb;
CREATE USER 'flarum'@'localhost' IDENTIFIED BY 'flarumdbpassword';
GRANT ALL PRIVILEGES ON flarumdb.* TO 'flarum'@'localhost';
FLUSH PRIVILEGES;

Затем выйдите командой exit или Ctrl+D.

Создание базы данных

Совет по безопасности: используйте уникальный, длинный пароль и ограничьте доступ, если база не должна быть доступна извне.

Шаг 6. Подготовка директорий и установка Flarum через Composer

Создайте папки проекта и кеша Composer:

sudo mkdir -p /var/www/{.cache,flarum}
sudo chown -R www-data:www-data /var/www/{.cache,flarum}
sudo chmod u+rw /var/www/{.cache,flarum}

Создание директорий проекта

Установите Flarum в директорию проекта:

cd /var/www/flarum
sudo -u www-data composer create-project flarum/flarum .

Composer скачает Flarum и зависимости. После установки исходники будут в /var/www/flarum, а публичная директория — /var/www/flarum/public.

Загрузка Flarum через Composer

Совет: если у вас медленное соединение, можно сначала выполнить composer create-project локально и затем загрузить файлы на сервер через rsync.

Шаг 7. Настройка виртуального хоста Apache и SSL

Включите необходимые модули Apache:

sudo a2enmod ssl rewrite headers

Создайте файл виртуального хоста /etc/apache2/sites-available/flarum.conf:

sudo nano /etc/apache2/sites-available/flarum.conf

Вставьте конфигурацию, заменив example.io на ваш домен и пути к сертификатам:


    ServerName example.io
    Redirect permanent / https://example.io/



    ServerAdmin [email protected]
    DocumentRoot /var/www/flarum/public
    ServerName example.io

    Protocols h2 http/1.1

    SSLEngine On
    SSLCertificateFile /etc/letsencrypt/live/example.io/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.io/privkey.pem

    
        Options FollowSymlinks
        AllowOverride All
        Require all granted
    

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    
        RewriteEngine on
        RewriteBase /
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*) index.php [PT,L]
    

Сохраните файл и активируйте сайт:

sudo a2ensite flarum.conf
sudo apachectl configtest
sudo systemctl restart apache2

Если configtest возвращает Syntax OK — всё корректно.

Настройка виртуального хоста Apache

SSL и сертификаты: используйте certbot для получения бесплатных сертификатов Let’s Encrypt:

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.io

Совет: включите автоматическое обновление сертификатов (systemd-таймер установлен автоматически) и проверьте dry-run:

sudo certbot renew --dry-run

Шаг 8. Запуск веб-инсталлятора Flarum

Откройте в браузере https://yourdomain.com/ (замените yourdomain.com на ваш домен). Вы увидите страницу установки Flarum.

Заполните нужные поля:

  • Заголовок сайта (Site Title)
  • Детали подключения к базе данных (DB host: localhost, DB name: flarumdb, DB username: flarum, пароль)
  • Аккаунт администратора (логин, email, пароль)

Нажмите Install Flarum.

Инсталляция Flarum через веб

После успешной установки вы увидите приветствие.

Приветствие после установки

В админке будет указана версия Flarum и окружение (например v1.2.1, PHP 7.4, MariaDB 10.5):

Информация в админке

Постустановочные шаги и базовая конфигурация

  • Установите желаемые расширения (Extensions) через админку или composer.
  • Настройте индексирование и кеширование (APCu/OPcache).
  • Настройте резервные копии базы данных и файлов (см. раздел про методику резервного копирования).
  • Ограничьте доступ по правам к рабочим файлам: директория проекта должна принадлежать www-data:
sudo chown -R www-data:www-data /var/www/flarum
sudo find /var/www/flarum -type f -exec chmod 640 {} \;
sudo find /var/www/flarum -type d -exec chmod 750 {} \;

Важно: не делайте файлы исполняемыми без надобности.

Безопасность и усиление защиты

  1. Ограничьте SSH доступ и используйте ключи вместо паролей.
  2. Регулярно применяйте обновления ОС и пакетов: sudo apt update && sudo apt upgrade.
  3. Настройте SELinux/AppArmor по возможности.
  4. Ограничьте доступ к панели управления базой (если она публично доступна) по IP.
  5. Следите за правами файлов и конфиденциальными файлами (config.php хранит параметры базы данных).
  6. Запретите вывод ошибок PHP в production (display_errors = Off), логируйте их.
  7. Сделайте резервное копирование конфигурационных файлов и базы данных.

Механизм резервного копирования (мини-методология)

  • Файлы Flarum: rsync /tar из /var/www/flarum на отдельный диск/сервер.
  • База данных: регулярный дамп с помощью mysqldump:
mysqldump -u root -p flarumdb > /backup/flarumdb-$(date +%F).sql
  • Храните бекапы минимум 14–30 дней, проверяйте процесс восстановления.

Когда установка может не сработать — частые проблемы и решения

  • Ошибка 500 после установки: проверьте логи Apache (/var/log/apache2/error.log) и права на файлы.
  • Composer падает при install: проверьте версию PHP и доступные расширения, посмотрите /var/www/flarum/.composer/cache.
  • Неверные права доступа: убедитесь, что веб-сервер (www-data) владеет папками и файлами.
  • Проблемы с SSL: проверьте правильность путей к сертификатам и их срок действия.
  • Ошибки подключения к базе: проверьте credentials, хост, порт и привилегии пользователя в MariaDB.

Альтернативные подходы

  1. Docker: запуск Flarum в контейнерах (nginx/apache + php-fpm + mariadb) удобно для изоляции и миграций.
  2. Управляемый хостинг для форумов: если не хотите администрировать сервер.
  3. Использование Nginx вместо Apache: более высокая гибкость и производительность в некоторых сценариях.

Краткая схема деплоймента через Docker (логическая):

flowchart LR
  A[Код Flarum] --> B[Docker image PHP-FPM]
  B --> C[Nginx контейнер]
  B --> D[Volume: uploads]
  E[MariaDB контейнер] --> B
  C -->|HTTPS| User[Пользователь]

Роли и чек-листы

Администратор сервера:

  • Обновить систему
  • Настроить брандмауэр
  • Настроить резервное копирование
  • Мониторинг и логирование

Веб-админ Flarum:

  • Настроить темы и расширения
  • Создать первоначальные категории и модераторов
  • Настроить правила контента и автоматическую модерацию

Разработчик/DevOps:

  • Настроить CI/CD для обновлений и деплоймента
  • Автоматизировать резервные копии и тесты
  • Настроить staging окружение

Критерии приёмки

  • Сайт доступен по HTTPS
  • Веб-инсталлятор успешно завершён
  • Пользователь-администратор создан и может войти
  • База данных корректно подключена и записи сохраняются
  • Регулярные бекапы настроены

Отладка и процедура отката

  • При неудачном обновлении расширения: деактивируйте расширение через админку или откатите composer.json и выполните composer install.
  • Если сайт перестал отвечать: проверьте логи Apache/PHP и права на файлы. Откатите последние изменения и восстановите бекап.
  • Для восстановления БД используйте mysql < backup.sql.

Короткий глоссарий

  • DocumentRoot: директория, из которой Apache отдаёт файлы сайта.
  • Composer: менеджер зависимостей PHP.
  • OPcache/APCu: механизмы кеширования для повышения производительности PHP.

Решение для локализации и будущих обновлений

  • Для обновления Flarum используйте composer update или следуйте инструкциям обновлений в официальной документации.
  • Перед обновлением делайте полные бекапы базы и файлов.

Заключение

Поздравляем — вы установили Flarum на Debian 11 с помощью LAMP-стека. После успешной установки уделите внимание безопасности, автоматическим бекапам и мониторингу. По необходимости рассмотрите контейнеризацию (Docker) для упрощения масштабирования и миграций.


Summary:

  • Установка охватывает Apache, MariaDB, PHP и Composer.
  • Flarum инсталлируется через composer create-project в /var/www/flarum.
  • Настройте виртуальный хост Apache и SSL, проверьте права и резервные копии.

Notes: для продакшн-среды рекомендуется протестировать нагрузку и включить кеширование OPcache/APCu.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро