Como instalar Shopware com NGINX e Lets Encrypt no Fedora 30
Nesta página
- Requisitos
- Pré-requisitos
- Etapa 1 - Instale o PHP e as extensões do PHP
- )
- Etapa 3 - Instale MariaDB e crie um banco de dados para Shopware
- Etapa 4 - Instalar o cliente Acme.sh e obter o certificado Lets Encrypt (opcional)
- Etapa 5 - Instalar e configurar NGINX
- Etapa 6 - Instalar Shopware
- Etapa 7 - Conclua a configuração do Shopware
- Links
Shopware é a próxima geração de software de comércio eletrônico de código aberto. Baseado em tecnologias de ponta como Symfony 3, Doctrine2
e Zend Framework Shopware vem como a plataforma perfeita para seu próximo projeto de e-commerce. Este tutorial acompanhará você na instalação do Shopware Community Edition (CE) no sistema Fedora 30 usando o NGINX como um servidor web.
Requisitos
Certifique-se de que seu sistema atenda aos seguintes requisitos mínimos:
- Sistema operacional baseado em Linux com servidor da web NGINX ou Apache 2.x (com mod_rewrite) instalado.
- PHP 5.6.4 ou superior com 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 tarefas cron.
- Mínimo de 4 GB de espaço disponível no disco rígido.
- IonCube Loader versão 5.0.0 ou superior (opcional).
OBSERVAÇÃO: atualmente, o Shopware 5 é compatível com PHP 7.2.x .
Pré-requisitos
- Um sistema operacional rodando Fedora 29.
- Um usuário não root com privilégios sudo.
Usarei o nome de domínio example.com neste tutorial. Substitua a palavra example.com pelo seu próprio nome de domínio sempre que ocorrer nos comandos e arquivos de configuração abaixo (especialmente no arquivo de configuração nginx e nos comandos Lets encrypt).
Etapas iniciais
Verifique sua versão do Fedora:
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Configure o fuso horário:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Atualize seus pacotes de sistema operacional (software). Este é um primeiro passo importante porque garante que você tenha as atualizações e correções de segurança mais recentes para os pacotes de software padrão do seu sistema operacional:
sudo dnf upgrade -y
Instale alguns pacotes essenciais que são necessários para a administração básica do sistema operacional Fedora:
sudo dnf install -y curl wget vim git sudo unzip socat bash-completion
Etapa 1 - Instale o PHP e as extensões do PHP
Instale o PHP, bem como as extensões PHP necessárias para Shopware:
sudo dnf install -y php php-cli php-fpm php-common php-mysqlnd php-curl php-json php-zip php-gd php-xml php-mbstring php-opcache
Para mostrar o PHP compilado em módulos, 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 systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Podemos passar para a próxima etapa, que é a instalação do IonCube Loader.
Etapa 2 - Instalar o IonCube Loader (opcional)
Esta etapa é opcional porque o Shopware funciona sem o IonCube agora, mas ainda pode haver extensões ou temas que usam o IonCube, portanto, não custa instalá-lo. Baixe o carregador IonCube:
cd /tmp && wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
Extraia o carregador:
tar xfz ioncube_loaders_lin_*.gz
Encontre o diretório de extensões do PHP no sistema executando o comando abaixo:
php -i | grep extension_dir
# extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules
Copie o ionCube Loader para o diretório de extensões do PHP:
sudo cp /tmp/ioncube/ioncube_loader_lin_7.2.so /usr/lib64/php/modules
Inclua o carregador via configuração do PHP:
sudo vim /etc/php.ini
Em seguida, adicione uma linha no arquivo para incluir o carregador ionCube. Pode estar em qualquer lugar no arquivo abaixo da linha [PHP]
:
zend_extension = /usr/lib64/php/modules/ioncube_loader_lin_7.2.so
Salve o arquivo e reinicie o PHP-FPM:
sudo systemctl restart php-fpm.service
Passo 3 - Instale MariaDB e crie um banco de dados para Shopware
Instale o servidor de banco de dados MariaDB:
sudo dnf install -y mariadb-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 ative o serviço MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Execute o script de instalação mysql_secure
para melhorar a segurança do MariaDB e defina a senha para o usuário root
do MariaDB:
sudo mysql_secure_installation
Responda a cada uma das perguntas:
Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Conecte-se ao shell MariaDB como usuário root:
sudo mysql -u root -p
# Enter password
Crie um banco de dados MariaDB vazio e um usuário para Shopware e lembre-se das credenciais:
mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
Sair do MariaDB:
mysql> exit
Substitua dbname
, username
e password
pelos seus próprios nomes.
Etapa 4 - Instale o cliente Acme.sh e obtenha o certificado Lets Encrypt (opcional)
Proteger seu site com HTTPS não é necessário, mas é uma boa prática proteger o tráfego do site. Para obter um certificado TLS da Lets Encrypt, usaremos o cliente acme.sh. Acme.sh é um software de shell Unix puro para obter certificados TLS da Lets Encrypt com zero dependências.
Baixe e instale acme.sh:
sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail
source ~/.bashrc
cd ~
Verifique a versão do acme.sh:
acme.sh --version
# v2.8.1
Obtenha os certificados RSA e ECC/ECDSA para seu domínio/nome de host:<br>
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256
Se você deseja certificados falsos para teste, pode adicionar o sinalizador --staging
aos comandos acima.
Depois de executar os comandos acima, seus certificados e chaves estarão em:
- Para RSA:
/home/username/example.com
diretório. - Para ECC/ECDSA:
/home/username/example.com_ecc
diretório.
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 systemctl reload nginx.service"
Todos os certificados serão renovados automaticamente a cada 60 dias.
Depois de obter os certificados, saia do usuário root e retorne ao usuário sudo normal:
exit
Etapa 5 - Instalar e configurar NGINX
Instale o servidor web NGINX:
sudo dnf install -y nginx
Verifique a versão do NGINX:
nginx -v
# nginx version: nginx/1.14.2
Inicie e ative o serviço NGINX:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Configure NGINX para Shopware. Execute sudo vim /etc/nginx/conf.d/shopware.conf
e adicione a seguinte configuração:
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 fastcgi.conf;
fastcgi_pass unix:/run/php-fpm/www.sock;
}
}
Verifique a configuração NGINX para erros de sintaxe:
sudo nginx -t
Recarregue o serviço NGINX :
sudo systemctl reload nginx.service
Etapa 6 - Instalar Shopware
Crie um diretório raiz de documentos para Shopware:
sudo mkdir -p /var/www/shopware
Altere a propriedade do diretório /var/www/shopware
para {your_user}. Substitua {your_user} pelo nome de usuário do usuário com o qual você está conectado no momento:
sudo chown -R {your_user}:{your_user} /var/www/shopware
Navegue até o diretório raiz do documento:
cd /var/www/shopware
Baixe e descompacte a versão mais recente do Shopware via wget:
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
OBSERVAÇÃO: Atualize o URL de download se houver uma versão mais recente.
Altere a propriedade do diretório /var/www/shopware
para nginx
.
sudo chown -R nginx:nginx /var/www/shopware
Execute sudo vim /etc/php-fpm.d/www.conf
e defina o usuário e o grupo como nginx
. Inicialmente, eles serão definidos como apache:
sudo vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx
Crie o diretório /var/lib/php/session/
e altere a propriedade para nginx
.
sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php/session
Aumente memory_limit=256M
e upload_max_filesize=6M
e defina allow_url_fopen=On
se ainda não estiver definido em /etc/php/7.2/ fpm/php.ini
arquivo.
sudo vim /etc/php.ini
Depois de fazer alterações no arquivo /etc/php.ini
, recarregue php-fpm.service:
sudo systemctl reload php-fpm.service
Abra seu domínio/IP no navegador da Web e siga o assistente de instalação. O backend do Shopware está localizado em /backend
exemplo: http://example.com/backend
.
Etapa 7 - Conclua a configuração do Shopware
Comece selecionando o idioma e clique em Avançar:
Em seguida, certifique-se de atender a todos os requisitos do Shopware:
Concorde com Shopware TOS e clique em Avançar:
Insira as credenciais do banco de dados e clique em Avançar:
Inicie a instalação para criar tabelas de banco de dados:
Depois disso, você verá uma mensagem sobre a importação bem-sucedida do banco de dados:
Escolha uma licença e clique em Avançar:
Preencha algumas configurações básicas para concluir a configuração e clique em Avançar:
A instalação está concluída.
Para acessar a área administrativa, anexe /backend ao seu URL.
Você instalou o Shopware com sucesso. Desfrute da sua nova loja online!
links
- https://en.shopware.com/
- https://github.com/shopware/shopware