VPS для Joomla: разворачиваем движок правильно
Joomla требовательнее WordPress к настройке PHP и правам доступа, зато на выделенном VPS раскрывается полностью. Соберём стек, поставим последнюю версию, настроим nginx и SSL — и разберём частые ошибки, на которых спотыкаются новички.
Содержание
Готовим сервер и стек LEMP
['Joomla работает на связке nginx + PHP-FPM + MariaDB. Ставим всё сразу с расширениями, которые движок проверяет на старте.', 'apt update && apt upgrade -y\napt 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;\nCREATE USER 'joomla_user'@'localhost' IDENTIFIED BY 'СложныйПароль123';\nGRANT ALL PRIVILEGES ON joomla_db.* TO 'joomla_user'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;"]
Скачиваем и распаковываем Joomla
['Берём свежий релиз с GitHub и распаковываем в корень сайта:', 'mkdir -p /var/www/joomla && cd /var/www/joomla\ncurl -L -o joomla.zip https://github.com/joomla/joomla-cms/releases/download/5.1.2/Joomla_5.1.2-Stable-Full_Package.zip\napt install unzip -y && unzip joomla.zip\nchown -R www-data:www-data /var/www/joomla\nchmod -R 755 /var/www/joomla', 'Проверяйте актуальный номер версии на странице релизов — ссылку легко подставить под последний стабильный пакет.']
Конфиг nginx для Joomla
['Создаём/etc/nginx/sites-available/joomla. Ключевой момент — правильная обработка SEF-ссылок:', 'server {\n listen 80;\n server_name ваш-домен.ru;\n root /var/www/joomla;\n index index.php;\n\n location / {\n try_files $uri $uri/ /index.php?$args;\n }\n\n location ~ \\.php$ {\n include snippets/fastcgi-php.conf;\n fastcgi_pass unix:/run/php/php8.2-fpm.sock;\n }\n\n location ~* /(configuration\\.php|\\.git) {\n deny all;\n }\n}', 'ln -s /etc/nginx/sites-available/joomla /etc/nginx/sites-enabled/\nnginx -t && systemctl reload nginx']
SSL, права и запуск мастера
['Выпускаем бесплатный сертификат:', 'apt install certbot python3-certbot-nginx -y\ncertbot --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\nopcache.memory_consumption=192\nopcache.revalidate_freq=2', 'systemctl restart php8.2-fpm', 'Отдельно защитите служебные каталоги: доступ к administrator/ можно ограничить по IP прямо в конфиге nginx, чтобы боты не перебирали пароли к панели:', 'location /administrator/ {\n allow ВАШ_IP;\n deny all;\n}', 'После правок перечитайте конфиг и проверьте, что панель открывается только с вашего адреса. Такой набор — кэш, gzip, OPcache и защита админки — делает Joomla быстрой и заметно устойчивее к атакам.']
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для JoomlaЧастые вопросы
Какая версия 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 можно начать с младшего плана и апгрейдить по мере роста.