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

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-адресу вашего домена, например:
Вы попадёте в веб-мастер установки. Заполните поля: название сайта, административный e‑mail, имя пользователя администратора и пароль, затем нажмите Next.

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

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

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

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

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

Критерии приёмки
- Сайт доступен по 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’).
Мини-методология обновлений и отката
- На тестовом стенде выполните полное обновление Joomla и расширений.
- Сделайте резервную копию базы и файлов (mysqldump + архив каталога).
- Примените обновления на проде вне пиковых часов.
- В случае ошибки — откатите файлы и базу из резервной копии и проанализируйте логи.
Пример команды для резервного копирования базы:
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).
Шаблон действий при инциденте (короткий)
- Переключить сайт в режим обслуживания (Maintenance).
- Снять полные бэкапы файлов и базы.
- Просмотреть последние логи Apache и PHP.
- Если проблема связана с обновлением — выполнить откат из резервной копии.
- Оповестить команду и зафиксировать постмортем.
Социальная выдача (предпросмотр)
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
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента