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

Установка Joomla CMS с Apache и Let's Encrypt на Alma Linux 8

• 6 min read • CMS • Обновлено 22 Nov 2025
Установка Joomla на Alma Linux 8 с Apache и SSL
Установка Joomla на Alma Linux 8 с Apache и SSL

Зачем это нужно

Joomla — бесплатная и популярная система управления контентом (CMS). Она позволяет быстро запустить сайт или блог без навыков программирования. В этом руководстве шаг за шагом описано, как развернуть Joomla на Alma Linux 8 с Apache и обеспечить HTTPS через Let’s Encrypt.

Содержание

  • Предварительные требования
  • Установка LAMP (Apache, PHP, MariaDB)
  • Настройка PHP
  • Создание базы данных MariaDB
  • Загрузка и установка файлов Joomla
  • Конфигурация Apache (виртуальный хост)
  • Настройка firewall
  • Веб-мастер установки Joomla
  • Установка и настройка Let’s Encrypt (Certbot)
  • Технические советы: отладка и безопасность
  • Альтернативы и когда этот подход не подходит
  • Чеклисты для ролей
  • Краткое резюме

Предварительные требования

  • Сервер с Alma Linux 8 (root-доступ).
  • Действующий домен, указывающий на IP вашего сервера (пример: joomla.example.com).
  • Настроен root-пароль или доступ по sudo для управления системой.

Установка LAMP-сервера

Joomla работает на веб-сервере Apache, написана на PHP и использует MariaDB как СУБД. Установите необходимые пакеты:

dnf install httpd @mariadb php php-curl php-xml php-zip php-mysqlnd php-intl php-gd php-json php-ldap php-mbstring php-opcache unzip curl wget -y

После установки отредактируйте главный файл конфигурации PHP:

nano /etc/php.ini

Измените или добавьте следующие параметры:

memory_limit = 256M
output_buffering = Off
max_execution_time = 300
date.timezone = UTC

Сохраните файл и запустите/включите службы Apache и MariaDB:

systemctl start httpd mariadb
systemctl enable httpd mariadb

Важное: задавайте корректную временную зону (например, Europe/Moscow) в date.timezone, если нужно локальное время.

Конфигурация MariaDB (создание базы и пользователя)

Подключитесь к shell MariaDB:

mysql

Внутри MariaDB выполните:

MariaDB [(none)]> CREATE DATABASE joomla;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON joomla.* TO 'joomla'@'localhost' IDENTIFIED BY "securepassword";
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Замените securepassword на надёжный пароль. Запишите доступы — они понадобятся на этапе установки через веб.

Загрузка Joomla CMS

На момент написания примера в исходнике использовалась версия 4.1.2. Скачивание выполняется так:

wget https://downloads.joomla.org/cms/joomla4/4-1-2/Joomla_4-1-2-Stable-Full_Package.zip?format=zip -O joomla.zip

Распакуйте файлы в корень веб-сайта (пример: /var/www/html/joomla):

unzip joomla.zip -d /var/www/html/joomla

Назначьте правильные владельца и права:

chown -R apache:apache /var/www/html/joomla/
chmod -R 775 /var/www/html/joomla/

Пояснение: пользователь apache — это системный пользователь httpd в RHEL-подобных системах. Это обеспечивает корректный доступ веб-сервера к файлам.

Конфигурация Apache для Joomla

Создайте виртуальный хост:

nano /etc/httpd/conf.d/joomla.conf

Добавьте конфигурацию (отредактируйте ServerAdmin и ServerName под ваш домен):


   ServerAdmin [email protected]
   DocumentRoot "/var/www/html/joomla"
   ServerName joomla.example.com
   ErrorLog "/var/log/httpd/example.com-error_log"
   CustomLog "/var/log/httpd/example.com-access_log" combined


   DirectoryIndex index.html index.php
   Options FollowSymLinks
   AllowOverride All
   Require all granted

Сохраните и перезапустите Apache:

systemctl restart httpd

Проверка статуса:

systemctl status httpd

В выводе вы увидите состояние службы и PID процессов Apache.

Настройка firewall

Разрешите трафик HTTP/HTTPS:

firewall-cmd --add-service=http --zone=public --permanent
firewall-cmd --add-service=https --zone=public --permanent
firewall-cmd --reload

Доступ к веб-мастеру установки Joomla

Откройте браузер по адресу http://joomla.example.com и следуйте пошаговому мастеру установки:

![/files/d4a6a4e8-d90d-4177-9ed0-447b31510f4e.png]

Alt: Скриншот стартовой страницы установки Joomla с логотипом и выбором языка.

  1. Выберите язык и введите название сайта.
  2. На экране «Настройка входа» создайте администратора — логин и пароль.
  3. На экране подключения к базе укажите данные, созданные ранее (имя БД joomla, пользователь joomla и его пароль).
  4. Нажмите «Установить Joomla» и дождитесь завершения.

![/files/46aaa4d8-5cc5-4b0b-9e68-4e451f23953a.png]

Alt: Скриншот выбора языка и ввода имени сайта в мастере установки Joomla.

![/files/ffb51078-7b05-4008-a594-cd0c0294c7de.png]

Alt: Скриншот экрана создания учетной записи администратора в мастере Joomla.

![/files/54ddb98e-1cff-4bed-af05-537b774f662e.png]

Alt: Скриншот ввода параметров подключения к базе данных в мастере Joomla.

После успешной установки откройте панель администратора:

![/files/09e66778-932c-4c6d-81bc-0cd2ffffd4c0.png]

Alt: Скриншот экрана успешной установки Joomla с кнопкой для перехода в панель администратора.

![/files/a5d456a7-4c68-4030-9a13-185424f2db16.png]

Alt: Скриншот страницы входа в административную панель Joomla.

![/files/80acd6fc-d289-42e8-b639-01b37556ab7d.png]

Alt: Скриншот панели управления (Dashboard) Joomla после успешного входа.

Установка Let’s Encrypt SSL (Certbot)

Установите EPEL и Certbot для Apache:

dnf install epel-release -y
dnf install certbot python3-certbot-apache -y

Запустите Certbot для получения сертификата для вашего домена:

certbot --apache -d joomla.example.com

Во время процесса вас попросят указать email и принять условия обслуживания. В примере будет создан и установлен сертификат, и Certbot автоматически добавит перенаправление HTTP→HTTPS в конфигурацию Apache.

Пример вывода Certbot (сокращённо):

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): [email protected]

Do you agree? (Y)es/(N)o: Y

Requesting a certificate for joomla.example.com
Performing challenges:
http-01 challenge for joomla.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/httpd/conf.d/joomla.conf
Redirecting all traffic on port 80 to ssl in /etc/httpd/conf.d/joomla.conf

Congratulations! You have successfully enabled https://joomla.example.com

Важные заметки от Certbot (пример):

  • Сертификат сохранён в /etc/letsencrypt/live/joomla.example.com/fullchain.pem
  • Ключ: /etc/letsencrypt/live/joomla.example.com/privkey.pem
  • Срок действия сертификата показан в выводе (в примере: 09.07.2022).

Рекомендация: Certbot автоматически создаёт задачу для обновления сертификатов. Вы можете вручную протестировать обновление:

certbot renew --dry-run

Отладка и часто встречаемые проблемы

  • Ошибка 500 после установки: проверьте /var/log/httpd/error_log и права доступа к файлам Joomla.
  • Неверное подключение к базе: убедитесь, что имя БД, пользователь и пароль совпадают, и что MariaDB слушает локальные соединения.
  • Перенаправление на HTTP после установки сертификата: перезапустите Apache и очистите кэш браузера.
  • Certbot не может пройти проверку HTTP-01: проверьте, что DNS указывает на сервер и что firewall разрешает порт 80.

Краткий отладочный план:

  1. systemctl status httpd mariadb
  2. tail -n 100 /var/log/httpd/error_log
  3. tail -n 100 /var/log/letsencrypt/letsencrypt.log
  4. Проверить DNS командой: dig +short joomla.example.com

Безопасность и hardening (рекомендации)

  • Ограничьте доступ к панели администратора: используйте двухфакторную аутентификацию и/или IP-фильтры.
  • Регулярно обновляйте Joomla, расширения и шаблоны.
  • Настройте резервное копирование файлов и базы данных (периодические снимки и off-site копии).
  • Ограничьте права на файлы: избегайте 777; используйте 775/750 и владельца apache.
  • Включите автоматическое обновление сертификатов через systemd-timer/cron (certbot обычно создаёт задачу).
  • Используйте модуль ModSecurity и правила WAF при высоких требованиях к безопасности.

Альтернативные подходы

  • Nginx + PHP-FPM вместо Apache: лучше для высоконагруженных сайтов и меньшего потребления памяти.
  • Docker-контейнеры: упрощают переносимость и управление зависимостями (официальные/сообщественные образы Joomla + MariaDB).
  • Управляемый хостинг для Joomla: если вы не хотите администрировать сервер, можно выбрать провайдера с предустановленной CMS и бэкапами.

Когда этот подход не подходит:

  • Если у вас нет опыта системного администрирования и вы не хотите управлять обновлениями и бэкапами — рассмотрите управляемый хостинг.
  • Для очень высоких нагрузок лучше использовать масштабируемую инфраструктуру (балансировщики, кэширование и т.д.).

Чеклисты по ролям

Системный администратор:

  • Проверил DNS и firewall.
  • Установил и запустил httpd и mariadb.
  • Настроил права и владельца для /var/www/html/joomla.
  • Получил SSL-сертификат и проверил автоматическое обновление.

Разработчик / интегратор:

  • Подключился к административной панели.
  • Установил необходимые расширения и шаблон.
  • Проверил работу сайта в HTTPS и корректность ссылок.

Оператор безопасности:

  • Включил двухфакторную аутентификацию для админов.
  • Настроил резервное копирование и восстановление.
  • Внёс в мониторинг метрики: uptime, сертификат, свободное место на диске.

Мини-методология развертывания (шаги)

  1. Подготовка сервера и DNS.
  2. Установка LAMP и базовой конфигурации PHP.
  3. Создание БД и пользователя.
  4. Загрузка и размещение файлов Joomla.
  5. Настройка Apache и firewall.
  6. Запуск веб-мастера Joomla.
  7. Установка SSL и тесты.
  8. Бэкап и мониторинг.

Факт-бокс (ключевые числа и команды)

  • PHP memory_limit: 256M (рекомендуется для большинства сайтов).
  • max_execution_time: 300 секунд.
  • Права на директорию Joomla: 775.
  • Путь сертификатов Let’s Encrypt: /etc/letsencrypt/live/<ваш_домен>/

1‑строчный глоссарий

  • LAMP: стек Linux + Apache + MariaDB (MySQL) + PHP.
  • Certbot: клиент Let’s Encrypt для автоматического получения и установки SSL.

Критерии приёмки

  • Сайт доступен по HTTPS: https://joomla.example.com
  • Административная панель доступна и вход работает.
  • Автоматическое обновление сертификата прошло dry-run certbot renew –dry-run успешно.
  • Настроены регулярные бэкапы базы и файлов.

Краткий план отката (если установка пошла не так)

  1. Восстановить файлы сайта из бэкапа.
  2. Восстановить дамп базы данных.
  3. Откатить изменения в конфигурации /etc/httpd/conf.d/joomla.conf (например, заменить на предыдущую версию).
  4. Перезапустить службы: systemctl restart httpd mariadb.

Заключение

Поздравляем — вы установили Joomla на Alma Linux 8 с Apache и защитили сайт сертификатом Let’s Encrypt. Теперь можно настраивать плагины, шаблоны и наполнять сайт контентом. Если возникнут вопросы по конкретным ошибкам или расширениям, опишите проблему — я помогу с диагностикой.

Ресурсы для продолжения: официальная документация Joomla, руководство Certbot и документация Alma Linux.

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