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

Установка Joomla на Ubuntu 20.04 с Apache и Let's Encrypt

• 5 min read • DevOps • Обновлено 24 Nov 2025
Установка Joomla на Ubuntu 20.04 с SSL
Установка Joomla на Ubuntu 20.04 с SSL

Обложка: экран установки Joomla

Joomla — бесплатная CMS на PHP с поддержкой MySQL/MariaDB. В этой инструкции показано, как установить Joomla на Ubuntu 20.04 с Apache и защитить сайт сертификатом Let’s Encrypt. Следуйте шагам: установка LAMP, создание базы данных, загрузка Joomla, настройка виртуального хоста Apache и получение SSL через Certbot.

Коротко о том, что нужно знать

Joomla — система управления контентом (CMS). Определение: CMS — ПО для публикации и управления веб-контентом. Joomla использует модель MVC, написана на PHP и хранит данные в MariaDB/MySQL.

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

  • Сервер с Ubuntu 20.04 и минимум 2 ГБ оперативной памяти.
  • Домен, указывающий на ваш сервер (A-запись).
  • Пароль root или доступ по sudo на сервере.

Важно: в командах и конфигурациях ниже заменяйте примеры доменов и паролей на свои значения.

Установка LAMP (Apache, MariaDB, PHP)

Установите Apache, MariaDB, PHP и необходимые расширения. На Ubuntu 20.04 пример команды:

apt-get install apache2 mariadb-server php7.4 libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-json php7.4-opcache php7.4-mbstring php7.4-intl php7.4-xml php7.4-gd php7.4-zip php7.4-curl php7.4-xmlrpc unzip -y

После установки отредактируйте php.ini для Apache:

nano /etc/php/7.4/apache2/php.ini

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

memory_limit = 512M
upload_max_filesize = 256M
post_max_size = 256M
output_buffering = Off
max_execution_time = 300
date.timezone = Asia/Kolkata

Совет: замените date.timezone на ваш часовой пояс, например Europe/Moscow.

Сохраните файл и перезапустите Apache при необходимости:

systemctl restart apache2

Создание базы данных для Joomla

Сначала защитите установку MariaDB и задайте пароль root:

mysql_secure_installation

Отвечайте на подсказки, задайте сложный пароль root и удалите тестовые учётные записи.

Затем войдите в MariaDB:

mysql -u root -p

Внутри MariaDB создайте базу и пользователя (замените имя базы, пользователя и пароль на свои):

MariaDB [(none)]> CREATE DATABASE joomladb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
MariaDB [(none)]> GRANT ALL ON joomladb.* TO 'joomla'@'localhost' IDENTIFIED BY 'password';

Финализируйте и выйдите:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Важно: используйте сильный пароль вместо ‘password’.

Загрузка и установка Joomla

Скачайте пакет Joomla (в примере — конкретная версия). Перед применением проверьте на официальном сайте актуальную версию:

wget https://downloads.joomla.org/cms/joomla3/3-9-18/Joomla_3-9-18-Stable-Full_Package.zip

Распакуйте файлы в директорию веб-сервера:

unzip Joomla_3-9-18-Stable-Full_Package.zip -d /var/www/html/joomla

Установите владельца www-data для корректной работы веб-сервера:

chown -R www-data:www-data /var/www/html/joomla

При необходимости настройте права доступа (умеренно, избегайте 777).

Настройка Apache для Joomla

Создайте виртуальный хост Apache (замените ServerName на ваш домен):

nano /etc/apache2/sites-available/joomla.conf

Добавьте:


  ServerName joomla.linuxbuz.com
  DirectoryIndex index.html index.php
  DocumentRoot /var/www/html/joomla

  ErrorLog ${APACHE_LOG_DIR}/joomla-error.log
  CustomLog ${APACHE_LOG_DIR}/joomla-access.log combined

  
      Options FollowSymLinks
      AllowOverride All
      Require all granted
  

Сохраните файл, затем включите сайт и перезапустите Apache:

a2ensite joomla
systemctl restart apache2

Примечание: AllowOverride All включает поддержку .htaccess (нужна для Joomla и чистых URL).

Защита сайта через Let’s Encrypt (Certbot)

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

apt-get install certbot python3-certbot-apache -y

Запустите Certbot для получения сертификата (замените домен):

certbot --apache -d joomla.linuxbuz.com

Во время работы Certbot укажите адрес электронной почты и согласие с условиями. В конце вам предложат перенаправление HTTP на HTTPS — для новых сайтов выберите «Redirect».

Пример вывода 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]
...
Congratulations! You have successfully enabled https://joomla.linuxbuz.com

После установки сертификата файлы будут храниться в /etc/letsencrypt/live/<ваш-домен>/. Регулярно проверяйте автоматическое обновление certbot renew.

Важно: сделайте резервную копию /etc/letsencrypt/ и приватных ключей.

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

Откройте браузер и перейдите по HTTPS-адресу вашего домена, например:

https://joomla.linuxbuz.com

Вы попадёте в веб-мастер установки. Заполните поля: название сайта, административный e‑mail, имя пользователя администратора и пароль, затем нажмите Next.

Экран мастера установки Joomla — заполнение основных данных

Далее укажите параметры базы данных (имя базы, пользователь, пароль) и продолжите установку:

Экран мастера установки Joomla — настройки базы данных

На финальной странице мастера нажмите Install для завершения установки:

Завершение установки Joomla

После установки удалите директорию установки (кнопка в интерфейсе) и нажмите Administrator для перехода в панель управления:

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

Войдите под учётной записью администратора. После входа вы увидите дашборд Joomla:

Панель управления Joomla после входа

Откройте сайт по HTTPS, чтобы убедиться в корректной работе:

Вид фронтенда Joomla для посетителей

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

  • Сайт доступен по HTTPS с действующим сертификатом Let’s Encrypt.
  • Страницы Joomla корректно отображаются, установщик завершён и папка installation удалена.
  • Администратор может войти в панель управления и подключиться к базе данных.

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

  • Установите регулярное обновление пакетов и Joomla: sudo apt update && sudo apt upgrade; обновляйте расширения Joomla через панель.
  • Ограничьте доступ к базе данных по IP (если применимо) и используйте сложные пароли.
  • Настройте автоматическое обновление сертификатов: certbot renew и проверку в cron.
  • Делайте резервные копии файлов и базы (например, rsync + mysqldump) перед обновлениями.

Быстрый чек-лист администратора

  • SSL включён и работает
  • Директория installation удалена
  • Права на файлы корректны (www-data владелец)
  • Резервная копия настроена
  • Обновления включены и тестируются

Устранение распространённых проблем

  • Ошибка 500 после установки: проверьте логи Apache (/var/log/apache2/joomla-error.log) и права файлов.
  • Белая страница или PHP ошибки: проверьте настройку PHP в /etc/php/7.4/apache2/php.ini и включите display_errors временно для отладки.
  • Ошибка подключения к базе: проверьте правильность имени базы, пользователя и пароля, а также что MariaDB слушает локальные подключения.
  • Проблемы с HTTPS: проверьте, что порт 443 открыт в брандмауэре (ufw allow ‘Apache Full’).

Мини-методология обновлений и отката

  1. На тестовом стенде выполните полное обновление Joomla и расширений.
  2. Сделайте резервную копию базы и файлов (mysqldump + архив каталога).
  3. Примените обновления на проде вне пиковых часов.
  4. В случае ошибки — откатите файлы и базу из резервной копии и проанализируйте логи.

Пример команды для резервного копирования базы:

mysqldump -u root -p joomladb > joomladb-$(date +%F).sql

Дополнительные уровни жёсткости безопасности

  • Отключите XML-RPC, если не используется.
  • Запретите доступ к /administrator по IP или включите двухфакторную аутентификацию для администратора.
  • Настройте CSP/HTTP Strict Transport Security (HSTS) в конфигурации Apache для повышения безопасности.

Быстрая проверка производительности (ориентииры)

  • Минимум 2 ГБ ОЗУ для небольших сайтов; для магазинов/много посетителей — 4+ ГБ.
  • Используйте OPcache (включён в списке пакетов) и при необходимости кеширование на уровне Joomla или reverse-proxy (Varnish).

Шаблон действий при инциденте (короткий)

  1. Переключить сайт в режим обслуживания (Maintenance).
  2. Снять полные бэкапы файлов и базы.
  3. Просмотреть последние логи Apache и PHP.
  4. Если проблема связана с обновлением — выполнить откат из резервной копии.
  5. Оповестить команду и зафиксировать постмортем.

Социальная выдача (предпросмотр)

OG title: Установка Joomla на Ubuntu 20.04 с SSL OG description: Пошаговая инструкция по установке Joomla на Ubuntu 20.04 с Apache, настройке базы данных и защитой сайта сертификатом Let’s Encrypt.

Итог

Вы установили Joomla и защитили сайт SSL-сертификатом Let’s Encrypt. Дальше поддерживайте обновления, резервное копирование и базовые настройки безопасности. Если нужны дополнительные инструкции по миграции, настройке расширений или ускорению — задайте вопрос.

Сводка действий:

  • Установить LAMP
  • Создать базу и пользователя
  • Развернуть файлы Joomla
  • Настроить виртуальный хост Apache
  • Получить SSL с помощью Certbot
Поделиться: 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 быстро