OpenCarti è una piattaforma di e-commerce PHP gratuita e open source che combina potenti funzionalità con flessibilità e interfaccia intuitiva.
Con funzionalità come Gestione utenti, Multi-Store, Affiliati, Sconti, Recensioni di prodotti, Multilingua e gateway di pagamento multipli, OpenCart è una piattaforma scelta da molti commercianti online.
In questo tutorial, ti mostreremo come installare OpenCart sul server Ubuntu 18.04. Useremo Nginx come server web, l'ultimo PHP 7.2 e MySQL/MariaDB come server di database.
Prerequisiti #
Assicurati di aver soddisfatto i seguenti prerequisiti prima di continuare con questo tutorial:
- Disponi di un nome di dominio che punta all'IP del tuo server pubblico. Useremo
example.com
. - Nginx viene installato sul tuo server Ubuntu seguendo queste istruzioni.
- Un certificato SSL installato per il tuo dominio per crittografare le informazioni dell'utente. Puoi installare un certificato SSL Let's Encrypt gratuito seguendo queste istruzioni.
Aggiorna i pacchetti di sistema alle versioni più recenti e installa l'utilità di decompressione:
sudo apt update && sudo apt upgrade
sudo apt install unzip
Creazione del database MySQL #
Se hai MySQL o MariaDB installato sul tuo server puoi saltare questo passaggio, in caso contrario puoi installare il pacchetto del server MySQL 5.7 dai repository predefiniti di Ubuntu digitando:
sudo apt install mysql-server mysql-client
Per nuove installazioni MySQL, si consiglia di eseguire mysql_secure_installation
comando per migliorare la sicurezza del tuo server MySQL. Accedi alla shell MySQL usando il seguente comando:
sudo mysql
Dall'interno della shell MySQL, esegui la seguente istruzione SQL per creare un nuovo database denominato opencart
:
CREATE DATABASE opencart;
Quindi, crea un account utente MySQL chiamato opencart
e concedere le autorizzazioni necessarie all'utente eseguendo il comando seguente:
GRANT ALL ON opencart.* TO 'opencart'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Assicurati di modificare change-with-strong-password
con una password complessa. Una volta terminato, esci dalla console di MySQL digitando:
EXIT;
Installazione e configurazione di PHP #
PHP 7.2, che è la versione PHP predefinita in Ubuntu 18.04, è completamente supportato e consigliato per OpenCart. Poiché utilizzeremo Nginx come server web, installeremo anche il pacchetto PHP-FPM.
Esegui il comando seguente per installare PHP e tutti i moduli PHP richiesti:
sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap
Il servizio PHP-FPM si avvierà automaticamente al termine del processo di installazione, puoi verificarlo stampando lo stato del servizio:
sudo systemctl status php7.2-fpm
L'output dovrebbe indicare che il servizio fpm è attivo e in esecuzione.
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-02-25 10:45:42 UTC; 53s ago
Docs: man:php-fpm7.2(8)
Main PID: 27446 (php-fpm7.2)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
Tasks: 3 (limit: 505)
CGroup: /system.slice/php7.2-fpm.service
├─27446 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
Imposta le opzioni PHP richieste e consigliate modificando il php.ini
file con sed
::
sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini
Installazione di OpenCart #
Al momento della stesura di questo articolo, l'ultima versione stabile di OpenCart è la versione 3.0.3.1
.
Prima di scaricare l'archivio OpenCart, crea prima una directory che conterrà i nostri file OpenCart:
sudo mkdir -p /var/www/html/example.com
Scarica l'ultima versione di OpenCart dal repository Github OpenCart utilizzando il seguente comando wget:
cd /tmp
wget https://github.com/opencart/opencart/releases/download/3.0.3.1/opencart-3.0.3.1.zip
Una volta completato il download, estrai l'archivio OpenCart e sposta i file estratti nella directory principale dei documenti del dominio:
unzip opencart-*.zip
sudo mv /tmp/upload/* /var/www/html/example.com/
Copia i file di configurazione usando il cp
comando:
sudo cp /var/www/html/example.com/{config-dist.php,config.php}
sudo cp /var/www/html/example.com/admin/{config-dist.php,config.php}
Imposta le autorizzazioni corrette in modo che il server web possa avere pieno accesso ai file e alle directory del sito utilizzando il seguente comando chown:
sudo chown -R www-data: /var/www/html
Configurazione di Nginx #
A questo punto dovresti già avere Nginx con certificato SSL installato sul tuo server Ubuntu, in caso contrario controlla i prerequisiti per questo tutorial.
Apri il tuo editor di testo e crea il seguente file:
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.example.com example.com;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
# Redirect WWW -> NON WWW
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com;
root /var/www/html/example.com;
index index.php;
# SSL parameters
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
# log files
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}
Non dimenticare di sostituire example.com con il tuo dominio OpenCart e impostare il percorso corretto per i file del certificato SSL. Tutte le richieste HTTP verranno reindirizzate a HTTPS. Gli snippet utilizzati in questa configurazione vengono creati in questa guida. Prima di riavviare il servizio Nginx fai un test per assicurarti che non ci siano errori di sintassi:
sudo nginx -t
Se non ci sono errori, l'output dovrebbe essere simile a questo:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Infine, riavvia il servizio Nginx digitando:
sudo systemctl restart nginx
Completamento dell'installazione di OpenCart #
Ora che OpenCart è stato scaricato e la configurazione del server è completa, puoi completare l'installazione tramite l'interfaccia web.
Apri il browser, digita il tuo dominio e apparirà una schermata simile alla seguente:
Leggi il contratto di licenza OpenCart, seleziona la lingua che desideri utilizzare e fai clic su Continue
pulsante.
Successivamente, vedrai la seguente pagina di informazioni:
Assicurati che tutti i requisiti di preinstallazione siano soddisfatti e fai clic su Continue
pulsante.
Nella schermata successiva, la procedura guidata di configurazione ti chiederà di inserire i dettagli della connessione al database. Inserisci l'utente MySQL e i dettagli del database che hai creato in precedenza.
Inserisci username, password e indirizzo email per l'amministrazione e avvia l'installazione cliccando sul Continue
pulsante.
Una volta completata l'installazione, verrai indirizzato a una pagina che ti informa che OpenCart è stato installato.
Per accedere alla dashboard amministrativa di OpenCart, fai clic su Login to your Administration
pulsante. Inserisci il tuo nome utente e password e verrai reindirizzato alla dashboard di amministrazione.
La prima volta che accedi, apparirà un pop-up che ti chiede di spostare la directory di archiviazione al di fuori della directory web.
Mantieni il valore predefinito Automatically Move
opzione e fare clic sull'icona rossa Move
pulsante. La directory in cui stai spostando lo storage
la directory deve essere accessibile dal server web.
Da qui, puoi iniziare a personalizzare la tua installazione di OpenCart e aggiungere nuovi prodotti.
Dovrai anche eliminare la directory di installazione. Per farlo, torna al terminale e digita il seguente rm
comando:
sudo rm -rf /var/www/html/example.com/install