Instalação Shopware · 10 min read · Nov 11, 2025

Como Instalar Shopware 6 com NGINX e Let's Encrypt no CentOS 8

Shopware é uma plataforma gratuita e de código aberto que ajuda você a iniciar seu próprio site de comércio eletrônico para impulsionar seu negócio online. Ela fornece muitas ferramentas úteis que ajudam você a construir e personalizar uma loja online totalmente responsiva. É muito semelhante ao Magento. Comparado ao Magento, o Shopware é uma aplicação muito poderosa, fácil de usar e flexível. Ele ajuda você a criar e gerenciar conteúdo e produtos facilmente de qualquer dispositivo com sua interface de usuário moderna.

Neste tutorial, vamos mostrar como instalar o Shopware com Nginx e SSL Let’s Encrypt no CentOS 8.

Pré-requisitos

  • Um servidor rodando CentOS 8.
  • Um nome de domínio válido apontado para o IP do seu servidor.
  • Uma senha de root configurada no seu servidor.

Instalar Servidor LEMP

Shopware roda em um servidor Web e é construído em PHP com componentes Symfony e Zend, e usa MySQL ou MariaDB como backend de banco de dados. Portanto, você precisará instalar Nginx, MariaDB, PHP e outras extensões no seu servidor. Você pode instalar todos eles com o seguinte comando:

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

Uma vez que todos os pacotes estejam instalados, inicie os serviços Nginx, MariaDB e PHP-FPM e habilite-os para iniciar na reinicialização do sistema com o seguinte comando:

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

Uma vez que você tenha terminado, pode prosseguir para o próximo passo.

Configurar PHP-FPM

Por padrão, o PHP-FPM é configurado para rodar como um usuário e grupo apache. Portanto, você precisará configurá-lo para rodar como um usuário e grupo Nginx. Você pode fazer isso editando o arquivo /etc/php-fpm.d/www.conf:

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

Altere as seguintes linhas:

user = nginx 
group = nginx 

Salve e feche o arquivo, então crie um diretório de sessão e defina a propriedade adequada com o seguinte comando:

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

Em seguida, edite o arquivo php.ini e ajuste algumas configurações recomendadas:

nano /etc/php.ini

Altere as seguintes linhas:

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

Salve e feche o arquivo, então reinicie o serviço PHP-FPM para aplicar as alterações:

systemctl restart php-fpm

Criar um Banco de Dados para Shopware

Em seguida, você precisará criar um banco de dados e um usuário para o Shopware. Primeiro, conecte-se ao MariaDB usando o seguinte comando:

mysql

Uma vez conectado, crie um banco de dados e um usuário com o seguinte comando:

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

Em seguida, limpe os privilégios e saia do MariaDB com o seguinte comando:

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

Uma vez que você tenha terminado, pode prosseguir para o próximo passo.

Baixar Shopware

Em seguida, você precisará baixar a versão mais recente do Shopware do seu site oficial. Primeiro, crie um diretório para o Shopware dentro do diretório raiz do Nginx:

mkdir /var/www/html/shopware

Em seguida, baixe o Shopware com o seguinte comando:

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

Uma vez que o download esteja completo, extraia o arquivo baixado para o diretório shopware:

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

Em seguida, defina a permissão e a propriedade adequadas com o seguinte comando:

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

Uma vez que você tenha terminado, pode prosseguir para o próximo passo.

Configurar Nginx para Shopware

Em seguida, crie um arquivo de configuração de host virtual Nginx para o Shopware com o seguinte comando:

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

Adicione as seguintes linhas:

server {
    listen 80;

    # Handle / to index.php
    index index.php;

    # Nosso nome de servidor
    server_name shopware.example.com;

    # Onde o código está localizado
    root /var/www/html/shopware/public;

    # Necessário para instalação / atualização do 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;
        }
    }

    # Encaminhar qualquer arquivo não encontrado para index.php. Também permite ter URLs bonitas como /homemade-products/
    location / {
        try_files $uri /index.php$is_args$args;
    }

    # Deixe o php-fpm lidar com arquivos .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;
    }
}

Salve e feche o arquivo, então verifique o Nginx para qualquer erro de sintaxe com o seguinte comando:

ginx -t

Você deve obter a seguinte saída:

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

Em seguida, reinicie o serviço Nginx para aplicar as alterações:

systemctl restart nginx

Você também pode verificar o status do Nginx usando o comando abaixo:

systemctl status nginx

Você deve obter a seguinte saída:

? 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.

Configurar SELinux e Firewall

Por padrão, o SELinux está habilitado no CentOS 8. Portanto, você precisará configurar o contexto SELinux para o Shopware. Você pode configurá-lo com o seguinte comando:

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

Em seguida, permita a porta 80 e 443 através do firewalld com o seguinte comando:

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

Uma vez que você tenha terminado, pode prosseguir para o próximo passo.

Acessar a Interface Web do Shopware

Agora, abra seu navegador e digite a URL http://shopware.example.com.

Selecione seu idioma e clique no botão Próximo. Certifique-se de que todos os requisitos foram atendidos e clique no botão Próximo. Você deve ver a seguinte página:

Termos do Shopware

Concorde com os GTC e clique no botão Próximo. Você deve ver a seguinte página:

Configurar Banco de Dados do Shopware

Forneça seu banco de dados, nome de usuário, senha e clique no botão Iniciar instalação. Uma vez que a instalação esteja completa, você deve ver a seguinte página:

Shopware 6 foi instalado com sucesso

Clique na próxima página. Você será solicitado a fornecer o nome da sua loja, endereço de e-mail, moeda, país, nome de usuário do administrador, senha e clique no botão Próximo. Você será redirecionado para o painel do Shopware:

Configurar o nome da loja

Configuração de moeda e e-mail

Forneça todas as informações e clique no botão Próximo. Você deve ver a seguinte página:

Painel do Shopware

Instale os plugins de idioma desejados e clique no botão Próximo. Você deve ver a seguinte página:

Importação de dados

Instale dados de demonstração ou pule isso e clique no botão Próximo. Você deve ver a seguinte página:

Configuração de e-mail

Clique em Configurar mais tarde. Você deve ver a seguinte página:

Configuração do Paypal

Clique no botão Pular. Você deve ver a seguinte página:

Instalar plugins

Clique no botão Próximo. Você deve ver a seguinte página:

Proteger conta do shopware

Clique no botão Pular. Você deve ver a seguinte página:

Instalação do Shopware bem-sucedida

Clique no botão Finalizar. Você deve ver a página de boas-vindas do Shopware:

Bem-vindo ao Shopware 6

Proteger Shopware com SSL Let’s Encrypt

Em seguida, você precisará instalar o utilitário Certbot em seu sistema para baixar e instalar o SSL Let’s Encrypt para o domínio Let’s Chat.

Você pode instalar o cliente Certbot com o seguinte comando:

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

Em seguida, obtenha e instale um certificado SSL para seu domínio lets com o seguinte comando:

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

O comando acima primeiro instalará todas as dependências necessárias em seu servidor. Uma vez instalado, você será solicitado a fornecer um endereço de e-mail e aceitar os termos de serviço, conforme mostrado abaixo:

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

Em seguida, selecione se deseja ou não redirecionar o tráfego HTTP para HTTPS, conforme mostrado abaixo:

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

Digite 2 e pressione Enter para continuar. Uma vez que a instalação esteja concluída, você deve ver a seguinte saída:

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

Agora você pode acessar o Shopware com segurança usando a URL https://shopware.example.com.

Conclusão

Parabéns! você instalou e configurou com sucesso o Shopware com Nginx e SSL Let’s Encrypt no CentOS 8. Agora você pode facilmente hospedar sua própria loja online com o Shopware. Sinta-se à vontade para me perguntar se você tiver alguma dúvida.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.