Instalação Shopware · 7 min read · Dec 14, 2025

Como Instalar Shopware com NGINX e Let's Encrypt no FreeBSD 12

Shopware é a próxima geração de software de e-commerce de código aberto. Baseado em tecnologias de ponta como Symfony 3, Doctrine 2 e Zend Framework, Shopware é a plataforma perfeita para o seu próximo projeto de e-commerce. Este tutorial irá guiá-lo pela instalação da Edição Comunitária (CE) do Shopware no sistema FreeBSD 12 usando o NGINX como servidor web.

Requisitos

Certifique-se de que seu sistema atende aos seguintes requisitos mínimos:

  • Sistema operacional baseado em Linux com NGINX ou Apache 2.x (com mod_rewrite) instalado.
  • PHP 5.6.4 ou superior com as extensões ctype, gd, curl, dom, hash, iconv, zip, json, mbstring, openssl, session, simplexml, xml, zlib, fileinfo e pdo/mysql. PHP 7.1 ou superior é fortemente recomendado.
  • MySQL 5.5.0 ou superior.
  • Possibilidade de configurar cron jobs.
  • Mínimo de 4 GB de espaço em disco disponível.
  • IonCube Loader versão 5.0.0 ou superior ( opcional).

*NOTA: Shopware 5 é atualmente compatível até PHP 7.2.x.*

Pré-requisitos

  • Um sistema operacional rodando FreeBSD 12.
  • Um usuário não-root com privilégios sudo.

Eu usarei o nome de domínio example.com neste tutorial. Por favor, substitua a palavra example.com pelo seu próprio nome de domínio sempre que ela ocorrer nos comandos e arquivos de configuração abaixo (especialmente no arquivo de configuração do Nginx e nos comandos do Let’s Encrypt).

Passos Iniciais

Verifique sua versão do FreeBSD:

uname -ro  
# FreeBSD 12.0-RELEASE

Configure o fuso horário:

tzsetup

Atualize os pacotes do seu sistema operacional (software). Este é um primeiro passo importante porque garante que você tenha as últimas atualizações e correções de segurança para os pacotes de software padrão do seu sistema operacional:

freebsd-update fetch install  
pkg update && pkg upgrade -y

Instale alguns pacotes essenciais que são necessários para a administração básica do sistema operacional FreeBSD 12.0:

pkg install -y sudo vim unzip wget bash socat

Passo 1 - Instalar PHP e extensões PHP

Instale o PHP, bem como as extensões PHP necessárias para o Shopware:

sudo pkg install -y php72 php72-ctype php72-curl php72-dom php72-hash php72-iconv php72-gd php72-json php72-mbstring php72-openssl php72-session php72-simplexml php72-xml php72-zip php72-zlib php72-pdo php72-pdo_mysql php72-filter php72-ftp php72-tokenizer php72-calendar php72-pecl-APCu php72-opcache

Para mostrar os módulos compilados no PHP, você pode executar:

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

Verifique a versão do PHP:

php --version  
  
# PHP 7.2.16 (cli) (built: Apr 30 2019 08:37:17) ( NTS )  
# Copyright (c) 1997-2018 The PHP Group  
# Zend Engine v3.3.5, Copyright (c) 1998-2018 Zend Technologies  
# with Zend OPcache v7.3.5, Copyright (c) 1999-2018, by Zend Technologies

Inicie e habilite o serviço PHP-FPM:

sudo sysrc php_fpm_enable=yes  
sudo service php-fpm start

Podemos passar para o próximo passo, que é a instalação do IonCube Loader.

Passo 2 - Instalar IonCube Loader (opcional)

Este passo é opcional porque o Shopware funciona sem IonCube agora, mas ainda pode haver extensões ou temas que usam IonCube, então não faz mal instalá-lo. Baixe o IonCube Loader:

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

Extraia o loader:

tar xfz ioncube_loaders_fre_*.tar.gz

Encontre o diretório de extensões do PHP no sistema executando o comando abaixo:

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

Copie o IonCube Loader para o diretório de extensões do PHP:

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

Inclua o loader via configuração do PHP:

sudo vim /usr/local/etc/php.ini

Então adicione uma linha no arquivo para incluir o loader do ionCube. Pode ser em qualquer lugar no arquivo abaixo da linha [PHP]:

zend_extension = /usr/local/lib/php/20170718/ioncube_loader_fre_7.2.so

Salve o arquivo e reinicie o PHP-FPM:

sudo service php-fpm restart

Passo 3 - Instalar MariaDB e criar um banco de dados para o Shopware

Instale o servidor de banco de dados MariaDB:

sudo pkg install -y mariadb102-client mariadb102-server

Verifique a versão do MariaDB:

mysql --version  
# mysql  Ver 15.1 Distrib 10.2.23-MariaDB, for Linux (x86_64) using readline 5.1

Inicie e habilite o serviço MariaDB:

sudo sysrc mysql_enable="yes"  
sudo service mysql-server start

Execute o script mysql_secure_installation para melhorar a segurança do MariaDB e definir a senha para o usuário root do MariaDB:

sudo mysql_secure_installation

Responda a cada uma das perguntas:

`Você gostaria de configurar o plugin VALIDATE PASSWORD? N  
Nova senha: sua_senha_segura  
Reinsira a nova senha: sua_senha_segura  
Remover usuários anônimos? [Y/n] Y  
Desabilitar login remoto do root? [Y/n] Y  
Remover banco de dados de teste e acesso a ele? [Y/n] Y  
Recarregar tabelas de privilégios agora? [Y/n] Y`

Conecte-se ao shell do MariaDB como usuário root:

sudo mysql -u root -p  
# Digite a senha  

Crie um banco de dados MariaDB vazio e um usuário para o Shopware e lembre-se das credenciais:

mysql> CREATE DATABASE dbname;  
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';  
mysql> FLUSH PRIVILEGES;

Saia do MariaDB:

mysql> exit

Substitua dbname, username e password pelos seus próprios nomes.

Passo 4 - Instalar cliente Acme.sh e obter certificado Let’s Encrypt (opcional)

Proteger seu site com HTTPS não é necessário, mas é uma boa prática proteger o tráfego do seu site. Para obter um certificado TLS do Let’s Encrypt, usaremos o cliente acme.sh. Acme.sh é um software de shell Unix puro para obter certificados TLS do Let’s Encrypt com zero dependências.

Baixe e instale o acme.sh:

sudo pkg install -y acme.sh

Verifique a versão do acme.sh:

acme.sh --version  
# v2.8.2

Obtenha certificados RSA e ECC/ECDSA para seu domínio/nome do host:

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

Se você quiser certificados falsos para teste, pode adicionar a flag --staging aos comandos acima.

Após executar os comandos acima, seus certificados e chaves estarão em:

  • Para RSA: diretório /home/username/example.com.
  • Para ECC/ECDSA: diretório /home/username/example.com_ecc.

Para listar seus certificados emitidos, você pode executar:

acme.sh --list

Crie um diretório para armazenar seus certificados. Usaremos um diretório /etc/letsencrypt.

`mkdir -p /etc/letsecnrypt/example.com`  
`sudo mkdir -p /etc/letsencrypt/example.com_ecc`

Instale/copie os certificados para o diretório /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 service nginx reload"

Todos os certificados serão renovados automaticamente a cada 60 dias.

Após obter os certificados, saia do usuário root e volte ao usuário sudo normal:

exit

Passo 5 - Instalar e configurar NGINX

Instale o servidor web NGINX:

sudo pkg install -y nginx

Verifique a versão do NGINX:

nginx -v  
# nginx version: nginx/1.14.2

Inicie e habilite o serviço NGINX:

sudo sysrc nginx_enable=yes  
sudo service nginx start

Configure o Nginx para o Shopware executando:

sudo vim /usr/local/etc/nginx/shopware.conf

E preencha o arquivo com a seguinte configuração:

server {
    listen 80;
    listen [::]:80;
    
    server_name example.com;
    root /usr/local/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 fastcgi.conf;
        fastcgi_pass 127.0.0.1:9000;
    }
}

Execute sudo vim /usr/local/etc/nginx/nginx.conf e adicione a linha abaixo ao bloco http {} para incluir a configuração do Shopware.

include shopware.conf;

Verifique a configuração do Nginx para erros de sintaxe:

sudo nginx -t

Recarregue o serviço Nginx:

sudo service nginx reload

Passo 6 - Instalar Shopware

Crie um diretório raiz de documentos para o Shopware:

sudo mkdir -p /usr/local/www/shopware

Navegue até o diretório raiz de documentos:

cd /usr/local/www/shopware

Baixe e descompacte o Shopware:

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

NOTA: Atualize a URL de download se houver uma versão mais recente.

Forneça a propriedade apropriada:

sudo chown -R www:www /usr/local/www/shopware

Aumente memory_limit = 256M e upload_max_filesize = 6M, e defina allow_url_fopen = On se ainda não estiver definido no arquivo /usr/local/etc/php.ini:

sudo vim /usr/local/etc/php.ini

Após fazer alterações no arquivo /etc/php/7.2/fpm/php.ini, recarregue php-fpm.service:

sudo service php-fpm reload

Abra seu domínio/IP no navegador e siga o assistente de instalação. O backend do Shopware está localizado em /backend, exemplo: http://example.com/backend.

Passo 7 - Completar a configuração do Shopware

Comece selecionando o idioma e clique em Avançar:

Assistente de Instalação do Shopware

Em seguida, certifique-se de que você atende a todos os requisitos do Shopware:

Requisitos do Sistema do Shopware

Concorde com os TOS do Shopware e clique em Avançar:

Termos de serviço do ShopWare

Insira as credenciais do banco de dados e clique em Avançar:

Configurar o banco de dados

Inicie a instalação para criar tabelas de banco de dados:

Criar tabelas de banco de dados

Depois disso, você verá uma mensagem sobre a importação bem-sucedida do banco de dados:

Instalação bem-sucedida

Escolha uma licença e clique em Avançar:

Licenciamento

Preencha algumas configurações básicas para finalizar a configuração e clique em Avançar:

Configuração básica da loja

A instalação está completa.

Instalação completa

** Para acessar a área administrativa, acrescente /backend ao seu URL.

Login do Shopware

Você instalou o Shopware com sucesso. Aproveite sua nova loja online!

Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.