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

Vanilla Forums — это бесплатное и открытое форумное ПО на PHP. Оно простое, гибкое, настраиваемое и мультиязычное. Vanilla предоставляет основные функции для работы сообщества: вход через социальные сети, единую авторизацию (SSO), встраиваемые форумы, импорт из других форумных движков, интеграции и множество расширений и тем.
В этом руководстве вы пошагово установите Vanilla на Ubuntu 20.04 с Apache и защитите сайт SSL-сертификатом Let’s Encrypt.
Что вам нужно (требования)
- Сервер с Ubuntu 20.04.
- Домен (например, forum.example.com), указывающий на этот сервер.
- Доступ root или пользователь с sudo-привилегиями.
Краткий план установки
- Установить LAMP (Apache, MariaDB, PHP) и расширения PHP.
- Настроить php.ini (память, лимиты, timezone).
- Защитить MariaDB и создать базу/пользователя для Vanilla.
- Скачать и развернуть пакет Vanilla.
- Настроить виртуальный хост Apache.
- Установить Certbot и подключить HTTPS.
- Завершить установку через веб-интерфейс и проверить работу.
Установка 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 к вашему домену, например:
Заполните форму установки: настройки базы, название приложения, e‑mail администратора, логин и пароль. После подтверждения вы попадёте в административную панель 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)
Резервное копирование и откат (короткий план отката)
- Перед изменениями сделайте резервную копию базы: mysqldump vanilladb > vanilladb.sql
- Скопируйте каталог /var/www/html/vanilla в безопасное место: tar czf vanilla-backup.tgz /var/www/html/vanilla
- При критической проблеме восстановите файлы и импортируйте дамп: 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 или изменением структуры базы.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента