Shopware CE è una piattaforma di eCommerce gratuita e open source scritta in Symfony e Vue.js. Si basa su uno stack tecnologico abbastanza moderno e un'ottima alternativa a un'altra applicazione di eCommerce, come Magento. È un'applicazione molto potente e flessibile e ti dà la libertà di sfruttare rapidamente e facilmente il tuo potenziale di crescita e concentrarti sulla perfetta esperienza del cliente. Fornisce un'interfaccia di amministrazione semplice e facile da usare per la gestione di clienti e ordini. Ti consente di gestire i prezzi dei prodotti, modificare o aggiornare i temi, progettare modelli di email per commercializzare i tuoi prodotti e generare risultati statistici.
In questo tutorial, ti mostreremo come installare Shopware CE con Nginx e Let's Encrypt su Ubuntu 20.04.
Prerequisiti
- Un server che esegue Ubuntu 20.04 con un minimo di 4 GB di RAM.
- Un nome di dominio valido puntato al tuo server.
- Sul tuo server è configurata una password di root.
Installa Nginx e MariaDB
Innanzitutto, installa il server Web Nginx e il server del database MariaDB utilizzando il seguente comando:
apt-get install nginx mariadb-server -y
Una volta installati entrambi i pacchetti, avvia il servizio Nginx e MariaDB e abilita l'avvio all'avvio del sistema:
systemctl start nginx
systemctl start mariadb
systemctl enable nginx
systemctl enable mariadb
Installa PHP e altri componenti
Shopware 6 supporta le versioni PHP dalla 7.2 alla 7.3. Quindi dovrai installare PHP insieme ad altre librerie nel tuo sistema.
Innanzitutto, aggiungi il repository PHP nel tuo sistema con il seguente comando:
apt-get install software-properties-common -y
add-apt-repository ppa:ondrej/php
Una volta aggiunto il repository, installa PHP con altre librerie usando il seguente comando:
apt-get install php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mysql php7.2-curl php7.2-json php7.2-zip php7.2-gd php7.2-xml php7.2-mbstring php7.2-intl php7.2-opcache git unzip socat curl bash-completion -y
Una volta installati tutti i pacchetti, modifica il file php.ini e modifica alcune impostazioni desiderate:
nano /etc/php/7.2/fpm/php.ini
Modifica le seguenti righe:
memory_limit = 512M upload_max_filesize = 20M max_execution_time = 300
Salva e chiudi il file quando hai finito.
Successivamente, dovrai installare il caricatore IonCube nel tuo sistema.
Innanzitutto, scaricalo con il seguente comando:
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
Una volta scaricato, estrai il file scaricato con il seguente comando:
tar xfz ioncube_loaders_lin_x86-64.tar.gz
Quindi, individua il percorso della directory dell'estensione PHP:
php -i | grep extension_dir
Dovresti vedere il seguente output:
extension_dir => /usr/lib/php/20190902 => /usr/lib/php/20190902
Quindi, copia il caricatore di IonCube nella directory dell'estensione PHP:
cp ioncube/ioncube_loader_lin_7.2.so /usr/lib/php/20180731/
Quindi, modifica il file php.ini e definisci il caricatore IonCube:
nano /etc/php/7.2/fpm/php.ini
Aggiungi la seguente riga all'interno della sezione [PHP]:
zend_extension = /usr/lib/php/20180731/ioncube_loader_lin_7.2.so
Salva e chiudi il file, quindi riavvia il servizio PHP-FPM per applicare le modifiche.
systemctl restart php7.2-fpm
Configura il database MariaDB
Innanzitutto, proteggi l'installazione di MariaDB e imposta la password di root utilizzando il seguente script:
mysql_secure_installation
Rispondi a tutte le domande come mostrato di seguito:
Enter current password for root (enter for none): Set root password? [Y/n] Y New password: Re-enter new 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
Una volta terminato, accedi alla shell di MariaDB con il seguente comando:
mysql -u root -p
Fornisci la tua password di root MariaDB, quindi crea un database e un utente per Shopware:
MariaDB [(none)]> CREATE DATABASE shopwaredb;
MariaDB [(none)]> GRANT ALL ON shopwaredb.* TO 'shopware'@'localhost' IDENTIFIED BY 'password';
Quindi, svuota i privilegi ed esci da MariaDB usando il seguente comando:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Una volta terminato, puoi procedere al passaggio successivo.
Installa Composer
Composer è un gestore delle dipendenze per PHP. Viene utilizzato per installare tutte le dipendenze PHP richieste per installare Shopware.
Puoi installarlo usando il comando curl come mostrato di seguito:
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
Una volta installato, verifica la versione di Composer con il seguente comando:
composer --version
Dovresti ottenere il seguente output:
Composer version 1.10.7 2020-06-03 10:03:56
Scarica Shopware
Innanzitutto, crea una directory per Shopware all'interno della directory principale web di Nginx:
mkdir /var/www/html/shopware
Quindi, cambia la directory in shopware e scarica l'ultima versione di Shopware usando il seguente comando:
cd /var/www/html/shopware
wget https://www.shopware.com/en/Download/redirect/version/sw6/file/install_6.2.2_1592398977.zip
Una volta scaricato, decomprimi il file scaricato con il seguente comando:
unzip install_6.2.2_1592398977.zip
Quindi, installa tutte le dipendenze PHP usando il seguente comando:
composer install
Quindi, cambia la proprietà della directory shopware e concedi le autorizzazioni appropriate usando il seguente comando:
chown -R www-data:www-data /var/www/html/shopware
chmod -R 755 /var/www/html/shopware
Una volta terminato, puoi procedere al passaggio successivo.
Configura Nginx per Shopware
Innanzitutto, crea un nuovo file di configurazione dell'host virtuale Nginx per Shopware:
nano /etc/nginx/sites-available/shopware.conf
Aggiungi le seguenti righe:
server { listen 80; index index.php index.html; server_name shopware.linuxbuz.com; root /var/www/html/shopware/public; location /recovery/install { index index.php; try_files $uri /recovery/install/index.php$is_args$args; } location /recovery/update/ { location /recovery/update/assets { } if (!-e $request_filename){ rewrite . /recovery/update/index.php last; } } location / { try_files $uri /index.php$is_args$args; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi.conf; fastcgi_param HTTP_PROXY ""; fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; client_max_body_size 24M; client_body_buffer_size 128k; fastcgi_pass unix:/run/php/php7.2-fpm.sock; http2_push_preload on; } }
Salva e chiudi il file, quindi abilita il file host virtuale Shopware con il seguente comando:
ln -s /etc/nginx/sites-available/shopware.conf /etc/nginx/sites-enabled/
Quindi, controlla Nginx per eventuali errori di sintassi usando il seguente comando:
nginx -t
Dovresti ottenere il seguente output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Quindi, riavvia il servizio Nginx per applicare le modifiche:
systemctl reload nginx
Accesso alla procedura guidata di installazione di Shopware
A questo punto, Shopware è installato nel tuo sistema. Ora apri il tuo browser web e digita l'URL http://shopware.linuxbuz.com. Dovresti vedere la procedura guidata di installazione Web di Shopware:
Seleziona la tua lingua e fai clic su Avanti pulsante. Dovresti vedere la seguente schermata:
Assicurati che tutte le dipendenze richieste siano installate, quindi fai clic su Avanti pulsante. Dovresti vedere la seguente schermata:
Accetta i termini e le condizioni e fai clic su Avanti pulsante. Dovresti vedere la seguente schermata:
Fornisci i dettagli del tuo database e fai clic su Avvia installazione pulsante. Una volta che l'installazione è stata completata con successo, dovresti vedere la seguente schermata:
Ora, fai clic su Avanti pulsante. Dovresti vedere la schermata di configurazione di Shopware:
Fornisci il nome del negozio, l'e-mail, il paese, l'e-mail dell'amministratore, il nome utente dell'amministratore, la password e fai clic su Avanti pulsante. Verrai reindirizzato alla schermata del dashboard di Shopware:
Fare clic su Avanti pulsante. Dovresti vedere la seguente schermata:
Installa i dati desiderati e fai clic su Avanti pulsante. Dovresti vedere la seguente schermata:
Seleziona l'agente di posta elettronica desiderato e fai clic su Avanti pulsante. Dovresti vedere la seguente schermata:
Seleziona l'opzione desiderata e fai clic su Avanti pulsante. Dovresti vedere la seguente schermata:
Configura il tuo PayPal o fai clic su Salta pulsante. Dovresti vedere la seguente schermata:
Configura le tue credenziali PayPal o fai clic su Salta pulsante. Dovresti vedere la seguente schermata:
Seleziona la tua regione e fai clic su Avanti pulsante. Dovresti vedere la seguente schermata:
Fai clic su Salta pulsante. Una volta configurato Shopware, dovresti vedere la seguente schermata:
Fai clic su Fine pulsante. Dovresti vedere la dashboard di Shopware nella schermata seguente:
Proteggi Shopware con Let's Encrypt
Prima di iniziare, dovrai installare il client Certbot nel tuo sistema per installare e gestire Let's Encrypt SSL. Puoi installarlo usando il seguente comando:
apt-get install certbot python3-certbot-nginx -y
Una volta installato il client Certbot, esegui il seguente comando per scaricare e installare Let's Encrypt SSL per il tuo sito web:
certbot --nginx -d shopware.linuxbuz.com
Fornisci il tuo indirizzo email e accetta i termini del servizio come mostrato di seguito:
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.linuxbuz.com Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/shopware.conf
Seleziona se reindirizzare o meno il traffico HTTP su 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
Digita 2 e premi invio per avviare il processo. Una volta completata l'installazione, dovresti vedere il seguente output:
Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/shopware.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://shopware.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=shopware.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/shopware.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/shopware.linuxbuz.com/privkey.pem Your cert will expire on 2020-09-22. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot 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
A questo punto, il tuo sito Web Shopware è protetto con Let's Encrypt SSL. Ora puoi accedere al tuo sito Web in modo sicuro utilizzando l'URL https://shopware.linuxbuz.com.
Conclusione
Congratulazioni! hai installato con successo Shopware con Nginx e Let's Encrypt SSL su Ubuntu 20.04. Ora puoi iniziare a creare la tua attività online utilizzando Shopware. Sentiti libero di chiedermi se hai domande.