// blog

Как установить и настроить Joomla на VPS Linux: полное руководство

September 03, 2026 · by Alex M.

Как установить и настроить Joomla на VPS Linux: полное руководство

Joomla — одна из самых популярных CMS в мире, которую используют более 2 миллионов веб-сайтов. Это мощная, гибкая и расширяемая платформа, идеально подходящая для корпоративных сайтов, порталов, интернет-магазинов и образовательных платформ. В этом полном руководстве вы узнаете, как установить и настроить Joomla на VPS NVMe под управлением Linux — от начала до полностью работающего и защищённого сайта.

Почему Joomla на VPS?

В отличие от shared хостинга cPanel, VPS даёт вам полный контроль над сервером: вы выбираете версию PHP, настраиваете веб-сервер под свои нужды и управляете ресурсами. Если ваш сайт растёт, VPS SSD или выделенный сервер станут следующим логичным шагом.

Преимущества Joomla на VPS:
- Полный контроль над конфигурацией PHP и веб-сервера
- Производительность выше, чем на shared хостинге
- Максимальная гибкость для расширений и шаблонов
- Масштабируемость — ресурсы можно увеличить в любой момент

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

Перед началом убедитесь, что у вас есть:
- VPS с Ubuntu 22.04 LTS (рекомендуется)
- SSH-доступ с правами root или sudo
- Домен, настроенный на IP-адрес VPS
- Установленный стек LEMP или LAMP (Nginx/Apache + MySQL/MariaDB + PHP)

Шаг 1: Обновление системы и установка зависимостей

Подключитесь к VPS через SSH и обновите пакеты:

sudo apt update && sudo apt upgrade -y

Joomla требует PHP 8.1 или новее. Установите PHP вместе с необходимыми расширениями:

sudo apt install php8.1 php8.1-fpm php8.1-mysql php8.1-xml php8.1-mbstring \
  php8.1-zip php8.1-curl php8.1-gd php8.1-intl php8.1-json \
  php8.1-opcache php8.1-bcmath -y

Проверьте установленную версию:

php -v

Шаг 2: Создание базы данных для Joomla

Joomla работает с MySQL или MariaDB. Подключитесь к MySQL:

sudo mysql -u root -p

Создайте базу данных, пользователя и назначьте права:

CREATE DATABASE joomla_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'joomla_user'@'localhost' IDENTIFIED BY 'OchenNadezhniyParol123!';
GRANT ALL PRIVILEGES ON joomla_db.* TO 'joomla_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Совет: Всегда используйте сложный пароль и отдельного пользователя для базы данных — никогда не используйте root.

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

Перейдите в директорию веб-сервера и загрузите последнюю версию Joomla:

cd /var/www/html
sudo mkdir joomla && cd joomla
sudo wget https://downloads.joomla.org/cms/joomla5/5-2-0/Joomla_5-2-0-Stable-Full_Package.zip
sudo apt install unzip -y
sudo unzip Joomla_5-2-0-Stable-Full_Package.zip
sudo rm Joomla_5-2-0-Stable-Full_Package.zip

Установите правильные права на файлы:

sudo chown -R www-data:www-data /var/www/html/joomla
sudo find /var/www/html/joomla -type f -exec chmod 644 {} \;
sudo find /var/www/html/joomla -type d -exec chmod 755 {} \;

Шаг 4: Настройка Nginx для Joomla

Создайте виртуальный хост Nginx для вашего домена:

sudo nano /etc/nginx/sites-available/joomla

Добавьте конфигурацию:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    root /var/www/html/joomla;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
        expires max;
        log_not_found off;
    }

    location ~ /\.ht {
        deny all;
    }
}

Активируйте сайт и проверьте конфигурацию:

sudo ln -s /etc/nginx/sites-available/joomla /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Шаг 5: Установка SSL-сертификата

Сайт без HTTPS получает штрафы от Google и подвергает данные посетителей риску. Установите Let's Encrypt с помощью Certbot:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Certbot автоматически обновит конфигурацию Nginx и настроит редирект с HTTP на HTTPS. Если вам нужен премиум SSL-сертификат (OV или EV) для повышения доверия — его можно приобрести отдельно.

Шаг 6: Веб-установщик Joomla

Откройте браузер и перейдите по адресу https://yourdomain.com. Вас встретит мастер установки Joomla.

6.1 Настройка сайта

  • Название сайта: введите название вашего проекта или компании
  • Описание: опционально, но полезно для SEO
  • Email администратора: ваш адрес электронной почты
  • Имя пользователя: выберите логин, который НЕ является «admin»
  • Пароль: минимум 12 символов, комбинация букв, цифр и символов

6.2 Подключение к базе данных

  • Тип базы данных: MySQLi
  • Хост: localhost
  • Пользователь: joomla_user
  • Пароль: пароль, установленный ранее
  • Имя базы данных: joomla_db
  • Префикс таблиц: оставьте по умолчанию или настройте (например, jml_)

6.3 Установка

Нажмите «Install». Процесс займёт несколько секунд. После завершения удалите директорию установки — Joomla предупредит вас об этом и предоставит кнопку для удаления.

sudo rm -rf /var/www/html/joomla/installation

Шаг 7: Основные настройки после установки

7.1 Глобальная конфигурация

В панели администратора (https://yourdomain.com/administrator) перейдите в System → Global Configuration:

  • SEO Settings: включите «Search Engine Friendly URLs» и «Use URL Rewriting»
  • Cache: включите консервативное кэширование для сайтов со средним трафиком
  • Metadata: заполните глобальное мета-описание
  • Session: установите время сессии 15-30 минут

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

Отредактируйте php.ini для оптимальной производительности:

sudo nano /etc/php/8.1/fpm/php.ini

Рекомендуемые значения:

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 120
max_input_vars = 3000
opcache.enable = 1
opcache.memory_consumption = 128
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000

Перезапустите PHP-FPM:

sudo systemctl restart php8.1-fpm

7.3 Активация ЧПУ (SEF URL)

Если вы используете Apache вместо Nginx, переименуйте файл .htaccess:

cd /var/www/html/joomla
sudo cp htaccess.txt .htaccess

Этот шаг обязателен для корректной работы SEF URL в Apache.

Шаг 8: Обязательные расширения для Joomla

Joomla становится по-настоящему мощной благодаря расширениям. Вот наиболее рекомендуемые категории:

SEO

  • EFSEO или OSMap — XML-карта сайта и SEO-оптимизация
  • JoomSEF — расширенные ЧПУ

Безопасность

  • Akeeba Backup — полные резервные копии сайта
  • RSFirewall — межсетевой экран для Joomla
  • AdminTools — расширенные настройки безопасности

Производительность

  • JotCache или Cache Cleaner — управление кэшем
  • Lazy Load Images — отложенная загрузка изображений

Формы и контакты

  • RSForm! Pro или Breezing Forms — гибкие формы

Расширения устанавливаются через System → Install → Extensions в панели администратора.

Шаг 9: Защита установки Joomla

Безопасность критически важна. Вот основные шаги:

9.1 Защита директории administrator

Добавьте HTTP-аутентификацию для /administrator:

sudo apt install apache2-utils -y
sudo htpasswd -c /etc/nginx/.htpasswd adminuser

Добавьте в блок server в Nginx:

location /administrator {
    auth_basic "Restricted Area";
    auth_basic_user_file /etc/nginx/.htpasswd;
    try_files $uri $uri/ /index.php?$args;
}

9.2 Переименование или блокировка директории администратора

Joomla позволяет изменить путь к административной панели с помощью расширений вроде AdminExile — эффективный способ скрыть панель от ботов.

9.3 Отключение редактора файлов

В Global Configuration → Text Filters отключите редактор PHP-файлов в бэкенде для предотвращения выполнения вредоносного кода.

9.4 Включение двухфакторной аутентификации (2FA)

В System → Global Configuration → Users включите двухфакторную аутентификацию для учётных записей администраторов.

9.5 Настройка файрвола на сервере

Если у вас ещё нет активного файрвола, настройте UFW:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

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

Шаг 10: Оптимизация производительности

10.1 Включение Gzip в Nginx

Добавьте в /etc/nginx/nginx.conf:

gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml;
gzip_min_length 256;
gzip_vary on;

10.2 Настройка кэша Joomla

В System → Global Configuration → System:
- Cache Handler: File (или Memcached, если установлен)
- Cache Time: 15-60 минут в зависимости от частоты обновлений

10.3 Оптимизация базы данных

Через System → Maintenance → Database можно восстановить и оптимизировать таблицы Joomla прямо из панели. Периодически выполняйте:

OPTIMIZE TABLE jos_content, jos_categories, jos_users;

10.4 Использование CDN

Для сайтов с посетителями из разных стран CDN (например, Cloudflare) распределяет статический контент с географически близких серверов, снижая задержку.

Резервное копирование — не пренебрегайте этим шагом

Настройка регулярного резервного копирования обязательна. Используйте Akeeba Backup для запланированных бэкапов или создайте простой скрипт:

#!/bin/bash
DATE=$(date +%Y%m%d)
mysqldump -u joomla_user -p'OchenNadezhniyParol123!' joomla_db > /backup/joomla_db_$DATE.sql
tar -czf /backup/joomla_files_$DATE.tar.gz /var/www/html/joomla
find /backup -name "*.sql" -mtime +7 -delete
find /backup -name "*.tar.gz" -mtime +7 -delete

Сохраните скрипт и добавьте его в crontab для ежедневного выполнения:

crontab -e
# Добавьте:
0 2 * * * /usr/local/bin/backup-joomla.sh

Обновление Joomla

Поддержание Joomla в актуальном состоянии критически важно для безопасности. Из панели администратора перейдите в System → Update → Joomla для обновления в один клик. Перед любым крупным обновлением обязательно создайте полную резервную копию.

Вы также можете включить автоматические уведомления об обновлениях в System → Global Configuration → Update Notification.

Заключение

Joomla — зрелая и гибкая CMS-платформа, идеально подходящая для сложных проектов, которым нужно больше, чем простой блог. Установленная на VPS Linux с правильной конфигурацией — оптимизированным PHP, производительным Nginx, активным SSL и расширениями безопасности — она обеспечивает надёжную основу для любого типа сайта.

Если вы хотите сосредоточиться на контенте, а не на администрировании сервера, команда CLIQHOST готова помочь. Изучите наши предложения VPS NVMe для максимальной производительности или ознакомьтесь с блогом CLIQHOST для получения дополнительных технических руководств.

SHARE
// Что говорят наши клиенты

Что говорят наши клиенты

Реальные отзывы клиентов, которые доверяют CLIQHOST за производительность, надёжность и профессиональную техническую поддержку.

★★★★★

"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău