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

Установка Shopware CE на Ubuntu 18.04 с NGINX

6 min read E-Commerce Обновлено 21 Nov 2025
Установка Shopware CE на Ubuntu 18.04 с NGINX
Установка Shopware CE на Ubuntu 18.04 с NGINX

Кратко: подготовьте Ubuntu 18.04 с не-root пользователем и sudo; установите PHP 7.2 + расширения, MySQL, NGINX и (опционально) IonCube и acme.sh для сертификатов; загрузите и распакуйте Shopware в /var/www/shopware, настройте права и конфигурацию NGINX, затем пройдите веб-мастер установки. Внизу — чек-листы, меры безопасности и критерии приёмки.

Важно: этот гайд покрывает Shopware Community Edition на Ubuntu 18.04 и NGINX. Для других версий ОС/Shopware проверьте совместимость.

Ключевое намерение и варианты запросов

Основная цель: установка Shopware CE на Ubuntu 18.04 с NGINX. Сопутствующие варианты: установка Shopware на Ubuntu, конфигурация NGINX для Shopware, подготовка PHP-FPM для Shopware, настройка TLS для Shopware, пошаговая установка Shopware.

Изображение: обзор установки

Обзор процесса установки Shopware на Ubuntu с NGINX и PHP-FPM

Требования

Убедитесь, что система соответствует минимальным требованиям:

  • Linux (Ubuntu 18.04 LTS или совместимая) с NGINX или Apache 2.x (mod_rewrite) веб‑сервером.
  • PHP 5.6.4+ с расширениями ctype, gd, curl, dom, hash, iconv, zip, json, mbstring, openssl, session, simplexml, xml, zlib, fileinfo и pdo/mysql. Рекомендуется PHP 7.1 и выше; Shopware совместим с PHP 7.2.x.
  • MySQL 5.5.0+.
  • Возможность настроить cron‑задания.
  • Минимум 4 ГБ свободного дискового пространства.
  • IonCube Loader 5.0.0+ — опционально.

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

  • Ubuntu 18.04 LTS.
  • Ненулевой пользователь с правами sudo.

Начальные шаги

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

lsb_release -ds  
# Ubuntu 18.04.2 LTS

Настройте часовой пояс:

sudo dpkg-reconfigure tzdata

Обновите пакеты системы:

sudo apt update && sudo apt upgrade -y

Установите полезные утилиты:

sudo apt install -y curl wget vim git unzip socat bash-completion

Шаг 1 — Установка PHP и расширений

Установите PHP 7.2 и необходимые расширения:

sudo apt install -y 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-opcache

Чтобы вывести список модулей PHP:

php -m  
  
ctype  
curl  
exif  
fileinfo  
. . .  
. . .

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

php --version  
  
# PHP 7.2.17-0ubuntu0.18.04.1 (cli) (built: Apr 18 2019 14:12:38) ( NTS )  
# Copyright (c) 1997-2018 The PHP Group  
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies  
#     with Zend OPcache v7.2.17-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies  

PHP-FPM на Ubuntu 18.04 обычно запускается и включён в автозагрузку автоматически.

Шаг 2 — Установка IonCube Loader (опционально)

Если вам нужен IonCube (для совместимости с некоторыми плагинами), выполните:

cd /tmp && wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

Распакуйте:

tar xfz ioncube_loaders_lin_*.gz

Найдите директорию расширений PHP:

php -i | grep extension_dir  
# extension_dir => /usr/lib/php/20170718 => /usr/lib/php/20170718

Скопируйте соответствующий модуль ionCube в каталог расширений (подставьте путь из вашего php -i):

sudo cp /tmp/ioncube/ioncube_loader_lin_7.2.so /usr/lib/php/20170718/

Подключите loader в php.ini (FPM):

sudo vim /etc/php/7.2/fpm/php.ini

Добавьте строку (в пределах секции [PHP]):

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

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

sudo systemctl restart php7.2-fpm.service

Шаг 3 — Установка MySQL и создание базы данных

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

sudo apt install -y mysql-server

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

mysql --version  
# mysql  Ver 14.14 Distrib 5.7.26, for Linux (x86_64) using  EditLine wrapper

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

sudo mysql_secure_installation

Ответьте на вопросы по безопасности, например отключите анонимных пользователей, удалите тестовую БД и запретите удалённый логин root, если это применимо вашей инфраструктуре.

Подключитесь к MySQL и создайте базу и пользователя под Shopware (замените dbname/username/password на свои значения):

sudo mysql -u root -p
# Введите пароль
mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> exit

Шаг 4 — Установка acme.sh и получение сертификата Let’s Encrypt (опционально)

Для HTTPS используйте acme.sh (минимальные зависимости):

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

Проверка версии:

acme.sh --version
# v2.8.1

Выдача сертификатов RSA и ECDSA (standalone режим — потребуется порт 80 свободный):

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Для тестирования используйте флаг –staging.

Установите сертификаты в /etc/letsencrypt (пример команд — подставьте свои пути и домен):

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Все сертификаты acme.sh обновляет автоматически. После работы выйдите из root:

exit

Шаг 5 — Установка и конфигурация NGINX

Установите NGINX:

sudo apt install -y nginx

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

sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)

Создайте файл конфигурации для Shopware, например /etc/nginx/sites-available/shopware.conf, со следующим содержимым (подставьте server_name и root):

server {
    listen 80;
    listen [::]:80;
    
    server_name example.com;
    root /var/www/shopware;

    index shopware.php index.php;

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

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    }
}

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

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

Если используете HTTPS, добавьте соответствующие listen 443 ssl и пути к сертификатам в конфиг (см. раздел acme.sh).

Шаг 6 — Установка Shopware

Создайте корневую директорию и назначьте владельца:

sudo mkdir -p /var/www/shopware
sudo chown -R {your_user}:{your_user} /var/www/shopware
cd /var/www/shopware

Скачайте и распакуйте релиз Shopware (проверьте URL на актуальность):

wget https://releases.shopware.com/install_5.5.8_d5bf50630eeaacc6679683e0ab0dcba89498be6d.zip?_ga=2.141661361.269357371.1556739808-1418008019.1556603459 -O shopware.zip
unzip shopware.zip
rm shopware.zip

Поменяйте владельца на www-data:

sudo chown -R www-data:www-data /var/www/shopware

В php.ini увеличьте memory_limit до 256M и upload_max_filesize до 6M, включите allow_url_fopen = On при необходимости:

sudo vim /etc/php/7.2/fpm/php.ini

После правок перезагрузите PHP-FPM:

sudo systemctl reload php7.2-fpm.service

Откройте в браузере домен или IP и пройдите мастер установки. Админ панель доступна по /backend, например http://example.com/backend

Шаг 7 — Завершение установки в веб‑мастере

Следуйте шагам мастера установки: выберите язык, убедитесь, что выполнены требования, примите лицензию, введите данные базы, запустите установку — мастер создаст таблицы и настроит базу.

Изображения шагов мастера (ALT тексты описывают содержимое):

Мастер установки Shopware: выбор языка и начальные шаги

Проверка системных требований — все пункты пройдены

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

Настройки подключения к базе данных Shopware

Процесс установки и создания таблиц в базе данных

Сообщение об успешной инициализации базы данных

Выбор лицензии для Shopware

Базовые настройки магазина перед завершением установки

Установка завершена — финальное сообщение

Вход в админ-панель Shopware (/backend)

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

Чек-листы и рекомендации

Быстрая проверка перед запуском

  • Сервер: Ubuntu 18.04, актуальные обновления.
  • PHP: 7.2 с перечисленными расширениями.
  • MySQL: БД создана, учётная запись с правами подготовлена.
  • NGINX: конфигурация синтаксически корректна (nginx -t) и перезагружена.
  • Права на /var/www/shopware: корректные для www-data.
  • HTTPS: сертификат установлен (рекомендуется для продакшна).

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

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

  • Обновить систему и установить пакеты.
  • Настроить бэкапы базы и директорий.
  • Настроить мониторинг и cron для автопродления сертификатов.

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

  • Проверить версии PHP и расширений.
  • Убедиться в корректности прав на файлы и директории.
  • Подготовить тестовую среду с staging сертификатами.

DevOps / эксплуатация:

  • Настроить NGINX, SSL и автоматическую ротацию логов.
  • Добавить правила безопасности (firewall, fail2ban).
  • Настроить автоматические бэкапы и проверку целостности.

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

  • Сайт открывается по HTTP/HTTPS и возвращает страницу магазина.
  • Админ-панель доступна по /backend и принимает логин.
  • Магазин успешно подключён к базе данных и таблицы созданы.
  • Логи ошибок (NGINX/PHP/MySQL) не содержат критичных ошибок при запросе главной страницы.
  • Регулярное резервное копирование настроено и протестировано.

Меры безопасности и hardening

  • Запретите прямой доступ к конфигурационным файлам и .env (если используются).
  • Используйте HTTPS в продакшне и HSTS (с осторожностью при миграции).
  • Настройте брандмауэр (ufw) и откройте только необходимые порты (80, 443, SSH).
  • Ограничьте доступ по SSH ключам и переименуйте/измените порт SSH.
  • Установите fail2ban для защиты от переборов паролей.
  • Регулярно применяйте обновления безопасности для системы и PHP.

Типичные проблемы и альтернативные подходы

Когда установка может не сработать:

  • Неподходящая версия PHP или отсутствующие расширения — проверьте вывод php -m и php –version.
  • Права на файлы/директории — проверьте владельца и права каталога /var/www/shopware.
  • Порт 80 занят при использовании acme.sh –issue –standalone — остановите NGINX на время выпускa сертификата или используйте webroot/плагин DNS.
  • MySQL с жесткой аутентификацией или нестандартными плагинами — убедитесь, что учётная запись имеет нужные привилегии.

Альтернативы:

  • Вместо acme.sh можно использовать certbot (если предпочитаете автоматические плагины для NGINX).
  • Для контейнеризации используйте Docker-контейнеры с преднастроенным PHP-FPM, NGINX и MySQL.

Краткая методология установки (mini-methodology)

  1. Подготовьте ОС и базовые инструменты.
  2. Установите PHP и необходимые расширения.
  3. Настройте СУБД и создайте БД/пользователя.
  4. Настройте веб-сервер (NGINX) и TLS (опционально).
  5. Разверните файлы Shopware, настройте права и конфиги.
  6. Пройдите веб-мастер установки и проверьте работоспособность.

Краткий словарь (1‑линейный)

  • PHP-FPM: FastCGI‑процесс менеджер для PHP.
  • acme.sh: простой клиент для получения TLS сертификатов от Let’s Encrypt.
  • IonCube: загрузчик зашифрованных PHP‑модулей/скриптов.

Что проверить после установки

  • Лог ошибок NGINX: sudo journalctl -u nginx или /var/log/nginx/error.log
  • Лог PHP-FPM: /var/log/php7.2-fpm.log (или соответствующий)
  • Лог MySQL: /var/log/mysql/error.log
  • Работу cron задач и автопродление сертификатов (acme.sh) — попытайтесь выполнить dry run.

Полезные ссылки

Резюме

  • Shopware CE можно установить на Ubuntu 18.04 с NGINX, PHP 7.2 и MySQL.
  • Проверьте зависимости PHP, настройте права и SSL для продакшна.
  • Используйте чек-листы для ролей и критерии приёмки перед вводом в эксплуатацию.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Не удалось инициализировать Direct3D — решения
Техподдержка

Не удалось инициализировать Direct3D — решения

Исправить Data Retrieval в Diablo 4 на Steam
Игры

Исправить Data Retrieval в Diablo 4 на Steam

Open Graph в WordPress — настройка мета‑тегов
WordPress SEO

Open Graph в WordPress — настройка мета‑тегов

getconf: адаптивные скрипты для разных Linux
Linux

getconf: адаптивные скрипты для разных Linux

Проверка входов в Windows — успешные и неудачные попытки
Безопасность Windows

Проверка входов в Windows — успешные и неудачные попытки

Исправить ошибку DistributedCOM (DCOM) в Windows
Windows

Исправить ошибку DistributedCOM (DCOM) в Windows