Installazione Shopware · 7 min read · Dec 14, 2025

Come installare Shopware con NGINX e Let's Encrypt su FreeBSD 12

Shopware è la prossima generazione di software e-commerce open source. Basato su tecnologie all’avanguardia come Symfony 3, Doctrine 2 e Zend Framework, Shopware si presenta come la piattaforma perfetta per il tuo prossimo progetto e-commerce. Questo tutorial ti guiderà attraverso l’installazione della Shopware Community Edition (CE) su un sistema FreeBSD 12 utilizzando NGINX come server web.

Requisiti

Assicurati che il tuo sistema soddisfi i seguenti requisiti minimi:

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

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

Prerequisiti

  • Un sistema operativo che esegue FreeBSD 12.
  • Un utente non root con privilegi sudo.

Userò il nome di dominio example.com in questo tutorial. Si prega di sostituire la parola example.com con il proprio nome di dominio ovunque si presenti nei comandi e nei file di configurazione qui sotto (soprattutto nel file di configurazione di Nginx e nei comandi di Let’s Encrypt).

Passi iniziali

Controlla la tua versione di FreeBSD:

uname -ro  
# FreeBSD 12.0-RELEASE

Imposta il fuso orario:

tzsetup

Aggiorna i pacchetti del tuo sistema operativo (software). Questo è un primo passo importante perché garantisce che tu abbia gli ultimi aggiornamenti e le correzioni di sicurezza per i pacchetti software predefiniti del tuo sistema operativo:

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

Installa alcuni pacchetti essenziali necessari per l’amministrazione di base del sistema operativo FreeBSD 12.0:

pkg install -y sudo vim unzip wget bash socat

Passo 1 - Installa PHP e le estensioni PHP

Installa PHP, così come le estensioni PHP necessarie per 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

Per mostrare i moduli PHP compilati, puoi eseguire:

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

Controlla la versione di 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 sysrc php_fpm_enable=yes  
sudo service php-fpm start

Possiamo passare al passo successivo, che è l’installazione di IonCube Loader.

Passo 2 - Installa IonCube Loader (opzionale)

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

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

Estrai il loader:

tar xfz ioncube_loaders_fre_*.tar.gz

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

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

Copia l’IonCube Loader nella directory delle estensioni PHP:

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

Includi il loader tramite la configurazione di PHP:

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

Poi aggiungi una riga nel file per includere l’IonCube loader. Può essere ovunque nel file sotto la riga [PHP]:

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

Salva il file e riavvia PHP-FPM:

sudo service php-fpm restart

Passo 3 - Installa MariaDB e crea un database per Shopware

Installa il server di database MariaDB:

sudo pkg install -y mariadb102-client mariadb102-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 sysrc mysql_enable="yes"  
sudo service mysql-server start

Esegui lo script mysql_secure_installation per migliorare la sicurezza di MariaDB e impostare la password per l’utente root di MariaDB:

sudo mysql_secure_installation

Rispondi a ciascuna delle domande:

`Vuoi impostare il plugin VALIDATE PASSWORD? N  
Nuova password: your_secure_password  
Re-inserisci la nuova password: your_secure_password  
Rimuovere gli utenti anonimi? [Y/n] Y  
Disabilitare il login remoto per root? [Y/n] Y  
Rimuovere il database di test e l'accesso ad esso? [Y/n] Y  
Ricaricare le tabelle di privilegio ora? [Y/n] Y`

Collegati alla shell di MariaDB come utente root:

sudo mysql -u root -p  
# Inserisci la 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 dbname, username e password con i tuoi nomi.

Passo 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 proteggere il traffico del tuo sito. Per ottenere un certificato TLS da Let’s Encrypt utilizzeremo il client acme.sh. Acme.sh è un software shell Unix puro per ottenere certificati TLS da Let’s Encrypt con zero dipendenze.

Scarica e installa acme.sh:

sudo pkg install -y acme.sh

Controlla la versione di acme.sh:

acme.sh --version  
# v2.8.2

Ottieni certificati RSA e ECC/ECDSA 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 testare, puoi aggiungere il flag --staging ai comandi sopra.

Dopo aver eseguito i comandi sopra, i tuoi certificati e chiavi saranno in:

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

Per elencare i certificati emessi puoi eseguire:

acme.sh --list

Crea una directory per memorizzare 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 service nginx reload"

Tutti i certificati saranno automaticamente rinnovati ogni 60 giorni.

Dopo aver ottenuto i certificati, esci dall’utente root e torna all’utente normale sudo:

exit

Passo 5 - Installa e configura NGINX

Installa il server web NGINX:

sudo pkg install -y nginx

Controlla la versione di NGINX:

nginx -v  
# nginx version: nginx/1.14.2

Avvia e abilita il servizio NGINX:

sudo sysrc nginx_enable=yes  
sudo service nginx start

Configura Nginx per Shopware eseguendo:

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

E popola il file con la seguente configurazione:

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

Esegui sudo vim /usr/local/etc/nginx/nginx.conf e aggiungi la riga qui sotto al blocco http {} per includere la configurazione di Shopware.

include shopware.conf;

Controlla la configurazione di Nginx per errori di sintassi:

sudo nginx -t

Ricarica il servizio Nginx:

sudo service nginx reload

Passo 6 - Installa Shopware

Crea una directory di root per i documenti per Shopware:

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

Naviga nella directory di root dei documenti:

cd /usr/local/www/shopware

Scarica e decomprimi 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: Aggiorna l’URL di download se c’è una nuova versione.

Fornisci la proprietà appropriata:

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

Aumenta memory_limit = 256M e upload_max_filesize = 6M, e imposta allow_url_fopen = On se non è già impostato nel file /usr/local/etc/php.ini:

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

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

sudo service php-fpm reload

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.

Passo 7 - Completa la configurazione di Shopware

Inizia selezionando la lingua e fai clic su Avanti:

Installazione di Shopware

Successivamente, assicurati di soddisfare tutti i requisiti di Shopware:

Requisiti di sistema di Shopware

Accetta i TOS di Shopware e fai clic su Avanti:

Termini di servizio di ShopWare

Inserisci le credenziali del database e fai clic su Avanti:

Configura il database

Avvia l’installazione per creare le tabelle del database:

Crea tabelle del database

Dopo di che, vedrai un messaggio riguardo l’importazione del database riuscita:

Installazione riuscita

Scegli una licenza e fai clic su Avanti:

Licenza

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

Configurazione di base del negozio

L’installazione è completa.

Installazione completata

** Per accedere all’area admin aggiungi /backend al tuo URL.

Login di Shopware

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

Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.