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

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

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

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


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

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

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

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

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

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

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

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

Защита 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. Не стесняйтесь задавать вопросы, если у вас есть какие-либо.
Get new posts in your inbox
No spam. Unsubscribe anytime.