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

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

• 6 min read • Серверы • Обновлено 24 Nov 2025
Установка Vanilla Forums на Ubuntu 20.04
Установка Vanilla Forums на Ubuntu 20.04

Скриншот интерфейса Vanilla Forums — главная страница установки

Vanilla Forums — это бесплатное и открытое форумное ПО на PHP. Оно простое, гибкое, настраиваемое и мультиязычное. Vanilla предоставляет основные функции для работы сообщества: вход через социальные сети, единую авторизацию (SSO), встраиваемые форумы, импорт из других форумных движков, интеграции и множество расширений и тем.

В этом руководстве вы пошагово установите Vanilla на Ubuntu 20.04 с Apache и защитите сайт SSL-сертификатом Let’s Encrypt.

Что вам нужно (требования)

  • Сервер с Ubuntu 20.04.
  • Домен (например, forum.example.com), указывающий на этот сервер.
  • Доступ root или пользователь с sudo-привилегиями.

Краткий план установки

  1. Установить LAMP (Apache, MariaDB, PHP) и расширения PHP.
  2. Настроить php.ini (память, лимиты, timezone).
  3. Защитить MariaDB и создать базу/пользователя для Vanilla.
  4. Скачать и развернуть пакет Vanilla.
  5. Настроить виртуальный хост Apache.
  6. Установить Certbot и подключить HTTPS.
  7. Завершить установку через веб-интерфейс и проверить работу.

Установка LAMP и зависимостей

Установите Apache, MariaDB, PHP 7.4 и требуемые расширения одной командой:

apt-get install apache2 mariadb-server php7.4 libapache2-mod-php7.4 php7.4-common php7.4-mysql php7.4-cli php7.4-opcache php7.4-gd php7.4.intl php7.4-curl php7.4-cli php7.4-imap php7.4-mbstring php7.4-soap php7.4-xmlrpc php7.4-xml php7.4-zip unzip git wget -y

После установки отредактируйте php.ini для Apache:

nano /etc/php/7.4/apache2/php.ini

Измените или добавьте значения (пример):

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Europe/Moscow

Важно: замените timezone на подходящую для вашей локации (например, Europe/Moscow или Asia/Novosibirsk).

Сохраните файл и закройте редактор. Затем перезапустите Apache, чтобы применить изменения:

systemctl reload apache2

Настройка базы данных MariaDB

Запустите скрипт безопасности MariaDB и задайте root-пароль:

mysql_secure_installation

Ответьте на вопросы скрипта (рекомендуется удалять анонимных пользователей, запретить удалённый вход root и удалить тестовую базу).

Войдите в MariaDB под root:

mysql -u root -p

Создайте базу данных и пользователя для Vanilla (замените password на надёжный пароль):

MariaDB [(none)]> CREATE DATABASE vanilladb;
MariaDB [(none)]> CREATE USER vanilla@localhost IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON vanilladb.* TO vanilla@localhost;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Совет: используйте отдельного пользователя и сложный пароль. При необходимости ограничьте доступ по IP.

Скачивание и размещение Vanilla

Скачайте текущий пакет Vanilla (пример команды из исходного руководства):

wget https://open.vanillaforums.com/get/vanilla-core-3-3.zip

Распакуйте архив:

unzip vanilla-core-3-3.zip

Перенесите каталог package в корень веб-сервера и задайте права:

mv package /var/www/html/vanilla
chown -R www-data:www-data /var/www/html/vanilla
chmod -R 755 /var/www/html/vanilla

Права 755 и владелец www-data подходят для типичного Apache-окружения. Если вы используете SELinux/AppArmor — учтите дополнительные настройки.

Настройка виртуального хоста Apache

Создайте файл конфигурации виртуального хоста:

nano /etc/apache2/sites-available/vanilla.conf

Вставьте (замените ServerName и ServerAdmin своими значениями):


     ServerAdmin [email protected]
     ServerName vanilla.linuxbuz.com
     DocumentRoot /var/www/html/vanilla/

     
          Options +FollowSymlinks
          AllowOverride All
          Require all granted
     

     ErrorLog /var/log/apache2/vanilla_error.log
     CustomLog /var/log/apache2/vanilla_access.log combined

Сохраните файл, затем включите сайт и перезагрузите Apache:

a2ensite vanilla.conf
systemctl reload apache2

Проверьте статус Apache:

systemctl status apache2

Ожидаемый результат — служба активна (active (running)). Если есть ошибки в конфигурации, systemctl выдаст подсказки.

Подключение HTTPS: Certbot и Let’s Encrypt

Установите Certbot и плагин для Apache:

apt-get install certbot python3-certbot-apache -y

Запустите установку сертификата (замените домен на ваш):

certbot --apache -d vanilla.linuxbuz.com

Во время работы Certbot вас попросят указать e‑mail и принять условия. В конце Certbot предложит перенаправлять ли HTTP на HTTPS — для новых сайтов рекомендуется выбрать редирект на HTTPS.

После успешного получения сертификата вы увидите пути к файлам сертификата в /etc/letsencrypt/live/<ваш-домен> и рекомендацию по регулярному обновлению certbot renew.

Важно: Certbot автоматически создаёт задачу в systemd/cron для обновления сертификатов. Проверьте автоматическое обновление командой:

certbot renew --dry-run

Завершение установки через веб-интерфейс

Откройте браузер и перейдите по HTTPS к вашему домену, например:

https://vanilla.linuxbuz.com

Заполните форму установки: настройки базы, название приложения, e‑mail администратора, логин и пароль. После подтверждения вы попадёте в административную панель Vanilla.

Экран настройки базы данных Vanilla

Экран настройки форума: параметры и информация администратора

Интерфейс административной панели Vanilla после установки

Главная страница форума Vanilla в браузере

Проверки и критерии приёмки

Критерии приёмки установки:

  • Сайт доступен по HTTPS и в браузере нет ошибок сертификата.
  • Административная панель Vanilla открывается и отображает дашборд.
  • Возможность входа под админом и создания новой темы/сообщения.
  • Логи Apache не содержат критических ошибок при запросах.
  • Certbot успешно прошёл dry-run для автоматического обновления сертификата.

Быстрая проверка после установки

  • systemctl status apache2
  • tail -n 100 /var/log/apache2/vanilla_error.log
  • mysql -u vanilla -p -e “SHOW DATABASES;” (проверить доступ пользователя к vanilladb)
  • curl -I https://vanilla.linuxbuz.com (проверить редирект и заголовки HTTPS)

Резервное копирование и откат (короткий план отката)

  1. Перед изменениями сделайте резервную копию базы: mysqldump vanilladb > vanilladb.sql
  2. Скопируйте каталог /var/www/html/vanilla в безопасное место: tar czf vanilla-backup.tgz /var/www/html/vanilla
  3. При критической проблеме восстановите файлы и импортируйте дамп: mysql -u root -p vanilladb < vanilladb.sql

Безопасность и рекомендации (дополнительно)

  • Привяжите поддержку HTTPS HSTS и минимальные ciphers в конфигурации Apache по необходимости.
  • Отключите или ограничьте доступ к phpinfo.php и другим инструментам отладки.
  • Регулярно обновляйте PHP, Vanilla и расширения. Подписывайтесь на уведомления безопасности.
  • Защитите папку /conf и /tmp от записи, если это безопасно для работы плагинов.
  • Настройте бэкап конфигурации /etc/letsencrypt и приватных ключей на отдельное хранилище.

Короткие рекомендации по безопасности:

  • Используйте сильные пароли и, если доступно, двухфакторную аутентификацию для админов.
  • Ограничьте доступ к SSH (ключи, блокировка root по паролю).
  • Регулярно проверяйте логи на подозрительную активность.

Диагностика типичных проблем и способы их решения

Проблема: страница установки возвращает 500.

  • Проверьте права и владельца файлов в /var/www/html/vanilla.
  • Просмотрите /var/log/apache2/vanilla_error.log и /var/log/apache2/error.log.
  • Убедитесь, что PHP расширения (например, php7.4-mbstring, php7.4-mysql) установлены.

Проблема: Certbot не может пройти проверку http-01.

  • Убедитесь, что DNS для домена указывает на сервер.
  • Проверьте, что порт 80 открыт и Apache отвечает.
  • Возможно, включён брандмауэр, который блокирует входящие запросы — откройте 80 и 443.

Проблема: база не подключается при веб-установке.

  • Проверьте параметры подключения (хост, пользователь, пароль).
  • Убедитесь, что пользователь vanilladb разрешён с localhost.
  • Посмотрите логи MariaDB (/var/log/mysql) на ошибки аутентификации.

Альтернативные подходы и миграция

Альтернативы развертывания:

  • Docker / Docker Compose — удобен для изоляции версий PHP и быстрых переносов.
  • Managed хостинг или PaaS с поддержкой PHP (быстрая настройка, но часто платно).

Миграция с других форумов:

  • Vanilla поддерживает импорт из популярных движков через плагины. Проверяйте совместимость версий и делайте резервные копии перед импортом.

Короткий чек-лист администратора (роль: системный администратор)

  • Настроен DNS и A-запись домена.
  • Установлены Apache, MariaDB, PHP и расширения.
  • Создана и протестирована база vanilladb и пользователь vanilla.
  • Установлен Certbot и сертификат получен.
  • Настроен редирект на HTTPS и проверено автоматическое обновление certbot renew.
  • Настроены бэкапы базы и файлов.
  • Проверены логи и права на файлы.

Краткий глоссарий (одна строка на термин)

  • LAMP — стек: Linux, Apache, MariaDB/MySQL, PHP.
  • Certbot — клиент Let’s Encrypt для автоматизации выдачи/обновления сертификатов.
  • SSO — Single Sign-On, единая авторизация.

Заключение

Поздравляем — вы установили Vanilla Forums на Ubuntu 20.04, настроили Apache и защитили сайт бесплатным сертификатом Let’s Encrypt. Поддерживайте регулярные обновления и бэкапы, следите за логами и безопасности. Если возникнут конкретные ошибки или нужна помощь с миграцией/ Docker-версией — опишите шаги, которые вы выполнили, и я помогу с диагностикой.

Important: всегда делайте резервные копии перед обновлением Vanilla или изменением структуры базы.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро