Установка Flarum на Ubuntu 20.04 с Apache и Let's Encrypt

Что такое Flarum
Flarum — это бесплатное, с открытым исходным кодом, современное приложение для форумов на PHP. Оно лёгкое, быстрое, имеет расширяемую архитектуру и поддерживает плагины (расширения), необходимые для управления сообществом. Интерфейс интуитивный и оптимизирован для минимального количества кликов.
Краткое определение терминов:
- LAMP — набор: Linux + Apache + MariaDB/MySQL + PHP.
- Composer — менеджер зависимостей PHP.
Требования и готовность сервера
Перед началом убедитесь, что у вас есть:
- Сервер с Ubuntu 20.04.
- Домен, указывающий на IP сервера (A-запись).
- Доступ root или пользователь с sudo.
Фактические ключевые параметры:
- Рекомендуемая версия PHP: 7.4.
- База данных: MariaDB/MySQL.
- Web-сервер: Apache (с модулем rewrite).
- SSL: Certbot (Let’s Encrypt).
Важно: для продакшен-среды выделите минимум 1 ГБ RAM и стабильно соединение. Точные ресурсы зависят от ожидаемой нагрузки.
Получение и обновление системы
Всегда начинайте с обновления пакетов:
apt-get update -yПосле обновления переходите к установке LAMP.
Установка LAMP и зависимостей
Flarum работает на PHP и требует веб-сервер + СУБД. Установите набор пакетов:
apt-get install apache2 mariadb-server php7.4 libapache2-mod-php7.4 php7.4-common php7.4-mbstring php7.4-xmlrpc php7.4-soap php7.4-mysql php7.4-gd php7.4-xml php7.4-curl php7.4-cli php7.4-zip php7.4-tokenizer wget unzip curl git -yПосле установки откройте php.ini и отредактируйте ключевые параметры:
nano /etc/php/7.4/apache2/php.iniВнесите изменения (пример):
file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_file_size = 150M
max_execution_time = 450
date.timezone = Asia/KolkataПримечание: установите date.timezone в значение вашего региона (например, Europe/Moscow) для корректных временных меток.
Сохраните и закройте файл.
Создание базы данных для Flarum
Войдите в MariaDB и создайте базу и пользователя:
mysqlВнутри консоли MariaDB выполните:
MariaDB [(none)]> CREATE DATABASE flarum;
MariaDB [(none)]> CREATE USER 'flarum'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON flarum.* TO 'flarum'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Замените ‘password’ на надёжный пароль и при необходимости используйте другой хост или ограничьте доступ по IP.
Установка Composer
Composer — менеджер зависимостей PHP, необходимый для установки Flarum:
curl -s https://getcomposer.org/installer | phpОжидаемый вывод подтверждает корректную установку. Затем переместите binary в глобальный путь:
mv composer.phar /usr/local/bin/composerПроверьте версию:
composer -VУстановка Flarum
Создайте директорию в корне веб-сервера и установите Flarum через composer:
mkdir /var/www/html/flarum
cd /var/www/html/flarum
composer create-project flarum/flarum . --stability=betaЗатем установите зависимости (если нужно):
composer installНастройте владельца и права:
chown -R www-data:www-data /var/www/html/flarum/
chmod -R 755 /var/www/html/flarum/Совет по безопасности: для продакшена можно задать более строгие права на директории хранения и конфигурации.
Конфигурация Apache для Flarum
Создайте виртуальный хост:
nano /etc/apache2/sites-available/flarum.confДобавьте следующее (пример из источника):
ServerAdmin [email protected]
DocumentRoot /var/www/html/flarum/public
ServerName flarum.linuxbuz.com
DirectoryIndex index.php
Options +FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
ErrorLog /var/log/apache2/flarum-error_log
CustomLog /var/log/apache2/flarum-access_log common
Важно: конфигурация из примера содержит директивы совместимости с более старыми версиями Apache (Order / Allow). На современных Ubuntu/Apache 2.4 рекомендуется заменить блок Directory на:
Options +FollowSymLinks
AllowOverride All
Require all granted
Включите сайт и модуль rewrite, затем перезапустите Apache:
a2ensite flarum
a2enmod rewrite
systemctl restart apache2
systemctl status apache2Защита сайта сертификатом Let’s Encrypt
Установите certbot для Apache и получите SSL:
apt-get install python3-certbot-apache -y
certbot --apache -d flarum.linuxbuz.comСледуйте подсказкам: укажите e-mail, согласитесь с условиями, и выберите, нужно ли перенаправлять HTTP на HTTPS (обычно выбирают перенаправление).
После успешной установки certbot создаст файлы сертификатов в /etc/letsencrypt/live/your-domain/ и настроит виртуальный хост для HTTPS.
Важно: certbot по умолчанию настраивает автоматическое продление через systemd/cron. Проверьте работу командой:
certbot renew --dry-runЕсли автоматическое продление не работает, добавьте cron-задание:
0 3 * * * /usr/bin/certbot renew --quietДоступ к установщику Flarum
Откройте в браузере:
Вы увидите страницу установки, где нужно заполнить данные форума, данные базы, имя администратора и e-mail.

После успешной установки попадёте в административную панель Flarum:

Критерии приёмки
Для проверки успешной установки выполните следующие действия:
- Сервер отвечает по HTTPS без предупреждений в браузере.
- Страница установки Flarum загружается и позволяет ввести настройки.
- После установки админ-панель доступна и вы можете войти с созданными учётными данными.
- Файлы имеют корректного владельца (www-data) и права доступа.
- Сертификат Let’s Encrypt успешно продлевается при
certbot renew --dry-run.
Рекомендации по безопасности и эксплуатации
- Регулярно обновляйте Ubuntu и пакеты (apt-get upgrade).
- Храните резервные копии /etc/letsencrypt, базы данных и каталога /var/www/html/flarum.
- Ограничьте доступ по SSH (ключи, non-root, fail2ban).
- Настройте бэкапы базы (например, mysqldump по cron).
- Для больших сообществ используйте отдельный сервер MySQL/MariaDB и CDN для статики.
Отладка и типичные ошибки
- Ошибка прав доступа к файлам — проверьте
chownи права. - Ошибка Composer или зависимостей — запустите
composer installи посмотрите вывод ошибок. - Apache возвращает 500 — смотрите /var/log/apache2/flarum-error_log.
- Certbot не может верифицировать домен — убедитесь, что DNS указывает на ваш сервер и порт 80 открыт.
Советы по совместимости и миграции
- Flarum обычно совместим с PHP 7.3–7.4; проверяйте требования версии Flarum в composer.json и документации расширений.
- При переносе с другого хоста делайте дамп базы (
mysqldump) и копию каталогаpublicиstorage. - Если мигрируете на другой домен — пересоздайте SSL и обновите настройки в админке.
Быстрый чек-лист для разных ролей
Администратор сервера:
- Обновил систему.
- Установил LAMP.
- Настроил MariaDB и пользователя.
- Настроил бэкапы и мониторинг.
Владелец сообщества:
- Зарегистрировал домен и указал A-запись.
- Заполнил данные форума в инсталляторе.
- Настроил резервную почту администратора.
Разработчик/интегратор:
- Установил Composer и зависимости.
- Настроил возможности расширений.
- Протестировал производительность и кеширование.
Короткое руководство по откату/восстановлению
- Откат к последней рабочей версии кода: восстановите каталог /var/www/html/flarum из бэкапа.
- Восстановление базы:
mysql flarum < flarum_dump.sql. - Перезапуск Apache:
systemctl restart apache2.
Заключение
Поздравляем — Flarum установлен и защищён SSL на Ubuntu 20.04. В следующих шагах настройте расширения, темы и модерацию сообщества. Если возникнут вопросы — проверьте логи, тест продления сертификатов и права доступа.
Ключевые действия для дальнейшего сопровождения: поддержание обновлений, регулярные резервные копии, контроль доступа и план восстановления.
Итог:
- Flarum можно развернуть быстро при соблюдении шагов LAMP → Composer → Flarum → Apache → Let’s Encrypt.
Заметки:
- Тексты конфигураций и команды в статье оставлены в исходном виде; при необходимости адаптируйте под вашу инфраструктуру.
Похожие материалы
Техника Flowtime: гибкий таймер для фокуса
Как изменить имя пользователя в TikTok — пошагово
Как исправить opencl.dll не найден — Windows 11
Стикеры в Signal: создать, загрузить, управлять
Как добавить водяной знак в Excel