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

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

5 min read Форумы Обновлено 24 Nov 2025
Flarum на Ubuntu 20.04: Apache + Let's Encrypt
Flarum на Ubuntu 20.04: Apache + Let's Encrypt

Скриншот интерфейса Flarum — приветственная страница

Что такое 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

Откройте в браузере:

https://flarum.linuxbuz.com

Вы увидите страницу установки, где нужно заполнить данные форума, данные базы, имя администратора и e-mail.

Страница установки Flarum — ввод имени форума и настроек базы данных

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

Административная панель 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 для статики.

Отладка и типичные ошибки

  1. Ошибка прав доступа к файлам — проверьте chown и права.
  2. Ошибка Composer или зависимостей — запустите composer install и посмотрите вывод ошибок.
  3. Apache возвращает 500 — смотрите /var/log/apache2/flarum-error_log.
  4. Certbot не может верифицировать домен — убедитесь, что DNS указывает на ваш сервер и порт 80 открыт.

Советы по совместимости и миграции

  • Flarum обычно совместим с PHP 7.3–7.4; проверяйте требования версии Flarum в composer.json и документации расширений.
  • При переносе с другого хоста делайте дамп базы (mysqldump) и копию каталога public и storage.
  • Если мигрируете на другой домен — пересоздайте SSL и обновите настройки в админке.

Быстрый чек-лист для разных ролей

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

  • Обновил систему.
  • Установил LAMP.
  • Настроил MariaDB и пользователя.
  • Настроил бэкапы и мониторинг.

Владелец сообщества:

  • Зарегистрировал домен и указал A-запись.
  • Заполнил данные форума в инсталляторе.
  • Настроил резервную почту администратора.

Разработчик/интегратор:

  • Установил Composer и зависимости.
  • Настроил возможности расширений.
  • Протестировал производительность и кеширование.

Короткое руководство по откату/восстановлению

  1. Откат к последней рабочей версии кода: восстановите каталог /var/www/html/flarum из бэкапа.
  2. Восстановление базы: mysql flarum < flarum_dump.sql.
  3. Перезапуск Apache: systemctl restart apache2.

Заключение

Поздравляем — Flarum установлен и защищён SSL на Ubuntu 20.04. В следующих шагах настройте расширения, темы и модерацию сообщества. Если возникнут вопросы — проверьте логи, тест продления сертификатов и права доступа.

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

Итог:

  • Flarum можно развернуть быстро при соблюдении шагов LAMP → Composer → Flarum → Apache → Let’s Encrypt.

Заметки:

  • Тексты конфигураций и команды в статье оставлены в исходном виде; при необходимости адаптируйте под вашу инфраструктуру.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Техника Flowtime: гибкий таймер для фокуса
Продуктивность

Техника Flowtime: гибкий таймер для фокуса

Как изменить имя пользователя в TikTok — пошагово
соцсети

Как изменить имя пользователя в TikTok — пошагово

Как исправить opencl.dll не найден — Windows 11
Windows

Как исправить opencl.dll не найден — Windows 11

Стикеры в Signal: создать, загрузить, управлять
Руководство

Стикеры в Signal: создать, загрузить, управлять

Как добавить водяной знак в Excel
Office

Как добавить водяной знак в Excel

GPTZero: детектор AI‑текста для преподавателей
Образование

GPTZero: детектор AI‑текста для преподавателей