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

Установка Joomla на Rocky Linux 8 с Nginx

• 5 min read • Инфраструктура • Обновлено 25 Nov 2025
Joomla на Rocky Linux 8 с Nginx
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 предложит последовательность шагов:

  1. Введите имя сайта, учётную запись администратора и пароль.
  2. На этапе базы данных укажите тип, хост (обычно localhost), имя базы, имя пользователя и пароль.
  3. Проверьте параметры и нажмите «Установить». После успешной установки увидите сообщение об успешной установке и ссылку на административную панель.

Изображения интерфейса установки:

Экран настройки данных для входа в установщик Joomla

Экран настройки подключения к базе данных в установщике Joomla

Подготовка к установке Joomla — подтверждение параметров

Сообщение о готовности сайта после установки Joomla

Вход в панель администратора Joomla

Панель администратора после входа

Рекомендации по безопасности и эксплуатации

  • Удалите установочные директории, если их создаёт 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.
  • Настроить окружение разработки и деплой.

Контент‑менеджер:

  • Проверить шаблон и структуру меню.
  • Добавить тестовый материал и проверить загрузку медиа.

Короткая методология установки (шаги высокого уровня)

  1. Обновить систему.
  2. Установить Nginx и MariaDB.
  3. Установить PHP 7.4 и расширения.
  4. Создать базу данных и пользователя.
  5. Скопировать и распаковать файлы Joomla в веб‑корень.
  6. Настроить Nginx и SELinux/права.
  7. Пройти веб‑установку и проверить функциональность.

Глоссарий (1‑строчные определения)

  • Nginx — лёгкий и быстрый веб‑сервер/реверс‑прокси.
  • PHP‑FPM — менеджер процессов PHP для обработки PHP‑скриптов.
  • MariaDB — форк MySQL, СУБД.
  • SELinux — модуль безопасности ядра Linux с политиками доступа.

Итог

Вы успешно установили Joomla на Rocky Linux 8 с Nginx. Следующие шаги — подключить HTTPS, настроить резервное копирование и периодические обновления, а также протестировать функциональность сайта и расширений.

Важно: если возникнут вопросы по конкретным ошибкам, приложите логи /var/log/nginx/joomla_error.log и вывод systemctl status для служб.

Поделиться: 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 быстро