GNU/Linux >> Linux Esercitazione >  >> Fedora

Come installare Shopware con NGINX e Lets Encrypt su Fedora 30

Shopware è la prossima generazione di software di e-commerce open source. Basato su tecnologie all'avanguardia come Symfony 3, Dottrine2 e Zend Framework Shopware è la piattaforma perfetta per il tuo prossimo progetto di e-commerce. Questo tutorial ti guiderà attraverso l'installazione di Shopware Community Edition (CE) sul sistema Fedora 30 utilizzando NGINX come server web.

Requisiti

Assicurati che il tuo sistema soddisfi i seguenti requisiti minimi:

  • Sistema operativo basato su Linux con server web NGINX o Apache 2.x (con mod_rewrite) installato.
  • PHP 5.6.4 o versioni successive con estensioni ctype, gd, curl, dom, hash, iconv, zip, json, mbstring, openssl, session, simplexml, xml, zlib, fileinfo e pdo/mysql. PHP 7.1 o superiore è fortemente raccomandato.
  • MySQL 5.5.0 o versioni successive.
  • Possibilità di impostare lavori cron.
  • Minimo 4 GB di spazio disponibile su disco.
  • IonCube Loader versione 5.0.0 o successiva (opzionale ).

NOTA: Shopware 5 è attualmente fino a PHP 7.2.x compatibile.

Prerequisiti

  • Un sistema operativo che esegue Fedora 29.
  • Un utente non root con privilegi sudo.

Userò il nome di dominio example.com in questo tutorial. Sostituisci la parola esempio.com con il tuo nome di dominio ovunque sia presente nei comandi e nei file di configurazione sottostanti (specialmente nel file di configurazione nginx e nei comandi Let's encrypt).

Passaggi iniziali

Controlla la tua versione di Fedora:

cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)

Imposta il fuso orario:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Aggiorna i pacchetti del tuo sistema operativo (software). Questo è un primo passo importante perché ti assicura di avere gli ultimi aggiornamenti e correzioni di sicurezza per i pacchetti software predefiniti del tuo sistema operativo:

sudo dnf upgrade -y

Installa alcuni pacchetti essenziali che sono necessari per l'amministrazione di base del sistema operativo Fedora:

sudo dnf install -y curl wget vim git sudo unzip socat bash-completion

Passaggio 1:installazione di estensioni PHP e PHP

Installa PHP e le estensioni PHP necessarie per 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

Per mostrare PHP compilato nei moduli, puoi eseguire:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Controlla la versione 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

Avvia e abilita il servizio PHP-FPM:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Possiamo passare al passaggio successivo, che è l'installazione di IonCube Loader.

Passaggio 2:installazione di IonCube Loader (opzionale )

Questo passaggio è facoltativo perché Shopware ora funziona senza IonCube, ma potrebbero esserci ancora estensioni o temi che utilizzano IonCube, quindi installarlo non fa male. Scarica IonCube Loader:

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

Estrarre il caricatore:

tar xfz ioncube_loaders_lin_*.gz

Trova la directory delle estensioni PHP sul sistema eseguendo il comando seguente:

php -i | grep extension_dir
# extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules

Copia ionCube Loader nella directory delle estensioni PHP:

sudo cp /tmp/ioncube/ioncube_loader_lin_7.2.so /usr/lib64/php/modules

Includi il caricatore tramite la configurazione PHP:

sudo vim /etc/php.ini

Quindi aggiungi una riga nel file per includere ionCube loader. Può essere ovunque nel file sottostante [PHP] riga:

zend_extension = /usr/lib64/php/modules/ioncube_loader_lin_7.2.so

Salva il file e riavvia PHP-FPM:

sudo systemctl restart php-fpm.service

Passaggio 3:installa MariaDB e crea un database per Shopware

Installa server di database MariaDB:

sudo dnf install -y mariadb-server

Controlla la versione di MariaDB:

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

Avvia e abilita il servizio MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Esegui mysql_secure installation script per migliorare la sicurezza di MariaDB e impostare la password per MariaDB root utente:

sudo mysql_secure_installation

Rispondi a ciascuna delle domande:

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

Connettiti a MariaDB shell come utente root:

sudo mysql -u root -p
# Enter password

Crea un database MariaDB vuoto e un utente per Shopware e ricorda le credenziali:

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

Esci da MariaDB:

mysql> exit

Sostituisci dbnameusernamepassword con i tuoi nomi.

Passaggio 4 - Installa il client Acme.sh e ottieni il certificato Let's Encrypt (opzionale)

Proteggere il tuo sito web con HTTPS non è necessario, ma è una buona pratica per proteggere il traffico del tuo sito. Per ottenere un certificato TLS da Let's Encrypt utilizzeremo il client acme.sh. Acme.sh è un puro software shell Unix per ottenere certificati TLS da Let's Encrypt con zero dipendenze.

Scarica e installa acme.sh:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

Controlla la versione di acme.sh:

acme.sh --version
# v2.8.1

Ottieni RSAECC/ECDSA certificati per il tuo dominio/nome host:

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

Se desideri certificati falsi per i test, puoi aggiungere --staging segnala ai comandi precedenti.

Dopo aver eseguito i comandi precedenti, i tuoi certificatichiavi sarà in:

  • Per RSA/home/username/example.com directory.
  • Per ECC/ECDSA/home/username/example.com_ecc directory.

Per elencare i certificati emessi puoi eseguire:

acme.sh --list

Crea una directory in cui archiviare i tuoi certificati. Useremo una directory /etc/letsencrypt.

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

Installa/copia i certificati nella directory /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"

Tutti i certificati verranno rinnovati automaticamente ogni 60 giorni.

Dopo aver ottenuto i certificati, esci dall'utente root e torna al normale utente sudo:

exit

Passaggio 5 - Installa e configura NGINX

Installa il server web NGINX:

sudo dnf install -y nginx

Controlla la versione di NGINX:

nginx -v
# nginx version: nginx/1.14.2

Avvia e abilita il servizio NGINX:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Configura NGINX per Shopware. Esegui sudo vim /etc/nginx/conf.d/shopware.conf e aggiungi la seguente configurazione:

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;
    }
}

Controlla la configurazione di NGINX per errori di sintassi:

sudo nginx -t

Ricarica il servizio NGINX :

sudo systemctl reload nginx.service

Passaggio 6: Installa Shopware

Crea una directory principale dei documenti per Shopware:

sudo mkdir -p /var/www/shopware

Modifica la proprietà del /var/www/shopware directory in {tuo_utente}. Sostituisci {your_user} con il nome utente dell'utente a cui hai effettuato l'accesso:

sudo chown -R {your_user}:{your_user} /var/www/shopware

Vai alla directory principale del documento:

cd /var/www/shopware

Scarica e decomprimi l'ultima versione di Shopware tramite 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

NOTA: Aggiorna l'URL di download se è disponibile una versione più recente.

Modifica la proprietà del /var/www/shopware directory in nginx .

sudo chown -R nginx:nginx /var/www/shopware

Esegui sudo vim /etc/php-fpm.d/www.conf e imposta l'utente e il gruppo su nginx . Inizialmente, verranno impostati su apache:

sudo vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx

Crea /var/lib/php/session/ directory e cambia la proprietà in nginx .

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

Aumenta memory_limit = 256Mupload_max_filesize = 6M e imposta allow_url_fopen = On se non è già impostato in /etc/php/7.2/fpm/php.ini file.

sudo vim /etc/php.ini

Dopo aver apportato modifiche in /etc/php.ini file, ricarica php-fpm.service:

sudo systemctl reload php-fpm.service

Apri il tuo dominio/IP nel browser web e segui la procedura guidata di installazione. Il backend di Shopware si trova in /backend esempio: http://example.com/backend .

Passaggio 7:completa la configurazione di Shopware

Inizia selezionando la lingua e fai clic su Avanti:

Quindi, assicurati di soddisfare tutti i requisiti Shopware:

Accetta Shopware TOS e fai clic su Avanti:

Immettere le credenziali del database e fare clic su Avanti:

Avvia l'installazione per creare tabelle di database:

Successivamente, vedrai un messaggio sull'importazione riuscita del database:

Scegli una licenza e fai clic su Avanti:

Completa alcune impostazioni di base per completare la configurazione e fai clic su Avanti:

L'installazione è completa.

Per accedere all'area di amministrazione aggiungi /backend al tuo URL.

Hai installato Shopware con successo. Goditi il ​​tuo nuovo negozio online!

  • https://en.shopware.com/
  • https://github.com/shopware/shopware

Fedora
  1. Come installare Pagekit CMS con Nginx su Fedora 29

  2. Come installare InvoicePlane con Nginx su Fedora 29

  3. Come installare October CMS con Nginx su Fedora 29

  4. Come installare Shopware con NGINX e Lets crittografare su Ubuntu 18.04 LTS

  5. Come installare Phorum con Nginx su Fedora 30

Come installare Nginx con PHP e MariaDB (LEMP Stack) con Opcache, Redis e Lets Encrypt su Fedora 32

Come installare Shopware 6 con Nginx e Lets Encrypt SSL su Ubuntu 20.04

Come installare e configurare Nextcloud su Fedora 32

Come installare Shopware 6 con NGINX e Lets Encrypt su CentOS 8

Come installare Shopware con NGINX e Lets crittografare su Debian 9

Come installare MyBB Forum con Nginx e Lets Encrypt su Debian 10