Установка Shopware · 9 min read · Nov 11, 2025

Как установить Shopware 6 с NGINX и Let's Encrypt на CentOS 8

Shopware — это бесплатная и открытая платформа, которая помогает вам начать свой собственный интернет-магазин для ведения онлайн-бизнеса. Она предоставляет множество полезных инструментов, которые помогают вам создать и настроить полностью адаптивный интернет-магазин. Она очень похожа на Magento. По сравнению с Magento, Shopware является очень мощным, простым в использовании и гибким приложением. Она помогает вам легко создавать и управлять контентом и продуктами с любого устройства с помощью современного пользовательского интерфейса.

В этом руководстве мы покажем вам, как установить Shopware с Nginx и SSL Let’s Encrypt на CentOS 8.

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

  • Сервер с установленной CentOS 8.
  • Действительное доменное имя, указывающее на IP-адрес вашего сервера.
  • Настроенный root-пароль на вашем сервере.

Установка LEMP-сервера

Shopware работает на веб-сервере и построен на PHP с компонентами Symfony и Zend, и использует MySQL или MariaDB в качестве базы данных. Поэтому вам нужно будет установить Nginx, MariaDB, PHP и другие расширения на ваш сервер. Вы можете установить все из них с помощью следующей команды:

dnf install nginx mariadb-server php php-cli php-intl php-fpm php-common php-mysqli php-curl php-json php-zip php-gd php-xml php-mbstring php-opcache unzip -y

После установки всех пакетов запустите службы Nginx, MariaDB и PHP-FPM и включите их для автоматического запуска при перезагрузке системы с помощью следующей команды:

systemctl start mariadb  
systemctl enable mariadb  
systemctl start nginx  
systemctl start php-fpm  
systemctl enable nginx  
systemctl enable php-fpm

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

Настройка PHP-FPM

По умолчанию PHP-FPM настроен на работу от имени пользователя и группы apache. Поэтому вам нужно будет настроить его для работы от имени пользователя и группы Nginx. Вы можете сделать это, отредактировав файл /etc/php-fpm.d/www.conf:

nano /etc/php-fpm.d/www.conf

Измените следующие строки:

user = nginx 
group = nginx 

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

mkdir -p /var/lib/php/session   
chown -R nginx:nginx /var/lib/php/session

Далее отредактируйте файл php.ini и измените некоторые рекомендуемые настройки:

nano /etc/php.ini

Измените следующие строки:

memory_limit = 512M
upload_max_filesize = 20M
date.timezone = Asia/Kolkata

Сохраните и закройте файл, затем перезапустите службу PHP-FPM, чтобы применить изменения:

systemctl restart php-fpm

Создание базы данных для Shopware

Далее вам нужно будет создать базу данных и пользователя для Shopware. Сначала подключитесь к MariaDB с помощью следующей команды:

mysql

После подключения создайте базу данных и пользователя с помощью следующей команды:

MariaDB [(none)]> CREATE DATABASE shopware;  
MariaDB [(none)]> GRANT ALL ON shopware.* TO 'shopware' IDENTIFIED BY 'password';

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

MariaDB [(none)]> FLUSH PRIVILEGES;  
MariaDB [(none)]> EXIT;

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

Загрузка Shopware

Далее вам нужно будет загрузить последнюю версию Shopware с его официального сайта. Сначала создайте каталог для Shopware внутри корневого каталога Nginx:

mkdir /var/www/html/shopware

Далее загрузите Shopware с помощью следующей команды:

wget https://www.shopware.com/en/Download/redirect/version/sw6/file/install_v6.3.5.0_ba08dbfc07784b5cefe7837f2abbda69dbf5b8b7.zip -O shopware.zip

После завершения загрузки извлеките загруженный файл в каталог shopware:

unzip shopware.zip -d /var/www/html/shopware

Далее установите правильные права и собственность с помощью следующей команды:

chown -R nginx:nginx /var/www/html/shopware  
chmod -R 775 /var/www/html/shopware

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

Настройка Nginx для Shopware

Далее создайте файл конфигурации виртуального хоста Nginx для Shopware с помощью следующей команды:

nano /etc/nginx/conf.d/shopware.conf

Добавьте следующие строки:

server {
    listen 80;

    # Обработка / к index.php
    index index.php;

    # Наше имя сервера
    server_name shopware.example.com;

    # Где находится код
    root /var/www/html/shopware/public;

    # Необходимо для установки / обновления Shopware
    location /recovery/install {
        index index.php;
        try_files $uri /recovery/install/index.php$is_args$args;
    }

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

    # Перенаправление всех не найденных файлов на index.php. Также позволяет иметь красивые URL, такие как /homemade-products/
    location / {
        try_files $uri /index.php$is_args$args;
    }

    # Позволяет php-fpm обрабатывать .php файлы
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi.conf;
        fastcgi_param HTTP_PROXY "";
        fastcgi_buffers 8 16k;
        fastcgi_buffer_size 32k;
        fastcgi_read_timeout 300s;
        client_body_buffer_size 128k;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        http2_push_preload on;
    }
}

Сохраните и закройте файл, затем проверьте Nginx на наличие синтаксических ошибок с помощью следующей команды:

ginx -t

Вы должны получить следующий вывод:

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

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

systemctl restart nginx

Вы также можете проверить статус Nginx, используя команду ниже:

systemctl status nginx

Вы должны получить следующий вывод:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/nginx.service.d
           ??php-fpm.conf
   Active: active (running) since Tue 2021-02-02 00:40:04 EST; 19s ago
  Process: 76059 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 76057 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 76054 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 76060 (nginx)
    Tasks: 3 (limit: 12523)
   Memory: 5.5M
   CGroup: /system.slice/nginx.service
           ??76060 nginx: master process /usr/sbin/nginx
           ??76061 nginx: worker process
           ??76062 nginx: worker process

Feb 02 00:40:04 centos8 systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Feb 02 00:40:04 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Feb 02 00:40:04 centos8 nginx[76057]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Feb 02 00:40:04 centos8 nginx[76057]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Feb 02 00:40:04 centos8 systemd[1]: Started The nginx HTTP and reverse proxy server.

Настройка SELinux и брандмауэра

По умолчанию SELinux включен в CentOS 8. Поэтому вам нужно будет настроить контекст SELinux для Shopware. Вы можете настроить его с помощью следующей команды:

setsebool httpd_can_network_connect on -P  
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/shopware

Далее разрешите порты 80 и 443 через firewalld с помощью следующей команды:

firewall-cmd --permanent --add-service=http  
firewall-cmd --permanent --add-service=https  
firewall-cmd --reload

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

Доступ к веб-интерфейсу Shopware

Теперь откройте ваш веб-браузер и введите URL http://shopware.example.com.

Выберите ваш язык и нажмите кнопку Далее. Убедитесь, что все требования выполнены, затем нажмите кнопку Далее. Вы должны увидеть следующую страницу:

Условия Shopware

Согласитесь с GTC и нажмите кнопку Далее. Вы должны увидеть следующую страницу:

Настройка базы данных Shopware

Укажите вашу базу данных, имя пользователя, пароль и нажмите кнопку Начать установку. После завершения установки вы должны увидеть следующую страницу:

Shopware 6 успешно установлен

Нажмите на следующую страницу. Вам будет предложено указать название вашего магазина, адрес электронной почты, валюту, страну, имя пользователя администратора, пароль и нажмите кнопку Далее. Вы будете перенаправлены на панель управления Shopware:

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

Настройка валюты и электронной почты

Укажите всю информацию и нажмите кнопку Далее. Вы должны увидеть следующую страницу:

Панель управления Shopware

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

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

Установите демонстрационные данные или пропустите это и нажмите кнопку Далее. Вы должны увидеть следующую страницу:

Настройка электронной почты

Нажмите на Настроить позже. Вы должны увидеть следующую страницу:

Настройка Paypal

Нажмите кнопку Пропустить. Вы должны увидеть следующую страницу:

Установка плагинов

Нажмите кнопку Далее. Вы должны увидеть следующую страницу:

Безопасный аккаунт Shopware

Нажмите кнопку Пропустить. Вы должны увидеть следующую страницу:

Установка Shopware успешна

Нажмите кнопку Завершить. Вы должны увидеть страницу приветствия Shopware:

Добро пожаловать в Shopware 6

Защита Shopware с помощью Let’s Encrypt SSL

Далее вам нужно будет установить утилиту Certbot в вашу систему, чтобы загрузить и установить SSL Let’s Encrypt для домена Let’s Chat.

Вы можете установить клиент Certbot с помощью следующей команды:

wget https://dl.eff.org/certbot-auto  
mv certbot-auto /usr/local/bin/certbot-auto  
chown root /usr/local/bin/certbot-auto  
chmod 0755 /usr/local/bin/certbot-auto

Далее получите и установите SSL-сертификат для вашего домена с помощью следующей команды:

certbot-auto --nginx -d shopware.example.com

Вышеуказанная команда сначала установит все необходимые зависимости на вашем сервере. После установки вам будет предложено указать адрес электронной почты и принять условия обслуживания, как показано ниже:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for shopware.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/shopware.conf

Далее выберите, нужно ли перенаправлять HTTP-трафик на HTTPS, как показано ниже:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Введите 2 и нажмите Enter, чтобы продолжить. После завершения установки вы должны увидеть следующий вывод:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/shopware.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://shopware.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=shopware.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/shopware.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/shopware.example.com/privkey.pem
   Your cert will expire on 2021-04-2. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Теперь вы можете безопасно получить доступ к Shopware, используя URL https://shopware.example.com.

Заключение

Поздравляем! Вы успешно установили и настроили Shopware с Nginx и SSL Let’s Encrypt на CentOS 8. Теперь вы можете легко разместить свой собственный интернет-магазин с помощью Shopware. Не стесняйтесь задавать вопросы, если у вас есть какие-либо.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.