Установка ElkArte на Debian 10
Почему ElkArte
ElkArte — лёгкая, современная и бесплатная платформа для форумов на PHP с поддержкой MySQL/MariaDB. Ключевые возможности: уведомления, отметки «Нравится», черновики с автосохранением, перетаскивание вложений, интеграция YouTube, публикация по e‑mail и улучшенные антиспам‑механизмы.
Требования
- Сервер с Debian 10 (Buster).
- Доступ root или пользователь с sudo.
- Доменное имя, указывающее на сервер (например, example.com).
- Публичный доступ по HTTP/HTTPS для установки SSL.
Важно: перед установкой сделайте резервную копию важных данных и убедитесь, что у вас есть доступ к консоли сервера.
План работ (быстрая схема)
- Обновить систему.
- Установить Apache, MariaDB и PHP с нужными расширениями.
- Настроить PHP (php.ini).
- Создать БД и пользователя MariaDB.
- Скачать и развернуть ElkArte в webroot.
- Создать виртуальный хост Apache.
- Пройти веб‑установку ElkArte.
- Защитить сайт SSL с помощью Certbot.
Обновление системы
Перед началом обновите пакеты:
apt-get update -y
apt-get upgrade -yПосле обновления рекомендуется перезагрузить сервер, чтобы применить ядро и обновления служб.
Установка Apache, MariaDB и PHP
Установите веб‑сервер, СУБД и PHP с необходимыми расширениями:
apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-curl php-intl php-mbstring php-xmlrpc php-mysql php-gd php-pgsql php-xml php-cli php-imagick php-bcmath php-gmp php-zip unzip -yПримечание: по умолчанию Debian 10 поставляется с PHP 7.3. Если вы используете другой релиз PHP, скорректируйте путь к php.ini ниже.
Настройка php.ini
Откройте конфигурацию PHP для Apache и внесите рекомендуемые изменения:
nano /etc/php/7.3/apache2/php.iniНайдите и измените (или добавьте) следующие параметры:
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Europe/MoscowПримечание: установите date.timezone в ваш часовой пояс (например, Europe/Moscow). Сохраните файл и перезапустите Apache:
systemctl restart apache2Настройка базы данных для ElkArte
Войдите в консоль MariaDB:
mysql -u root -pВ интерактивной консоли создайте базу и пользователя (замените имена и пароль на надёжные значения):
MariaDB [(none)]> CREATE DATABASE elkartedb;
MariaDB [(none)]> CREATE USER 'elkarte'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL ON elkartedb.* TO 'elkarte'@'localhost' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Рекомендации:
- Используйте сложный пароль (генераторы паролей или менеджер паролей).
- Для продакшена можно ограничить привилегии и не давать WITH GRANT OPTION, если не требуется.
Загрузка ElkArte
Скачайте последнюю версию из репозитория GitHub и распакуйте её:
wget https://github.com/elkarte/Elkarte/archive/master.zip
unzip master.zip
mv Elkarte-master /var/www/html/elkarte
chown -R www-data:www-data /var/www/html/elkarte
chmod -R 755 /var/www/html/elkarteПояснение:
- /var/www/html/elkarte — каталог, где будет расположен ваш форум. При необходимости используйте другой путь.
- Владелец www‑data нужен для Apache.
Создание виртуального хоста Apache
Создайте конфигурацию сайта:
nano /etc/apache2/sites-available/elkarte.confВставьте (обновите ServerName и ServerAdmin):
ServerAdmin admin@example.com
DocumentRoot /var/www/html/elkarte
ServerName example.com
Options FollowSymlinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Включите сайт и модуль перезаписи URL, затем перезапустите Apache:
a2ensite elkarte.conf
a2enmod rewrite
systemctl restart apache2Доступ к веб‑установке ElkArte
Откройте в браузере http://example.com (замените на ваш домен). Вы увидите мастер установки ElkArte и пройдёте несколько шагов: проверка системы, ввод данных БД, настройки форума и создание администратора.

После ввода данных базы нажмите «Continue» и следуйте подсказкам.






ALT‑тексты изображений выше описывают этапы веб‑установки: стартовый экран, ввод настроек БД, параметры форума, заполнение БД, создание админа и панель управления.
Защита HTTPS с помощью Let’s Encrypt (Certbot)
Установите Certbot и плагин для Apache. В репозитории Debian 10 может не быть актуальной версии, поэтому добавляем PPA и ставим Certbot:
add-apt-repository ppa:certbot/certbot
apt-get update -y
apt-get install certbot python-certbot-apache -yПолучите сертификат и разрешите Certbot автоматически настроить виртуальный хост:
certbot --apache -d example.comСледуйте подсказкам: укажите email, согласитесь с условиями, выберите опцию перенаправления на HTTPS (рекомендуется «2»).
Проверка продления сертификата (рекомендуется):
certbot renew --dry-runПо умолчанию Certbot создаёт systemd‑таймер/cron для автоматического продления. Убедитесь, что cron работает или systemd таймер активен.
Рекомендации по безопасности
- Файловые права: проверьте, что в каталоге веб‑приложения нет лишних прав записи от посторонних пользователей. Для каталогов — 755, для файлов — 644.
- Сильные пароли для MariaDB и администраторов форума.
- Регулярное обновление пакетов (apt‑upgrade) и PHP‑модулей.
- Отключите ненужные PHP‑расширения.
- Настройте firewall (ufw):
ufw allow 'Apache Full'
ufw enable- Делайте резервные копии БД и файлов (см. раздел ниже).
Резервное копирование и восстановление
Быстрый дамп базы данных:
mysqldump -u elkarte -p elkartedb > elkartedb-$(date +%F).sqlВосстановление:
mysql -u elkarte -p elkartedb < elkartedb-2020-01-01.sqlБэкап файлов форума (архив каталога):
tar -czvf elkarte-www-$(date +%F).tar.gz /var/www/html/elkarteАвтоматизируйте бэкапы через cron или систему резервного копирования.
Устранение типичных проблем
- 403 Forbidden после установки: проверьте права каталога и директиву Require all granted в конфигурации виртуального хоста.
- 500 Internal Server Error: смотрите /var/log/apache2/error.log и логи PHP (/var/log/apache2/error.log или systemd‑journal).
- Ошибка подключения к БД: проверьте правильность имени БД, пользователя, пароля и что MariaDB слушает локальный сокет.
- Проблемы с PHP‑расширениями: убедитесь, что необходимые расширения (php-mysql, php-mbstring и т.д.) установлены и Apache перезапущен.
Быстрые команды диагностики
systemctl status apache2
systemctl status mariadb
tail -n 100 /var/log/apache2/error.log
journalctl -u apache2 --since "1 hour ago"Тестовые сценарии и критерии приёмки
Критерии приёмки:
- Главная страница форума открывается по HTTPS без предупреждений.
- Веб‑мастер установки успешно завершил все шаги и создал админа.
- Авторизация под созданным администратором работает.
- Создание топика, ответ и загрузка вложения до 100 МБ проходят успешно.
- Автоматическое продление сертификата certbot проходит без ошибок (проверить certbot renew –dry-run).
Тест‑кейсы (минимум):
- Регистрация нового пользователя.
- Отправка и редактирование сообщения.
- Загрузка изображения и проверка отображения.
- Восстановление бэкапа БД и проверка целостности данных.
Полезные шаблоны и чек‑листы
Системный чек‑лист перед релизом:
- Обновлены пакеты OS и PHP.
- Выполнён бэкап перед установкой.
- Настроен virtualhost и HTTPS.
- Установлены права владельца www‑data.
- Проведены базовые тесты (регистрация, постинг, вложения).
Роль‑ориентированный контроль:
- Системный администратор: установка пакетов, бэкап, firewall, мониторинг.
- Владелец проекта: проверка контента, политики модерации.
- Модератор: управление пользователями, модерация темы/постов.
Альтернативные подходы
- Использовать Nginx вместо Apache: потребуется другой конфиг и плагин certbot для nginx.
- Хостинг‑провайдеры с готовым PHP/MySQL стеком: подходят для быстрого развёртывания без администрирования сервера.
План обслуживания (high level)
- Еженедельная проверка обновлений пакетов и модулей.
- Еженедельное копирование логов и ежесуточные бэкапы БД (или чаще для активных сообществ).
- Мониторинг сертификатов и автоматизация продления (certbot).
Короткий список команд (cheat sheet)
apt-get update && apt-get upgrade -y
apt-get install apache2 mariadb-server php php-mysql -y
mysql -u root -p
wget https://github.com/elkarte/Elkarte/archive/master.zip
unzip master.zip
chown -R www-data:www-data /var/www/html/elkarte
a2ensite elkarte.conf
a2enmod rewrite
systemctl restart apache2
certbot --apache -d example.comЗаключение
ElkArte — хороший выбор, если вам нужен лёгкий, но функциональный форум на PHP. Процесс установки на Debian 10 включает стандартный LAMP‑стек, создание БД, настройку Apache и получение SSL‑сертификата через Certbot. Следуйте рекомендациям по безопасности, автоматизируйте бэкапы и тестируйте процедуру восстановления — это обеспечивает сохранность сообщества и данных.
Важно: замените example.com и все тестовые пароли на реальные значения перед развёртыванием в продакшн.
Авторское примечание: используйте официальную документацию ElkArte и ваши системные политики безопасности при развертывании и эксплуатации.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента