Установка 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 установлена на 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 для развертывания расширений.
Контент‑менеджер:
- Подготовить структуру меню и материалов.
- Настроить шаблон и основные модули.
- Проверить права доступа пользователей.
Тестовые сценарии и приёмка
- Установка: пройти все шаги установки через веб‑интерфейс без ошибок.
- Функциональность: создать статью, опубликовать её, проверить вывод на фронте.
- База данных: убедиться, что таблицы созданы и данные записываются.
- Безопасность: попытаться зайти в админку с другого IP, если включено ограничение — доступ закрыт.
Мини‑методология развёртывания (шаблон действий)
- Подготовка окружения: обновление, создание пользователя с sudo.
- Установка веб‑сервера и PHP, настройка php.ini.
- Установка СУБД, защита и создание БД/пользователя.
- Развёртывание файлов Joomla, права и виртуальный хост.
- Веб‑установка и первичная конфигурация.
- Харднинг: 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.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента