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

Установка Shopware CE на Ubuntu 20.04 с Nginx и Let's Encrypt

• 6 min read • Инфраструктура • Обновлено 21 Nov 2025
Shopware CE на Ubuntu 20.04 — Nginx и Let's Encrypt
Shopware CE на Ubuntu 20.04 — Nginx и Let's Encrypt

Логотип или заставка Shopware на сервере

Введение

Shopware CE — бесплатная открытая платформа для eCommerce, написанная с использованием Symfony и Vue.js. Это современный стек технологий и удобная альтернатива таким системам, как Magento. Shopware гибкий и масштабируемый: удобная админка, управление ценами, темы, шаблоны писем и базовая аналитика.

В этом руководстве показаны шаги для развёртывания Shopware CE на Ubuntu 20.04 с Nginx и Let’s Encrypt. Упор сделан на воспроизводимость, безопасность и практические заметки для продакшен-сервера.

Важно: здесь описана установка для PHP 7.2 — Shopware 6 исторически поддерживал 7.2–7.3. Если вы используете более свежие версии Shopware, проверьте требования к PHP в официальной документации.

Основные варианты намерения статьи

Primary intent: установка Shopware CE на Ubuntu 20.04 Related intents: установка Shopware Nginx, Shopware Let’s Encrypt, Shopware PHP 7.2, развертывание Shopware, настройка MariaDB для Shopware

Требования

  • Сервер с Ubuntu 20.04 и минимум 4 ГБ ОЗУ. 4 ГБ — рекомендованный минимум для комфортной сборки зависимостей. Для больших магазинов планируйте больше памяти.
  • Домен, указывающий на IP сервера (A-запись).
  • Доступ root или пользователь с правами sudo и установленный пароль root, если требуется.

Шаг 1 — Установка Nginx и MariaDB

Установим Nginx и MariaDB:

apt-get install nginx mariadb-server -y

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

systemctl start nginx
systemctl start mariadb
systemctl enable nginx
systemctl enable mariadb

Совет: после установки MariaDB запустите mysql_secure_installation (далее) для базовой защиты сервера баз данных.

Шаг 2 — Установка PHP и необходимых компонентов

Shopware 6 требует PHP 7.2–7.3. В примере используется PHP 7.2.

Добавьте PPA для PHP и установите пакеты:

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

apt-get update
apt-get install php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mysql php7.2-curl php7.2-json php7.2-zip php7.2-gd php7.2-xml php7.2-mbstring php7.2-intl php7.2-opcache git unzip socat curl bash-completion -y

Откройте php.ini для FPM и настройте базовые значения:

nano /etc/php/7.2/fpm/php.ini

Измените или добавьте:

memory_limit = 512M
upload_max_filesize = 20M
max_execution_time = 300

Сохраните и закройте файл.

IonCube

Если ваши расширения или плагины требуют IonCube, установите загрузчик:

wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar xfz ioncube_loaders_lin_x86-64.tar.gz
php -i | grep extension_dir

Скопируйте соответствующий .so-файл в директорию расширений (путь зависит от вывода предыдущей команды). В примере команда была:

cp ioncube/ioncube_loader_lin_7.2.so /usr/lib/php/20180731/

Добавьте в php.ini:

zend_extension = /usr/lib/php/20180731/ioncube_loader_lin_7.2.so

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

systemctl restart php7.2-fpm

Примечание: пути к каталогам расширений зависят от версии PHP и build-параметров дистрибутива.

Шаг 3 — Настройка MariaDB

Защитите установку и задайте пароль root:

mysql_secure_installation

Отвечайте на вопросы, как предложено в интерактивном скрипте (рекомендуется согласиться на все защитные операции).

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

mysql -u root -p
MariaDB [(none)]> CREATE DATABASE shopwaredb;
MariaDB [(none)]> GRANT ALL ON shopwaredb.* TO 'shopware'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Замените ‘password’ на надёжный пароль. В продакшене используйте отдельного пользователя с минимально необходимыми правами.

Шаг 4 — Установка Composer

Composer — менеджер зависимостей PHP. Установите глобально:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

Проверьте версию:

composer --version

Ожидаемый вывод: Composer version X — фактическая версия будет отличаться.

Шаг 5 — Загрузка Shopware

Создайте каталог в веб-корне и загрузите архив установки (в примере ссылка на конкретную версию):

mkdir -p /var/www/html/shopware
cd /var/www/html/shopware
wget https://www.shopware.com/en/Download/redirect/version/sw6/file/install_6.2.2_1592398977.zip
unzip install_6.2.2_1592398977.zip

Установите PHP-зависимости через Composer:

composer install

Установите владельца и права:

chown -R www-data:www-data /var/www/html/shopware
chmod -R 755 /var/www/html/shopware

Важно: в среде с CI/CD или при использовании контейнеров права и владелец могут отличаться.

Шаг 6 — Конфигурация Nginx

Создайте файл виртуального хоста:

nano /etc/nginx/sites-available/shopware.conf

Добавьте конфигурацию (замените server_name на ваш домен):

server {
    listen 80;

    index index.php index.html;
    server_name shopware.linuxbuz.com;
    root /var/www/html/shopware/public;

    location /recovery/install {
        index index.php;
        try_files $uri /recovery/install/index.php$is_args$args;
    }

    location /recovery/update/ {
        location /recovery/update/assets {
        }
        if (!-e $request_filename){
            rewrite . /recovery/update/index.php last;
        }
    }

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

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi.conf;
        fastcgi_param HTTP_PROXY "";
        fastcgi_buffers 8 16k;
        fastcgi_buffer_size 32k;
        client_max_body_size 24M;
        client_body_buffer_size 128k;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        http2_push_preload on;
    }
}

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

ln -s /etc/nginx/sites-available/shopware.conf /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

Если вы используете ufw, разрешите HTTP/HTTPS трафик:

ufw allow 'Nginx Full'

Шаг 7 — Запуск мастера установки Shopware

Откройте браузер и перейдите по адресу http://shopware.linuxbuz.com (замените на ваш домен). Должен появиться веб-мастер установки.

Экран приветствия мастера установки Shopware 6

Пошагово выберите язык, проверьте системные требования, согласитесь с условиями и укажите данные для подключения к базе.

Проверка системных требований Shopware

Принятие лицензионных условий Shopware

Заполнение данных базы данных Shopware

После успешной установки вы увидите страницу подтверждения:

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

Далее заполните настройки магазина: название, e‑mail, данные администратора и т. п.

Настройка магазина Shopware

Форма конфигурации магазина шаг заполнения данных

После завершения установки вы попадёте в дашборд Shopware:

Интерфейс администратора Shopware

Далее мастер предложит импорт демонстрационных данных, настройку почты, платёжные интеграции и подбор рекомендуемых плагинов.

Импорт данных в Shopware

Настройка почтового агента в Shopware

Выбор локального почтового агента

Настройка PayPal в Shopware

Настройка PayPal Sandbox

Рекомендуемые плагины Shopware

Аккаунт Shopware

Установка завершена

Главная страница Shopware после установки

Шаг 8 — Защита сайта с помощью Let’s Encrypt

Установите Certbot и плагин для Nginx:

apt-get install certbot python3-certbot-nginx -y

Запустите автонастройку SSL (замените домен на ваш):

certbot --nginx -d shopware.linuxbuz.com

Следуйте подсказкам: введите email, согласитесь с условиями и выберите вариант перенаправления HTTP на HTTPS (рекомендуется 2 — Redirect).

Certbot автоматически обновит конфигурацию Nginx и установит сертификаты в /etc/letsencrypt/live//.

Совет: проверьте автоматическое продление сертификата

certbot renew --dry-run

Добавьте в cron или systemd-timer, если нужно, но обычно пакет сам устанавливает systemd-таймер.

Отладка и часто встречаемые ошибки

  • 502 Bad Gateway после настройки Nginx: проверьте, что php-fpm запущен и путь сокета в fastcgi_pass соответствует версии PHP (например, /run/php/php7.2-fpm.sock).
  • Ошибки прав доступа: проверьте владельца файлов (www-data) и права каталогов var и public.
  • Ошибки Composer: запустите composer install из каталога проекта, убедитесь, что переменные окружения и php-расширения установлены.
  • Невозможность получить сертификат Let’s Encrypt: убедитесь, что A-запись домена указывает на сервер и порт 80 открыт.

Important: для публичного сайта НЕ оставляйте тестовые пароли и используйте надёжные значения для админов и БД.

Рекомендации по безопасности и эксплуатации

  • Регулярно обновляйте систему пакетов и PHP-расширения.
  • В production отключите отображение ошибок PHP (display_errors = Off).
  • Настройте бэкапы базы и файлов (например, еженощный дамп mysqldump и rsync архивов).
  • Используйте мониторинг (uptime, загрузка, свободная память) и алерты для критических сервисов.
  • Ограничьте доступ к /admin панелям по IP или через VPN, если возможно.

Автоматизация и резервное копирование

Минимальный SOP для бэкапа:

  1. Скрипт дампа БД:
mysqldump -u root -p'your_root_password' shopwaredb > /backup/shopwaredb_$(date +%F).sql
  1. Архив сайта:
tar -czf /backup/shopware_files_$(date +%F).tar.gz /var/www/html/shopware
  1. Перенос резервов на удалённое хранилище (S3, rsync, FTP) и проверка целостности.

Чеклисты по ролям

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

  • Настроить firewall и открыть только нужные порты.
  • Настроить SSL и автопродление.
  • Настроить резервное копирование и мониторинг.

Dev/Ops:

  • Автоматизировать деплой через CI/CD.
  • Контролировать зависимости через composer.lock.
  • Настроить staging окружение.

Маркетинг/Контент менеджер:

  • Импорт данных демо/каталога.
  • Проверить e‑mail отправку и шаблоны писем.

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

  • Сайт доступен по HTTPS и перенаправляет HTTP на HTTPS.
  • Мастер установки завершился без ошибок.
  • Вход в админ-панель работает, созданы admin-пользователь и магазин.
  • Создана резервная копия БД и файлов, успешно восстановленная в тестовой среде.

Инцидентный план и откат

Если при обновлении или установке возникает критическая ошибка:

  1. Откат к последней рабочей версии файлов из резервной копии.
  2. Восстановление дампа БД.
  3. Детальный лог (nginx, php-fpm, shopware var/log) для анализа.
  4. Если проблема связана с плагином — отключите плагин и повторите проверку.

Тесты и приёмка

Минимальные проверки после установки:

  • Открыть главную страницу магазина по HTTPS.
  • Войти в админку и создать тестовый товар.
  • Оформить тестовый заказ (режим sandbox для платёжных систем).
  • Проверить отправку писем (SMTP или локальный агент).

Миграция и альтернативы

  • Если вы мигрируете с Magento/PrestaShop: подготовьте план миграции данных (товары, категории, клиенты, заказы). Используйте ETL-скрипты или платные миграторы.
  • Альтернатива: использовать контейнеры (Docker) для изоляции окружения и воспроизводимости.

Короткое объявление для соцсетей

Установили Shopware CE на Ubuntu 20.04: Nginx, MariaDB, PHP 7.2 + Let’s Encrypt. Готово к настройке магазина и интеграциям. Полная инструкция с чеклистами и планом отката — в статье.

Короткая методология развёртывания (3 шага)

  1. Подготовка ОС и базовых сервисов (Nginx, MariaDB, PHP).
  2. Установка Shopware через Composer и запуск веб-мастера.
  3. Защита HTTPS и проверка стабильности, бэкапы.

Глоссарий (1‑строчные определения)

  • Shopware CE: бесплатная версия платформы электронной коммерции.
  • Composer: менеджер зависимостей PHP.
  • Certbot: клиент Let’s Encrypt для автоматического получения SSL.
  • php-fpm: процессный менеджер PHP для Nginx.

Заключение

Вы успешно установили Shopware CE, настроили веб‑сервер и защитили сайт HTTPS-сертификатом. После установки уделите время: настройке резервного копирования, обновлениям и мониторингу. Если нужно, помогу адаптировать инструкцию под ваш домен, версию PHP или сценарий CI/CD.

Короткие заметки

  • Notes: проверьте версию Shopware и совместимость с PHP перед началом. Для production используйте отдельную среду для тестирования обновлений.
Поделиться: 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 быстро