Установка Joomla на Rocky Linux 8 с Nginx
Введение
Joomla — свободная CMS на PHP. Она подходит для блогов, новостных сайтов, интернет‑магазинов и других динамичных сайтов. Эта инструкция пошагово показывает, как установить Joomla на Rocky Linux 8 с веб‑сервером Nginx и базой данных MariaDB.
Важно: в примерах используются права и пути по умолчанию. Замените placeholder’ы (пароли, server_name, IP) на реальные значения в вашей среде.
Требования
- Сервер с Rocky Linux 8.
- Доступ root или пользователь с sudo.
- Настроенный root‑пароль или sudo.
Содержание (быстрая навигация)
- Обновление системы
- Установка Nginx и MariaDB
- Установка PHP и PHP‑FPM (7.4)
- Создание базы данных для Joomla
- Скачивание и распаковка Joomla
- Конфигурация Nginx для Joomla
- Проверка установки в браузере
- Рекомендации по безопасности
- Критерии приёмки и тесты
- Частые ошибки и их решения
Часть 1 — Обновление ОС
Обновите систему:
dnf update -yЧасть 2 — Установка Nginx и MariaDB
Установите Nginx:
dnf install nginxЗапустите сервис, включите автозапуск и проверьте статус:
systemctl start nginx
systemctl enable nginx
systemctl status nginxУстановите MariaDB:
dnf install mariadb-server mariadb -yЗапустите MariaDB, включите автозапуск и проверьте статус:
systemctl start mariadb
systemctl enable mariadb
systemctl status mariadbСовет: если в вашей сети включён файрвол, откройте порты HTTP/HTTPS:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reloadЧасть 3 — Установка PHP и PHP‑FPM
Rocky Linux 8 по умолчанию содержит старую версию PHP. Сбросьте текущий модуль и включите PHP 7.4:
dnf module reset php
dnf module enable php:7.4Установите PHP 7.4, PHP‑FPM и расширения, необходимые Joomla:
dnf install php php-fpm php-curl php-xml php-zip php-mysqlnd php-intl php-gd php-json php-ldap php-mbstring php-opcache unzipОтредактируйте /etc/php.ini для базовой настройки производительности:
vim /etc/php.iniИзмените (или добавьте) значения:
memory_limit = 256M
output_buffering = Off
max_execution_time = 300
upload_max_filesize = 30M
post_max_size = 30MСохраните файл.
Настройте PHP‑FPM, чтобы процессы работали от пользователя nginx. Откройте пул:
vim /etc/php-fpm.d/www.confУстановите значения:
user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660Примените права к каталогу библиотеки PHP:
chown -R nginx:nginx /var/lib/php/Запустите и включите PHP‑FPM:
systemctl start php-fpm
systemctl status php-fpm
systemctl enable php-fpmПримечание: если вы предпочитаете соединение PHP‑FPM по TCP, listen можно выставить как 127.0.0.1:9000 и скорректировать fastcgi_pass в конфигурации Nginx.
Часть 4 — Создание базы данных для Joomla
Войдите в оболочку MariaDB:
mysqlВнутри MariaDB создайте базу и пользователя (замените your_password реальным паролем):
CREATE DATABASE joomladb;
GRANT ALL ON joomladb.* TO 'joomlauser'@'localhost' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;
EXIT;Совет: для production используйте сложный пароль и рассмотрите ограничение доступа по хостам.
Часть 5 — Скачивание Joomla
Перейдите на официальный сайт загрузок и скачайте последний стабильный пакет. Пример с wget (версию заменяйте на актуальную):
wget https://downloads.joomla.org/cms/joomla4/4-1-0/Joomla_4-1-0-Stable-Full_Package.tar.gz?format=gzСоздайте директорию в веб‑корне и распакуйте в неё:
mkdir -p /var/www/html/joomla
tar -xvf Joomla_4-1-0-Stable-Full_Package.tar.gz\?format\=gz -C /var/www/html/joomla/Установите владельца и права:
chown -R nginx:nginx /var/www/html/joomla
chmod -R 755 /var/www/html/joomlaЕсли SELinux включён, установите контекст для каталогов сайта:
chcon -R -t httpd_sys_rw_content_t /var/www/html/joomla
setsebool -P httpd_can_network_connect_db 1Часть 6 — Конфигурация Nginx для Joomla
Создайте виртуальный хост:
vim /etc/nginx/conf.d/joomla.confВставьте конфигурацию (замените server_name на ваш домен или IP):
server {
listen 80;
root /var/www/html/joomla;
index index.php index.html index.htm;
server_name 46.101.205.134;
access_log /var/log/nginx/joomla_access.log;
error_log /var/log/nginx/joomla_error.log;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}Сохраните файл и перезапустите Nginx:
systemctl restart nginxЕсли используете HTTPS, настройте сертификат (Let’s Encrypt / certbot) и добавьте слушатель 443.
Часть 7 — Доступ к сайту и веб‑установка
Откройте в браузере http://your_server_ip или ваш домен. Веб‑инсталлятор Joomla предложит последовательность шагов:
- Введите имя сайта, учётную запись администратора и пароль.
- На этапе базы данных укажите тип, хост (обычно localhost), имя базы, имя пользователя и пароль.
- Проверьте параметры и нажмите «Установить». После успешной установки увидите сообщение об успешной установке и ссылку на административную панель.
Изображения интерфейса установки:






Рекомендации по безопасности и эксплуатации
- Удалите установочные директории, если их создаёт Joomla, после инсталляции.
- Регулярно обновляйте Joomla, расширения и систему.
- Используйте HTTPS и HSTS для защищённого соединения.
- Ограничьте доступ к /administrator по IP или через двухфакторную аутентификацию.
- Для бэкапов используйте регулярное резервирование файлов и дампов базы данных.
Пример команды для дампа базы:
mysqldump -u joomlauser -p joomladb > /root/joomla_full_backup.sqlКритерии приёмки
- Главная страница сайта загружается по адресу http://ваш_сервер_ip без ошибок.
- Веб‑инсталлятор завершился успешно, отображается сообщение о готовности.
- Вход в административную панель /administrator выполнен с учётными данными администратора.
- Сайт корректно читает и записывает файлы (загрузка изображений, установка расширений).
Тестовые сценарии и проверки
- Открыть главную страницу — ожидаемый результат: HTTP 200.
- Войти в /administrator — ожидаемый результат: перенаправление в панель администратора.
- Загрузить изображение в медиа‑менеджер — ожидаемый результат: файл появляется и доступен по URL.
- Установить простое расширение через админку — ожидаемый результат: расширение установлено без ошибок.
Частые проблемы и способы решения
502 Bad Gateway после настройки PHP‑FPM:
- Проверьте, что php-fpm запущен и что fastcgi_pass соответствует listen в php-fpm (unix socket или host:port).
- Проверьте права на сокет /var/run/php-fpm/php-fpm.sock и владельца nginx.
Ошибки прав при загрузке файлов:
- Проверьте владельца и права /var/www/html/joomla.
- При включённом SELinux примените chcon, как указано выше.
Нет соединения с базой данных:
- Проверьте правильность имени базы, имени пользователя и пароля.
- Для локального соединения попробуйте 127.0.0.1 вместо localhost.
Резервные альтернативы и масштабирование
- Если вы предпочитаете Apache, аналогичная инструкция применима для Apache + mod_php или Apache + php-fpm.
- Для высокой нагрузки используйте отдельный сервер баз данных, кеширование (Redis/OPcache) и CDN.
Контрольные списки по ролям
Администратор инфраструктуры:
- Установить и настроить Nginx, PHP‑FPM, MariaDB.
- Настроить файрвол и SELinux.
- Настроить бэкапы и мониторинг.
Разработчик / интегратор:
- Проверить совместимость расширений с Joomla 4.
- Настроить окружение разработки и деплой.
Контент‑менеджер:
- Проверить шаблон и структуру меню.
- Добавить тестовый материал и проверить загрузку медиа.
Короткая методология установки (шаги высокого уровня)
- Обновить систему.
- Установить Nginx и MariaDB.
- Установить PHP 7.4 и расширения.
- Создать базу данных и пользователя.
- Скопировать и распаковать файлы Joomla в веб‑корень.
- Настроить Nginx и SELinux/права.
- Пройти веб‑установку и проверить функциональность.
Глоссарий (1‑строчные определения)
- Nginx — лёгкий и быстрый веб‑сервер/реверс‑прокси.
- PHP‑FPM — менеджер процессов PHP для обработки PHP‑скриптов.
- MariaDB — форк MySQL, СУБД.
- SELinux — модуль безопасности ядра Linux с политиками доступа.
Итог
Вы успешно установили Joomla на Rocky Linux 8 с Nginx. Следующие шаги — подключить HTTPS, настроить резервное копирование и периодические обновления, а также протестировать функциональность сайта и расширений.
Важно: если возникнут вопросы по конкретным ошибкам, приложите логи /var/log/nginx/joomla_error.log и вывод systemctl status для служб.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента