Установка Flarum на Debian 11 (Bullseye) с 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 соответствующим образом.

Замечание: проверьте вывод 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-пароль, удалите анонимных пользователей и тестовую базу.

Примеры действий, которые будут предложены (ответьте Y, где это уместно):
- Смена способа аутентификации на unix_socket
- Установка root-пароля (если не используется unix_socket)
- Удаление анонимных пользователей
- Отключение удалённого входа для 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.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 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.

Совет: если у вас медленное соединение, можно сначала выполнить 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 — всё корректно.

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 и окружение (например 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 {} \;Важно: не делайте файлы исполняемыми без надобности.
Безопасность и усиление защиты
- Ограничьте SSH доступ и используйте ключи вместо паролей.
- Регулярно применяйте обновления ОС и пакетов: sudo apt update && sudo apt upgrade.
- Настройте SELinux/AppArmor по возможности.
- Ограничьте доступ к панели управления базой (если она публично доступна) по IP.
- Следите за правами файлов и конфиденциальными файлами (config.php хранит параметры базы данных).
- Запретите вывод ошибок PHP в production (display_errors = Off), логируйте их.
- Сделайте резервное копирование конфигурационных файлов и базы данных.
Механизм резервного копирования (мини-методология)
- Файлы 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.
Альтернативные подходы
- Docker: запуск Flarum в контейнерах (nginx/apache + php-fpm + mariadb) удобно для изоляции и миграций.
- Управляемый хостинг для форумов: если не хотите администрировать сервер.
- Использование 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.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента