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

Установка Joomla на Debian 9 — пошаговое руководство

• 6 min read • CMS • Обновлено 22 Nov 2025
Установка Joomla на Debian 9 — пошагово
Установка Joomla на Debian 9 — пошагово

TL;DR

Кратко: обновите Debian 9, установите Apache, PHP 7.0 и MariaDB, создайте базу и пользователя, разверните файлы Joomla в /var/www/html/joomla и настройте виртуальный хост Apache. После этого откройте сайт в браузере и пройдите веб‑мастер установки. В конце проверьте безопасность и бэкап.

Введение

Joomla — популярная свободная система управления контентом (CMS), написанная на PHP и использующая базу данных MySQL или MariaDB. Подходит для сайтов, блогов, кастомных порталов и интранетов. Joomla имеет большую экосистему расширений (более 10 000 дополнений) и позволяет гибко настраивать функциональность.

Короткое определение терминов:

  • Joomla — CMS для управления веб‑контентом.
  • Apache — веб‑сервер для отдачи страниц.
  • MariaDB — форк MySQL, СУБД для хранения данных.

Важно: используйте непользовательский (non‑root) аккаунт с правами sudo для всех команд, если не указано иное.

Основные варианты запроса (SEO intent)

  • установка Joomla на Debian 9
  • Joomla Debian 9 Apache PHP MariaDB
  • пошаговая установка Joomla
  • настройка виртуального хоста Joomla

Требования

  • Сервер с Debian 9 (Stretch).
  • Статический IP 192.168.0.145 (или ваш IP/домен).
  • Непривилегированный пользователь с sudo.

1. Подготовка системы

Перед началом обновите систему до последних стабильных пакетов:

sudo apt-get update -y  
sudo apt-get upgrade -y

После обновления перезагрузите систему и войдите под пользователем с sudo.

2. Установка Apache

Apache — веб‑сервер, необходимый для Joomla. Установите Apache и модуль PHP для Apache:

sudo apt-get install apache2 libapache2-mod-php7.0 -y

Запустите сервис и включите автозапуск:

sudo systemctl start apache2  
sudo systemctl enable apache2

Проверьте, что сервер отвечает на локальные запросы (http://localhost).

3. Установка PHP 7.0 и нужных расширений

PHP 7 доступен в репозитории Debian 9. Установите PHP и набор расширений, необходимых для Joomla:

sudo apt-get install php7.0 php7.0-cli php7.0-mcrypt php7.0-intl php7.0-mysql php7.0-curl php7.0-gd php7.0-soap php7.0-xml php7.0-zip php7.0-readline php7.0-opcache php7.0-json php7.0-gd -y

Отредактируйте php.ini для Apache:

sudo nano /etc/php/7.0/apache2/php.ini

Обновите или установите параметры (приведён пример, укажите вашу временную зону):

memory_limit = 256M
upload_max_filesize = 32M
post_max_size = 32M
date.timezone = Europe/Moscow

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

sudo systemctl restart apache2

Важная заметка: установите date.timezone в соответствии с вашим регионом (пример: Europe/Moscow).

4. Установка и настройка MariaDB

Мы используем MariaDB как СУБД. Установите пакет:

sudo apt-get install mariadb-server -y

Запустите и включите сервис:

sudo systemctl start mysql  
sudo systemctl enable mysql

Защитите установку MariaDB:

sudo mysql_secure_installation

В ходе скрипта вам будут заданы вопросы. Обычно рекомендуется:

  • задать или подтвердить root‑пароль;
  • удалить анонимных пользователей;
  • запретить удалённый вход под root;
  • удалить тестовую базу;
  • перезагрузить таблицы привилегий.

(Интерактивный вывод скрипта показан в исходном руководстве.)

После защиты создайте базу и пользователя для Joomla:

mysql -u root -p

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

CREATE DATABASE joomla_db;
CREATE USER joomla@localhost;
SET PASSWORD FOR 'joomla'@'localhost' = PASSWORD("password");
GRANT ALL PRIVILEGES ON joomla_db.* TO 'joomla'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;

Замените ‘password’ на надёжный пароль и при желании используйте другое имя БД/пользователя.

Важно: для продакшна создайте пользователя с ограниченными правами (только на нужную базу).

5. Установка Joomla

Скачайте пакет Joomla (в примере — релиз с GitHub):

wget https://github.com/joomla/joomla-cms/releases/download/3.7.3-rc1/Joomla_3.7.3-rc1-Release_Candidate-Full_Package.tar.gz

Распакуйте в директорию веб‑корня и установите права:

sudo mkdir /var/www/html/joomla  
sudo tar -xvzf Joomla_3.7.3-rc1-Release_Candidate-Full_Package.tar.gz -C /var/www/html/joomla
sudo chown -R www-data:www-data /var/www/html/joomla  
sudo chmod -R 750 /var/www/html/joomla

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

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

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


ServerAdmin [email protected]
DirectoryIndex index.php
DocumentRoot /var/www/html/joomla
ServerName 192.168.0.145
ServerAlias www.yourdomain.com

Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all

ErrorLog /var/log/apache2/joomla-error_log
CustomLog /var/log/apache2/joomla-access_log common

Сохраните файл и примените сайт:

sudo a2dissite 000-default  
sudo a2ensite joomla
sudo systemctl restart apache2

Примечание: директивы Order/allow устарели в современных версиях Apache — для Apache 2.4 используйте Require all granted и соответствующие директивы.

6. Доступ к веб‑установке Joomla

Если на сервере включён UFW, откройте HTTP‑порт:

sudo ufw enable
sudo ufw allow http
sudo ufw status

Откройте в браузере http://192.168.0.145 или http://yourdomain.com и пройдите шаги установки через веб‑интерфейс. Заполните поля Site Name, Admin Email, Admin Username, Admin Password и данные базы (Host, DB user, DB password, DB name, Table Prefix).

Главные настройки установки Joomla

Настройка базы данных Joomla

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

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

Вход в админку Joomla

Панель управления Joomla

Поздравляем — Joomla установлена на Debian 9.


Практические рекомендации по безопасности (харднинг)

Important: безопасность — не опция. Пройдите этот чек‑лист сразу после установки:

  • Удалите установочные папки и example‑файлы, если они остались.
  • Поменяйте префикс таблиц базы данных при установке (оставьте не trvial_).
  • Ограничьте доступ к /administrator по IP или включите двухфакторную аутентификацию для админки.
  • Настройте HTTPS (Let’s Encrypt). Команды примера:
    • Установите certbot и получите сертификат.
    • Активируйте редирект 80→443.
  • Регулярно делайте резервные копии файлов и базы.
  • Обновляйте ядро Joomla и расширения сразу после выхода патчей.

Дополнительно: используйте модуль‑WAF (например, ModSecurity) и следите за правами на файловой системе (www‑data должно иметь только нужные права).

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

  • Nginx вместо Apache: более легковесен, но требует другой конфигурации PHP‑FPM и блоков server.
  • PostgreSQL вместо MariaDB/MySQL: Joomla поддерживает PostgreSQL, но проверяйте совместимость расширений.
  • Docker/K8s: контейнеризация упрощает переносимость и масштабирование.

Когда выбирать альтернативу: для высоконагруженных сайтов стоит рассмотреть Nginx + PHP‑FPM или контейнеры.

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

  • Если вы используете Debian 11/12 или другую ОС — команды и пакеты отличаются.
  • Если вам нужна последняя версия PHP (>7.0) — в старых репозиториях Debian 9 её может не быть.
  • Для минимальных облачных образов с ограниченным диском лучше настраивать более компактную стэк (Nginx).

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

  • Сайт открывается по адресу и показывает страницу установки Joomla.
  • Успешное подключение к базе данных и создание схемы Joomla.
  • Вход в /administrator под созданной учётной записью.
  • Правильные права на /var/www/html/joomla (владелец www‑data, права не более 750).
  • HTTPS настроен и действует (рекомендация для продакшна).

Ролевые чек‑листы

Администратор сервера:

  • Обновить Debian и установить пакеты.
  • Настроить брандмауэр и HTTPS.
  • Настроить ротацию логов и бэкапы.

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

  • Установить моди и плагины Joomla.
  • Проверить совместимость с PHP‑версиями.
  • Настроить CI/CD для развертывания расширений.

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

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

Тестовые сценарии и приёмка

  1. Установка: пройти все шаги установки через веб‑интерфейс без ошибок.
  2. Функциональность: создать статью, опубликовать её, проверить вывод на фронте.
  3. База данных: убедиться, что таблицы созданы и данные записываются.
  4. Безопасность: попытаться зайти в админку с другого IP, если включено ограничение — доступ закрыт.

Мини‑методология развёртывания (шаблон действий)

  1. Подготовка окружения: обновление, создание пользователя с sudo.
  2. Установка веб‑сервера и PHP, настройка php.ini.
  3. Установка СУБД, защита и создание БД/пользователя.
  4. Развёртывание файлов Joomla, права и виртуальный хост.
  5. Веб‑установка и первичная конфигурация.
  6. Харднинг: SSL, бэкап, обновления.

Миграция и совместимость

  • При миграции с другой версии PHP или Debian проверяйте совместимость расширений.
  • Снимите дамп базы (mysqldump) и перенесите файлы сайта. Проверьте префиксы таблиц и конфигурацию configuration.php.

Краткая галерея крайних случаев

  • Не запускается Apache: проверьте логи /var/log/apache2/ и конфигурацию виртуальных хостов.
  • Ошибка подключения к базе: проверьте пользователя, пароль и host (обычно localhost).
  • Ошибки прав доступа: исправьте владельца и права на директории.

Однострочный глоссарий

  • CMS — система управления контентом; Joomla — одна из таких CMS.
  • VirtualHost — конфигурация сайта в Apache.
  • php.ini — файл настроек PHP.

Заключение

Установка Joomla на Debian 9 — процесс линейный: подготовка системы, веб‑сервер, PHP, СУБД, файлы и веб‑установка. В продакшне ключевые шаги — безопасность, SSL и регулярные обновления.

Важно: замените примерные пароли и IP/домен на реальные значения и храните бэкапы.


Короткая памятка: после установки сразу настройте HTTPS, сделайте резервную копию и обновите ядро и расширения Joomla.

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