Установка ElkArte на Ubuntu 22.04 с Let's Encrypt SSL

Коротко: этот пошаговый гид показывает, как установить форум ElkArte на Ubuntu 22.04 с PHP 7.4, MariaDB и бесплатным SSL от Let’s Encrypt. Вы пройдёте настройку Apache, базу данных, загрузку файлов ElkArte, настройку виртуального хоста и автоматическое получение сертификата Certbot.
О чём эта инструкция
ElkArte — свободное форумное ПО на PHP, развившееся из Simple Machines Forum. Оно предоставляет современные темы и плагины сообщества для быстрого развёртывания собственного форума. В этом руководстве показаны практические команды и скриншоты интерфейса установки.
Важно: команды и примеры используют PHP 7.4 по совместимости с этой версией ElkArte. Если вы предпочитаете PHP 8.x, проверьте совместимость версии ElkArte прежде чем менять версию PHP.
Требования
- Сервер с Ubuntu 22.04.
- Домен, указывающий на IP сервера (A/AAAA запись).
- Пароль root или доступ по sudo на сервере.
Установка Apache, PHP и MariaDB
ElkArte работает на веб‑сервере Apache с PHP и использует MariaDB как СУБД. Установите Apache и MariaDB:
apt install apache2 mariadb-serverUbuntu 22.04 содержит PHP 8.1 по умолчанию; для этого руководства требуется PHP 7.4, поэтому добавим PPA от Ondřej Surý и установим нужные расширения:
apt install software-properties-common -y
add-apt-repository ppa:ondrej/php -yУстановите PHP 7.4 и необходимые модули:
apt install php7.4 libapache2-mod-php7.4 php7.4-common php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-mysql php7.4-gd php7.4-pgsql php7.4-xml php7.4-cli php7.4-imagick php7.4-bcmath php7.4-gmp php7.4-zip unzip -yОткройте файл конфигурации PHP для Apache и измените параметры по необходимости (установлен пример):
nano /etc/php/7.4/apache2/php.iniИзмените или добавьте эти строки (установите свою временную зону):
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Asia/KolkataСохраните изменения и перезапустите Apache:
systemctl restart apache2Настройка базы данных MariaDB
Защитите установку MariaDB и задайте пароль root:
mysql_secure_installationОтветьте утилите по подсказкам (рекомендуется отвечать утвердительно на удаление анонимных пользователей, запрет удалённого входа для root, удаление тестовой БД и перезагрузку таблиц привилегий).
Войдите в MariaDB и создайте базу данных и пользователя для ElkArte:
mysql -u root -p
MariaDB [(none)]> CREATE DATABASE elkdb;
MariaDB [(none)]> CREATE USER 'elk'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL ON elkdb.* TO 'elk'@'localhost' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Замените ‘password’ на надёжный пароль и сохраните эти данные — они понадобятся при веб‑установке ElkArte.
Загрузка ElkArte
Скачайте релиз ElkArte из GitHub (пример указывает версию v1.1.8):
wget https://github.com/elkarte/Elkarte/releases/download/v1.1.8/ElkArte_v1-1-8_install.zipРаспакуйте архив в корень веб‑сервера:
unzip ElkArte_v1-1-8_install.zip -d /var/www/html/elkarteУстановите владельца и права на папку:
chown -R www-data:www-data /var/www/html/elkarte/
chmod -R 755 /var/www/html/elkarte/Настройка Apache для ElkArte
Создайте виртуальный хост Apache:
nano /etc/apache2/sites-available/elkarte.confВставьте конфигурацию (примеры значений замените на свои):
ServerAdmin [email protected]
ServerName elk.linuxbuz.com
DocumentRoot /var/www/html/elkarte
Options FollowSymlinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Включите сайт и модуль перезаписи URL:
a2ensite elkarte.conf
a2enmod rewriteПерезапустите Apache и проверьте его статус:
systemctl restart apache2
systemctl status apache2Вы увидите вывод systemd с состоянием службы Apache.
Доступ к веб‑интерфейсу ElkArte
Откройте в браузере https://ваш_домен (в примере https://elk.linuxbuz.com). Вы будете перенаправлены на страницу приветствия ElkArte:

Нажмите Continue и следуйте шагам установщика: настройка параметров базы данных, базовые настройки форума, создание учётной записи администратора.




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


Защита сайта с помощью Let’s Encrypt SSL
Установите Certbot и его Apache‑плагин:
apt-get install certbot python3-certbot-apache -yЗапустите Certbot для автоматического получения и установки сертификата:
certbot --apache -d elk.linuxbuz.comСледуйте подсказкам: укажите электронную почту, согласитесь с условиями, выберите перенаправление HTTP на HTTPS (рекомендуется — выбрать Redirect).
Пример вывода Certbot показывает успешное создание сертификата и путь к файлам:
/etc/letsencrypt/live/elk.linuxbuz.com/fullchain.pem
/etc/letsencrypt/live/elk.linuxbuz.com/privkey.pemCertbot также предложит команды для автоматического обновления сертификатов (certbot renew). Проверьте работу HTTPS через SSL Labs или аналогичный сервис.
Критерии приёмки
- Сайт доступен по HTTPS без ошибок сертификата.
- Установщик ElkArte завершился успешно: создана администрация, форум открывается в браузере.
- Подключение к базе данных работает: в БД созданы таблицы ElkArte.
- Apache успешно обслуживает статические файлы и PHP‑скрипты.
Быстрый чек‑лист перед запуском (роль‑ориентированный)
Администратор сервера:
- Проверить открытые порты 80 и 443 в брандмауэре.
- Установить автоматическое обновление пакетов (опционально).
Администратор базы данных:
- Создать базу и пользователя с надёжным паролем.
- Ограничить доступ к MariaDB только с localhost, если приложение и БД на одном сервере.
Сайт‑администратор (форум):
- Настроить резервное копирование каталога /var/www/html/elkarte и /etc/letsencrypt.
- Проверить права на файлы: www‑data владелец.
Когда этот подход не подходит
- Если вы хотите использовать другой веб‑сервер (Nginx), конфигурация Apache из этого руководства не подойдёт — используйте секцию «Альтернативы» ниже.
- Если ваша версия ElkArte требует PHP ≥8.0, не используйте PHP 7.4 — обновите репозиторий и пакеты.
- При хостинге с ограничениями доступа к портам/сертификатам (например, у некоторых провайдеров) автоматизация Certbot может требовать дополнительных прав.
Альтернативные подходы
- Nginx вместо Apache: используйте php‑fpm и настройку серверного блока для Nginx; Certbot поддерживает плагин nginx.
- Docker/Kubernetes: контейнеризуйте ElkArte (PHP+FPM, nginx, MariaDB) для изолированного развёртывания и лёгких откатов.
- Управляемый хостинг: если вы не хотите администрировать сервер — рассмотрите провайдеров с поддержкой PHP‑приложений и автоматическим SSL.
Рекомендации по безопасности и жёсткому усилению
- Отключите модуль root‑входа по сети в MariaDB и используйте отдельного пользователя БД.
- Регулярно обновляйте PHP, Apache и пакеты безопасности (apt upgrade).
- Ограничьте права файлов (файлы 644, каталоги 755) и своевременно применяйте обновления для расширений ElkArte.
- Сохраняйте резервные копии приватных ключей Certbot (/etc/letsencrypt) в защищённом месте.
- Включите двуфакторную аутентификацию для административных учётных записей, если это поддерживает ваша установка.
Быстрые команды (cheat sheet)
- Установка Apache и MariaDB: apt install apache2 mariadb-server
- Добавление PPA и установка PHP 7.4: add-apt-repository ppa:ondrej/php && apt install php7.4 …
- Распаковка и права: unzip … -d /var/www/html/elkarte && chown -R www-data:www-data …
- Включить сайт и модуль rewrite: a2ensite elkarte.conf && a2enmod rewrite && systemctl restart apache2
- Certbot: certbot –apache -d your.domain
Тесты и приёмочные критерии
- Откройте главную страницу форума по HTTPS — должна загрузиться без предупреждений о сертификате.
- Перейдите в панель администратора и проверьте настройки базы данных и пути к файлам.
- Попробуйте создать тестовую тему и аккаунт пользователя.
Глоссарий (одно предложение)
- Apache: широко используемый веб‑сервер; PHP‑модули обрабатывают скрипты на сервере.
- PHP-FPM: реализация FastCGI для обработки PHP (используется с Nginx).
- Certbot: клиент Let’s Encrypt для автоматического получения и продления сертификатов.
Заключение
Поздравляем — вы установили и защитили ElkArte на Ubuntu 22.04. Поддерживайте систему в актуальном состоянии, настройте регулярные бэкапы и следите за безопасностью админ‑учётных записей. Если нужна помощь с переносом на Nginx, контейнеризацией или настройкой резервного копирования, задайте уточняющие вопросы.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone