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-RELEASEImposta il fuso orario:
tzsetupAggiorna 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 -yInstalla alcuni pacchetti essenziali necessari per l’amministrazione di base del sistema operativo FreeBSD 12.0:
pkg install -y sudo vim unzip wget bash socatPasso 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-opcachePer 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 TechnologiesAvvia e abilita il servizio PHP-FPM:
sudo sysrc php_fpm_enable=yes
sudo service php-fpm startPossiamo 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.gzEstrai il loader:
tar xfz ioncube_loaders_fre_*.tar.gzTrova 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/20170718Copia l’IonCube Loader nella directory delle estensioni PHP:
sudo cp /tmp/ioncube/ioncube_loader_fre_7.2.so /usr/local/lib/php/20170718Includi il loader tramite la configurazione di PHP:
sudo vim /usr/local/etc/php.iniPoi 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.soSalva il file e riavvia PHP-FPM:
sudo service php-fpm restartPasso 3 - Installa MariaDB e crea un database per Shopware
Installa il server di database MariaDB:
sudo pkg install -y mariadb102-client mariadb102-serverControlla la versione di MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.2.23-MariaDB, for Linux (x86_64) using readline 5.1Avvia e abilita il servizio MariaDB:
sudo sysrc mysql_enable="yes"
sudo service mysql-server startEsegui lo script mysql_secure_installation per migliorare la sicurezza di MariaDB e impostare la password per l’utente root di MariaDB:
sudo mysql_secure_installationRispondi 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> exitSostituisci 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.shControlla la versione di acme.sh:
acme.sh --version
# v2.8.2Ottieni 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-256Se 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 --listCrea 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:
exitPasso 5 - Installa e configura NGINX
Installa il server web NGINX:
sudo pkg install -y nginxControlla la versione di NGINX:
nginx -v
# nginx version: nginx/1.14.2Avvia e abilita il servizio NGINX:
sudo sysrc nginx_enable=yes
sudo service nginx startConfigura Nginx per Shopware eseguendo:
sudo vim /usr/local/etc/nginx/shopware.confE 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 -tRicarica il servizio Nginx:
sudo service nginx reloadPasso 6 - Installa Shopware
Crea una directory di root per i documenti per Shopware:
sudo mkdir -p /usr/local/www/shopwareNaviga nella directory di root dei documenti:
cd /usr/local/www/shopwareScarica 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.zipNOTA: Aggiorna l’URL di download se c’è una nuova versione.
Fornisci la proprietà appropriata:
sudo chown -R www:www /usr/local/www/shopwareAumenta 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.iniDopo aver apportato modifiche nel file /etc/php/7.2/fpm/php.ini, ricarica php-fpm.service:
sudo service php-fpm reloadApri 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:

Successivamente, assicurati di soddisfare tutti i requisiti di Shopware:

Accetta i TOS di Shopware e fai clic su Avanti:

Inserisci le credenziali del database e fai clic su Avanti:

Avvia l’installazione per creare le tabelle del database:

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

Scegli una licenza e fai clic su Avanti:

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

L’installazione è completa.

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

Hai installato con successo Shopware. Goditi il tuo nuovo negozio online!
Link
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.