VPS для Joomla: разворачиваем движок правильно
Joomla требовательнее WordPress к настройке PHP и правам доступа, зато на выделенном VPS раскрывается полностью. Соберём стек, поставим последнюю версию, настроим nginx и SSL — и разберём частые ошибки, на которых спотыкаются новички.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Готовим сервер и стек LEMP
Joomla работает на связке nginx + PHP-FPM + MariaDB. Ставим всё сразу с расширениями, которые движок проверяет на старте.
apt update && apt upgrade -y
apt install nginx mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl -y
systemctl enable --now nginx mariadb php8.2-fpm
Расширение php-intl обязательно — без него Joomla ругается на мультиязычность ещё в мастере установки.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS для JoomlaБаза данных под Joomla
Защищаем MariaDB и создаём отдельную базу:
mysql_secure_installation
mysql -u root -p
CREATE DATABASE joomla_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'joomla_user'@'localhost' IDENTIFIED BY 'СложныйПароль123';
GRANT ALL PRIVILEGES ON joomla_db.* TO 'joomla_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Скачиваем и распаковываем Joomla
Берём свежий релиз с GitHub и распаковываем в корень сайта:
mkdir -p /var/www/joomla && cd /var/www/joomla
curl -L -o joomla.zip https://github.com/joomla/joomla-cms/releases/download/5.1.2/Joomla_5.1.2-Stable-Full_Package.zip
apt install unzip -y && unzip joomla.zip
chown -R www-data:www-data /var/www/joomla
chmod -R 755 /var/www/joomla
Проверяйте актуальный номер версии на странице релизов — ссылку легко подставить под последний стабильный пакет.
Конфиг nginx для Joomla
Создаём /etc/nginx/sites-available/joomla. Ключевой момент — правильная обработка SEF-ссылок:
server {
listen 80;
server_name ваш-домен.ru;
root /var/www/joomla;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
location ~* /(configuration\.php|\.git) {
deny all;
}
}
ln -s /etc/nginx/sites-available/joomla /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
SSL, права и запуск мастера
Выпускаем бесплатный сертификат:
apt install certbot python3-certbot-nginx -y
certbot --nginx -d ваш-домен.ru
Открываем сайт и проходим веб-установщик: указываем данные базы (joomla_db, joomla_user) и создаём администратора. После установки Joomla попросит удалить каталог установки:
rm -rf /var/www/joomla/installation
- Частая ошибка: белый экран — почти всегда не хватает php-расширения, смотрите
tail -f /var/log/nginx/error.log. - NVMe-диск MAATRIX ускоряет админку Joomla, которая активно читает мелкие файлы шаблонов.
Кэш и оптимизация Joomla
У Joomla встроенный кэш из коробки — включите его в System → Global Configuration → System, выставив Cache: ON (Conservative) и разумное время жизни, например 15 минут. Это резко снижает число запросов к базе на статичных страницах.
Дополнительно включите Gzip Page Compression там же, в разделе Server — движок сам сожмёт вывод, даже если что-то не поймал nginx. А для PHP не забудьте OPcache, он одинаково полезен любой CMS:
opcache.enable=1
opcache.memory_consumption=192
opcache.revalidate_freq=2
systemctl restart php8.2-fpm
Отдельно защитите служебные каталоги: доступ к administrator/ можно ограничить по IP прямо в конфиге nginx, чтобы боты не перебирали пароли к панели:
location /administrator/ {
allow ВАШ_IP;
deny all;
}
После правок перечитайте конфиг и проверьте, что панель открывается только с вашего адреса. Такой набор — кэш, gzip, OPcache и защита админки — делает Joomla быстрой и заметно устойчивее к атакам.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS для JoomlaОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Какая версия PHP нужна для Joomla?
Joomla 5 требует PHP 8.1+. Ставьте 8.2 — это оптимальный баланс скорости и совместимости расширений. Проверьте версию: php -v.
Почему после установки не работают ссылки?
Включите SEF и mod_rewrite-аналог в конфиге nginx через try_files, как в примере выше. В админке — Global Configuration → SEO → Use URL Rewriting: Yes.
Сколько RAM нужно Joomla?
Для среднего сайта достаточно 2 ГБ. Много расширений и трафика — берите 4 ГБ. На MAATRIX можно начать с младшего плана и апгрейдить по мере роста.