Miroslav Kungurov 05 октября 2021
Спонсорский материал

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Ставим Джумлу на выделенный сервер (стек LEMP), настраиваем фаервол и переносим готовый сайт на второй сервер. Linux, консоль. Ready, steady, go!
🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?
Что делаем?
Устанавливаем Nginx, PHP, MySQL, Joomla, настраиваем фаервол и ограничиваем количество неудачных попыток входа с помощью fail2ban. Затем переносим работающий сайт на другой сервер. Бонус: Топ-20 лучших бесплатных расширений для Джумлы и советы по ее ускорению.

Эту инструкцию по настройке сервера можно использовать почти с любой CMS на PHP и MySQL: Wordpress, Drupal, MODX, October CMS и т. д.

1. Создаем сервер

Редакция выделила бюджет, поэтому берем сервер помощнее. Например, провайдер IT-инфраструктуры Selectel предлагает серверы, оснащенные 4-768 ГБ ОЗУ, 2-72 ядрами ЦП, возможность подключить графический ускоритель и выбрать в качестве сервера даже Raspberry Pi 4 (4/64 ГБ) и Mac mini для iOS-разрабов. Плюс, быстрая тех. поддержка, наличие резервного копирования и API. Такие серверы предназначены для нескольких десятков небольших сайтов или одного крупного.

Мы выберем следующую конфигурацию:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Intel Core i7-8700, 6 ядер по 3.2 ГГц, 32 ГБ ОЗУ, 960 ГБ SSD – отлично, Джумлу потянет.

В качестве ОС выбираем Ubuntu 20.04:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?
🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Арендуем сразу два сервера, чтобы два раза не вставать:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Кликнем по Первому серверу, перейдем во вкладку Операционная система и узнаем IP нашего сервера, имя пользователя и пароль:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Чтобы зайти на сервер скачаем Putty (Windows), впишем в него IP-адрес, порт 22 и нажмем на Open:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Пользователям Ubuntu достаточно открыть терминал (Ctrl + Alt + T) и ввести:

        ssh root@5.188.158.146
    

Нас попросят ввести логин и пароль. Заходим под рутом (root) и приступаем к установке Джумлы.

1.1. Обновление системы

Обновим систему:

        sudo apt update && sudo apt upgrade
    

1.2. Создание пользователя

В целях безопасности не рекомендуется работать под рутом, поэтому создадим нового пользователя alfred с помощью команды adduser:

        adduser alfred
    

Добавим пользователя alfred в группу sudo:

        usermod -aG sudo alfred
    

Перелогинимся под пользователя alfred:

        su - alfred
    

1.3. Установка сервера MySQL

Установим MySQL-сервер командой:

        sudo apt install mysql-server
    

Скрипт mysql_secure_installation позволяет настроить базовую защиту MySQL-сервера:

        sudo mysql_secure_installation
    

Что он делает:

  • устанавливает/меняет пароль root-пользователя;
  • удаляет анонимных пользователей;
  • ограничивает удаленный доступ root-пользователя;
  • удаляет тестовую базу данных.

Что нам выбрать:

        Would you like to setup VALIDATE PASSWORD component? [Y/n]: N
Set root password? [Y/n]: N
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: N
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

    

Логин под рутом нам еще пригодится, поэтому оставим удаленный доступ.

1.4. Создание базы данных

Запускаем MySQL:

        sudo mysql
    

Создадим базу данных joomla_db:

        mysql> CREATE DATABASE joomla_db;
    

Создадим пользователя базы данных joomla_user с паролем password:

        mysql> CREATE USER 'joomla_user'@'localhost' IDENTIFIED BY 'password';
    

Предоставим пользователю joomla_user все привилегии на управление таблицей joomla_db:

        mysql> GRANT ALL PRIVILEGES ON joomla_db.* TO 'joomla_user'@'localhost';
    

Перезагрузим привилегии, чтобы изменения вступили в силу:

        mysql> FLUSH PRIVILEGES;
    

Выйдем из mysql:

        mysql> \q
    

1.5. Установка PHP

В репозиториях Ubuntu 20.04 присутствует только php 7.4. Поскольку нам нужна версия 8, потребуется подключить сторонний репозиторий PPA:

        sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

    

Joomla 4 поддерживает PHP восьмой версии. Для установки PHP 8 и сопутствующих пакетов введем:

        sudo apt install php8.0-fpm php8.0-cli php8.0-gd php8.0-opcache php8.0-mysql php8.0-mcrypt php8.0-xml php8.0-curl
    

Изменим параметры файла конфигурации php.ini в соответствии с параметрами нашего сервера. Воспользуемся командой sed, которая ищет строчку в файле и заменяет ее на другую:

        sudo sed -i "s/memory_limit = .*/memory_limit = 32000M/" /etc/php/8.0/fpm/php.ini
    

Директива memory_limit устанавливает доступный для PHP объем памяти в мегабайтах (M):

        sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 128M/" /etc/php/8.0/fpm/php.ini
    

upload_max_filesize задает максимальный размер закачиваемого файла:

        sudo sed -i "s/post_max_size = .*/post_max_size = 128M/" /etc/php/8.0/fpm/php.ini
    

post_max_size – максимально допустимый размер данных, отправляемых методом POST.

        sudo sed -i "s/max_execution_time = .*/max_execution_time = 3000/" /etc/php/8.0/fpm/php.ini
    

max_execution_timeвремя, отведенное PHP-коду на исполнение.

Все настройки можно также изменить, открыв файл php.ini с помощью редактора nano:

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

1.6. Установка Nginx

Установим Nginx:

        sudo apt install nginx
    

Зайдем на сайт, введя в браузере его IP. Если все хорошо, то получим приветственное сообщение:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Создадим конфигурационный файл виртуального хоста:

        sudo nano /etc/nginx/sites-available/mysite.com
    

Здесь:

mysite.com – домен. Если у нас есть только IP-адрес и нет домена, мы все равно можем создать папку с именем домена и прописать путь к этой папке в настройках.

Заполним файл следующими строчками:

        server {
    listen 80;
    server_name 5.188.158.146;
    root /var/www/mysite.com;

    index index.html index.htm index.php;

    charset utf-8;

    access_log /var/log/nginx/mysite.com.access.log;
    error_log /var/log/nginx/mysite.com.error.log info;

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

    location ~* /(images|cache|media|logs|tmp)/.*.(php|pl|py|jsp|asp|sh|cgi)$ {
        return 403;
        error_page 403 /403_error.html;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ .php$ {
        fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include /etc/nginx/fastcgi.conf;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}
    

Нажимаем сочетание клавиш Ctrl + O, затем Enter, чтобы сохранить изменения и Ctrl + X, чтобы выйти из редактора nano.

Здесь:

server_name 5.188.158.146 – сюда записываем через запятую IP-адрес и/или домен, например server_name 5.188.158.146, mydomain.com. Ограничимся только IP-адресом.

Мы создали виртуальный хост. Чтобы его активировать, создадим символьную ссылку на файл с конфигурацией и разместим ее в каталоге sites-enabled, который Nginx будет считывать при запуске:

        sudo ln -s /etc/nginx/sites-available/mysite.com /etc/nginx/sites-enabled/mysite.com
    

Проверим конфигурацию Nginx на наличие синтаксических или системных ошибок:

        sudo nginx -t
    

Если ошибок нет, получим:

        nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
    

Перезапустим Nginx:

        sudo systemctl restart nginx
    

1.7. Загрузка Джумлы

Скачаем последнюю версию Джумлы и переименуем архив в joomla.zip:

        wget https://downloads.joomla.org/ru/cms/joomla4/4-0-2/Joomla_4-0-2-Stable-Full_Package.zip?format=zip -O joomla.zip
    

Создадим папку с нашим сайтом mysite.com:

        sudo mkdir -p /var/www/mysite.com
    

Чтобы разархивировать архив, установим утилиту unzip:

        sudo apt install unzip
    

Разархивируем Джумлу в папку mysite.com:

        sudo unzip joomla.zip -d /var/www/mysite.com
    

Наделим пользователя www-data правами (chown) на все файлы и папки внутри директории (-R, то есть рекурсивно) /var/www/mysite.com:

        sudo chown -R www-data: /var/www/mysite.com
    

Еще раз зайдем на наш сайт через браузер и увидим установщик Джумлы:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Создадим учетную запись:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Заполним параметры учетной записи админа:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

и заполним поля с именем БД, именем пользователя БД и его паролем:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

После установки Джумлы:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

перейдем в панель администратора http://5.188.158.146/administrator/ (вместо этого IP напишите свой) залогинимся и создадим свою первую запись:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Заполним поля и кликнем по кнопке Save & Close:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Перейдем во вкладку Content Articles и кликнем по Toggle featured status:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Перейдем на главную страницу http://5.188.158.146/:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

1.8. Настройка фаервола

UFW (Uncomplicated Firewall) – популярная и простая утилита для настройки и управления фаерволом в дистрибутивах Ubuntu и Debian. По умолчанию фаервол уже установлен, но не активирован.

Если фаервол вдруг не установлен, то установим его командой:

        sudo apt install ufw
    

Узнаем текущий статус фаервола:

        sudo ufw status
    

Фаервол выключен:

        Status: inactive
    

Посмотрим профили приложений:

        sudo ufw app list
    

В зависимости от пакетов, установленных в системе, вывод будет выглядеть следующим образом:

        Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH


    

Разрешим фаерволу доступ к профилям OpenSSH и 'Nginx Full':

        sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'

    

Включим фаервол:

        sudo ufw enable
    

Если понадобится отключить фаервол, воспользуемся командой:

        sudo ufw disable
    

1.9. Защита от брутфорса: fail2ban

В сети полно ботнетов, непрерывно сканирующих стандартные порты подключения SSH и пытающихся выполнить атаку перебором. Защищаемся от этого, ограничив количество неудачных попыток входа на сервер с помощью программы fail2ban.

Установим fail2ban:

        sudo apt install fail2ban
    

и проверим его статус:

        sudo systemctl status fail2ban
    

Получим следующий вывод:

        ● fail2ban.service - Fail2Ban Service
	Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
	Active: active (running) since Thu 2021-09-09 18:18:55 EEST; 4s ago
  	Docs: man:fail2ban(1)
  Main PID: 79346 (f2b/server)
  	Tasks: 5 (limit: 2282)
	Memory: 13.4M
	CGroup: /system.slice/fail2ban.service
        	└─79346 /usr/bin/python3 /usr/bin/fail2ban-server -xf start
    

Утилита работает.

Чтобы изменить настройки fail2ban откроем файл конфигурации:

        sudo nano /etc/fail2ban/jail.conf
    

Найдем в нем следующие строчки:
maxretry = 5 – количество неудачных попыток входа до бана.
findtime = 10m – IP-адрес банится, если в течение 10 минут было предпринято 5 неудачных попыток хода.
bantime = 10m – IP-адрес банится на 10 минут.

Если поменяли параметры, то нужно перезапустить сервис fail2ban, чтобы изменения вступили в силу:

        sudo systemctl restart fail2ban
    

1.10. Установка SSL-сертификата

SSL-сертификат можно поставить только с доменом (IP-адрес не подойдет). Если домен есть, то получим и установим бесплатный сертификат через центр сертификации Let's Encrypt.

Для этого установим утилиту сerbot, которая автоматизирует все шаги и ее плагин для Nginx:

        sudo apt install certbot python3-certbot-nginx
    

Получим сертификат для домена mydomain.com:

        sudo certbot --nginx -d mydomain.com -d www.mydomain.com
    

2. Миграция

Теперь перенесем БД и файлы с Джумлой на второй сервер.

2.1. Устанавливаем PHP и Nginx

Данные второго сервера:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Заходим на второй сервер и обновляемся:

        sudo apt update && sudo apt upgrade
    

Установим php:

        sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt install php8.0-fpm php8.0-cli php8.0-gd php8.0-opcache php8.0-mysql php8.0-mcrypt php8.0-xml php8.0-curl

    

поставим nginx :

        sudo apt install nginx
    

Откроем файл с конфигурацией Nginx:

        sudo nano /etc/nginx/sites-available/mysite.com
    

Конфигурация как у первого сервера, только поменялся IP-адрес:

        server {
    listen 80;
    server_name 84.38.184.67;
    root /var/www/mysite.com;

    index index.html index.htm index.php;

    charset utf-8;

    access_log /var/log/nginx/mysite.com.access.log;
    error_log /var/log/nginx/mysite.com.error.log info;

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

    location ~* /(images|cache|media|logs|tmp)/.*.(php|pl|py|jsp|asp|sh|cgi)$ {
        return 403;
        error_page 403 /403_error.html;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ .php$ {
        fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include /etc/nginx/fastcgi.conf;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}
    

Создадим символьную ссылку:

        sudo ln -s /etc/nginx/sites-available/mysite.com /etc/nginx/sites-enabled/mysite.com
    

Проверим файл конфигурации на ошибки:

        sudo nginx -t
    

Перезапустим сервер Nginx:

        sudo systemctl restart nginx
    

2.2. Переносим базу данных

Перенос БД включает в себя следующие шаги:

  1. Экспорт БД с помощью утилиты mysqldump.
  2. Архивация дампа БД.
  3. Перенос архива с дампом БД на второй сервер, используя команду scp.
  4. Создание пользователя базы данных и пустой базы данных на втором сервере.
  5. Распаковка архива с дампом БД на втором сервере.
  6. Импорт в пустую базу данных дампа БД.

Зайдем на первый сервер и перелогинимся под рута:

        sudo su
    

Сделаем дамп базы данных с помощью утилиты mysqldump и сохраним дамп БД в папке /home/alfred/:

        mysqldump -u root -p joomla_db > /home/alfred/joomla_db.sql;
    

Установим архиватор zip:

        sudo apt install zip
    

Перейдем в папку пользователя alfred:

        cd /home/alfred/
    

и заархивируем дамп БД:

        zip /home/alfred/database.zip ./joomla_db.sql
    

Создадим на втором сервере пользователя alfred:

        sudo adduser alfred
sudo usermod -aG sudo alfred

    

Перенесем дамп БД с первого сервера на второй. Для этого вернемся к первому серверу и введем:

        scp /home/alfred/database.zip root@84.38.184.67:/home/alfred
    

Здесь:

команда scp – копирует файлы по ssh между компьютерами под управлением Linux.
root – логин администратора второго сервера.
84.38.184.67 – IP второго сервера.

Зайдем на второй сервер и установим утилиту для распаковки архива unzip:

        sudo apt install unzip
    

Распакуем архив с дампом БД в папку пользователя alfred:

        sudo unzip /home/alfred/database.zip -d /home/alfred
    

Установим MySQL-сервер:

        sudo apt install mysql-server
    

Откроем MySQL:

        sudo mysql
    

Создадим пустую базу данных joomla_db:

        mysql> CREATE DATABASE joomla_db;
    

Создадим пользователя базы данных joomla_user:

        mysql> CREATE USER 'joomla_user'@'localhost' IDENTIFIED BY 'password';
    

Дадим ему привилегии на управление базой данных:

        mysql> GRANT ALL PRIVILEGES ON joomla_db.* TO 'joomla_user'@'localhost';
    

Перезагрузим привилегии:

        mysql> FLUSH PRIVILEGES;
    

Выйдем из MySQL:

        mysql> \q
    

Перейдем в папку пользователя alfred:

        cd /home/alfred/
    

Импортируем в пустую базу данных joomla_db дамп БД, который мы сделали на первом сервере:

        mysql -u root -p joomla_db < /home/alfred/joomla_db.sql;
    

Базу данных перенесли, теперь очередь Джумлы.

2.3. Переносим файлы Джумлы

Перенос файлов Джумлы включает в себя следующие шаги:

  1. Архивация папки с Джумлой.
  2. Перенос архива на второй сервер с помощью команды scp.
  3. Распаковка архива в папку /var/www/mysite.com.

Зайдем на первый сервер:

        cd /var/www/
    

Заархивируем файлы Джумлы в папку пользователя alfred:

        sudo zip -r /home/alfred/joomla_copy.zip ./mysite.com
    

Создадим на втором сервере папку mysite.com:

        sudo mkdir -p /var/www/mysite.com
    

Зайдем на первый сервер и перенесем архив с Джумлой на второй сервер:

        scp /home/alfred/joomla_copy.zip root@84.38.184.67:/home/alfred
    

Зайдем на второй сервер и разархивируем архив с Джумлой в папку /var/www/:

        sudo unzip /home/alfred/joomla_copy.zip -d /var/www/
    

Наделим пользователя правами (chown) на подпапки с сайтом:

        sudo chown -R www-data: /var/www/mysite.com
    

Перейдем на главную страницу второго сервера http://84.38.184.67:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Миграция завершена.

PS: в целях безопасности можно отключить логин под рутом по SSH. Для этого откроем конфиг SSH-сервера:

        sudo nano /etc/ssh/sshd_config
    

Найдем строчку PermitRootLogin yes и поменяем yes на no.

Перезапустим сервер SSH:

        sudo service sshd restart
    

или

        sudo systemctl restart sshd
    

3. Расширения

Расширения Joomla помогут превратить сайт в интернет-магазин, ускорить загрузку сайта, позаботиться о безопасности и многое другое. Расширения доступны по адресу

extensions.joomla.org. Вот самые популярные из них:

Расширения для интернет магазина

  • HikaShop – расширение электронной коммерции для всех версий Joomla.
  • JoomShopping – более 400 тыс. новых пользователей расширением за 3 года.
  • EShop – просто устанавливаете, добавляете продукты, включаете встроенные модули, плагины оплаты, плагины доставки и начинаете принимать заказы.

SEO

  • Google Structured Data – помогает размечать структурированные данные на страницы, чтобы Google точнее распознавал данные на ней и использовать их в результатах поиска.
  • EO-Generator, Aimy Speed Optimization PRO – увеличивает скорость загрузки страницы за счет объединения, сжатия и кэширования файлов.
  • TAGZ Open Graph – сообщает социальным сетям какую информацию отображать каждый раз, когда кто-либо другой делится ссылкой на ваш сайта.

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

  • Watchful Client – автоматизирует такие задачи, как создание резервных копий сайта, сканирование на наличие признаков проникновения и обновление расширений.
  • SpambotCheck – используя черные списки электронной почты, предотвращает регистрацию и вход смап-ботов.
  • OSpam-a-note – блокирует регистрацию ботов за счет меток времени: если форма отправлена очень быстро, то регистрация будет заблокирована.
  • Brute Force Stop – защищает сайт от брутфорса.
  • Admin Tools – уведомит вас о новых релизах Joomla, исправит разрешения ваших файлов и каталогов, защитит каталог администратора паролем, изменит префикс вашей базы данных и многое другое.

Отображение контента

  • Mini FrontPage – отражает статьи из выбранных категорий с датой и дизайном на выбор.
  • Latest News+ Date – кастомизирует отображение новостей как предыдущее расширение.
  • Vertical scroll recent article – заголовок статьи будет прокручиваться снизу вверх по вертикали.
  • DJ-ImageSlider – создает неограниченное количество групп и слайдов.
  • Slideshow CK – отображает изображения или видео с красивыми эффектами.
  • Phoca Gallery – галерея с 15 способами отображения контента.
  • Advanced Custom Fields – расширяет коллекцию основных полей Joomla: YouTube, Vimeo, HTML-Audio, Google Map и др.
  • GMapFP OpenStreetMap Custom Field – позволяет пользователям и редактору легко устанавливать маркеры на карту OpenStreetMap.
  • GMapFP : Google Map or Openstreet Map – можно использовать Google Maps и Openstreet Maps вместе.

4. Локализация Джумлы

Чтобы поменять язык на русский перейдем в SystemLanguage → Вводим в поле поиска russianInstall:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Сделаем Русский язык основным: SystemManageLanguages → Выберем Russian значением по дефолту:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

5. Ускорение Джумлы и настройка бэкапа

5.1. Включение кэша

Когда посетитель переходит на страницу, Joomla извлекает содержимое из базы данных, загружает расширения, необходимые для этой страницы, файлы шаблона и создает страницу, которую видит пользователь. Формирование новой страницы занимает время. При включении кэша пользователи будут получать сохраненную версию страницы вместо генерации новой страницы.

Чтобы включить кэширование перейдем в Панель управленияОбщие настройкиСистема и выберем Стандартное кэширование:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

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

Чтобы сбросить кэш, откроем Панель управления → вкладку System и кликнем по Очистить кэшОчистить все.

5.2. Сжатие страницы

Gzip сжимает страницу перед отправкой ее посетителю. Для включения сжатия перейдем:

Панель управленияОбщие настройкиСервер и включим Gzip-сжатие страниц:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

5.3. Объединение CSS и JavaScript

Расширение JCH Optimize объединяет JavaScript- и CSS-файлы в один, снижая объем передаваемых данных и уменьшая количество HTTP-запросов к серверу.

Чтобы установить расширение перейдем в СистемаРасширенияУстановить из JED и введем в поле поиска JCH Optimize:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

Перейдем на страницу расширения и установим его. Настройки расширения доступны в КомпонентыJCH Optimize. По умолчанию сжатие JS и CSS включены.

5.4. Настройка бэкапа

С помощью расширения Akeeba Backup можно делать бэкапы в один клик. Установим Akeeba Backup через JED. Теперь перейдем в КомпонентыAkeeba Backup и кликнем по кнопке Default Backup Profile. Бэкап создается автоматически и будет доступен в Manage Backups:

🛠 Как поставить Joomla 4 на выделенный сервер VDS/VPS?

5.5. Быстрый хостинг

Чтобы ускорить загрузку сайта выберите хостинг, который наилучшим образом соответствует требованиям вашего ресурса: объем накопителя, процессор и количество ядер, объем оперативки и ежемесячного трафика, наличие резервного копирования, быстрая техническая поддержка.

***

В этой статье мы:

  • научились работать со стеком LEMP: Linux, Nginx, MySQL, PHP;
  • установили Joomla на выделенный сервер;
  • настроили фаервол и ограничили количество неудачных попыток входа сервер;
  • перенесли готовый Joomla-сайт на другой сервер;
  • ускорили работу Joomla.

МЕРОПРИЯТИЯ

Комментарии

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ