Установка 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.
Изображение: обзор установки

Требования
Убедитесь, что система соответствует минимальным требованиям:
- 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 установлен.
Чек-листы и рекомендации
Быстрая проверка перед запуском
- Сервер: 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)
- Подготовьте ОС и базовые инструменты.
- Установите PHP и необходимые расширения.
- Настройте СУБД и создайте БД/пользователя.
- Настройте веб-сервер (NGINX) и TLS (опционально).
- Разверните файлы Shopware, настройте права и конфиги.
- Пройдите веб-мастер установки и проверьте работоспособность.
Краткий словарь (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 для продакшна.
- Используйте чек-листы для ролей и критерии приёмки перед вводом в эксплуатацию.
Похожие материалы
Не удалось инициализировать Direct3D — решения
Исправить Data Retrieval в Diablo 4 на Steam
Open Graph в WordPress — настройка мета‑тегов
getconf: адаптивные скрипты для разных Linux
Проверка входов в Windows — успешные и неудачные попытки