E-commerce · 21 min read · Oct 14, 2025

Come installare PrestaShop su Rocky Linux 9

PrestaShop è un’applicazione web di e-commerce open-source scritta utilizzando il framework Symfony PHP. Ti consente di progettare, costruire e ospitare un negozio online per vendere prodotti, ricevere pagamenti e gestire tutti gli aspetti correlati. È utilizzato da oltre 300.000 siti, rendendolo una delle piattaforme di e-commerce più popolari. Supporta moduli che ti consentono di estendere ulteriormente la sua funzionalità. Puoi personalizzarlo utilizzando vari temi di alta qualità. Offre modelli personalizzabili, gateway di pagamento sicuri, gestione dell’inventario e strumenti SEO-friendly per ottimizzare il posizionamento nei motori di ricerca.

In questo tutorial, imparerai come installare Prestashop su un server Rocky Linux 9.

Prerequisiti

  • Un server che esegue Rocky Linux 9 con un minimo di 1 GB di RAM.
  • Un utente non root con privilegi sudo.
  • Un Nome di Dominio Completo (FQDN) come prestashop.example.com che punta al tuo server.
  • Un account SMTP con un servizio email come Amazon SES o Mailgun.
  • Tutto è aggiornato. $ sudo dnf update
  • Alcuni pacchetti essenziali sono necessari per il tutorial e per far funzionare Prestashop. Alcuni di questi saranno già presenti sul tuo server. $ sudo dnf install wget curl nano unzip yum-utils policycoreutils-python-utils -y

Passo 1 - Configurare il Firewall

Il primo passo è configurare il firewall. Rocky Linux utilizza Firewalld Firewall. Controlla lo stato del firewall.

$ sudo firewall-cmd --state
running

Il firewall funziona con diverse zone, e la zona pubblica è quella predefinita che utilizzeremo. Elenca tutti i servizi e le porte attive sul firewall.

$ sudo firewall-cmd --permanent --list-services

Dovrebbe mostrare il seguente output.

cockpit dhcpv6-client ssh

Consenti le porte HTTP e HTTPS.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

Controlla nuovamente lo stato del firewall.

$ sudo firewall-cmd --permanent --list-services

Dovresti vedere un output simile.

cockpit dhcpv6-client http https ssh

Ricarica il firewall per abilitare le modifiche.

$ sudo firewall-cmd --reload

Passo 2 - Installare Nginx

Rocky Linux 9 viene fornito con una versione più vecchia di Nginx. Per installare l’ultima versione, devi scaricare il repository ufficiale di Nginx.

Crea e apri il file /etc/yum.repos.d/nginx.repo per la modifica.

$ sudo nano /etc/yum.repos.d/nginx.repo

Incolla il seguente codice al suo interno.

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

Una volta terminato, salva il file premendo Ctrl + X e inserendo Y quando richiesto.

Installa Nginx.

$ sudo dnf install nginx -y

Verifica l’installazione.

$ nginx -v
nginx version: nginx/1.24.0

Abilita e avvia il servizio del server Nginx.

$ sudo systemctl enable nginx --now

Controlla lo stato del servizio.

$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
     Active: active (running) since Sat 2023-11-25 10:58:03 UTC; 5s ago
       Docs: http://nginx.org/en/docs/
    Process: 4220 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
   Main PID: 4222 (nginx)
      Tasks: 2 (limit: 10841)
     Memory: 1.9M
        CPU: 9ms
     CGroup: /system.slice/nginx.service
             ??4222 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
             ??4223 "nginx: worker process"

Apri l’indirizzo IP del tuo server nel tuo browser web. Dovresti vedere la seguente pagina, il che significa che il tuo server è attivo e funzionante.

Pagina predefinita di Nginx

Passo 3 - Installare PHP e le estensioni

Rocky Linux 9 viene fornito con PHP 8.1 per impostazione predefinita. Per rimanere sempre sull’ultima versione di PHP o se desideri installare più versioni di PHP, dobbiamo utilizzare il repository REMI.

Il primo passo è ottenere il repository Epel.

$ sudo dnf install epel-release -y

Successivamente, installa il repository Remi.

$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm

Controlla i flussi PHP disponibili.

$ dnf module list php -y
Name    Stream              Profiles                                      Summary
php     8.1                 common [d], devel, minimal                    PHP scripting language

Remi's Modular repository for Enterprise Linux 9 - x86_64
Name    Stream              Profiles                                      Summary
php     remi-7.4            common [d], devel, minimal                    PHP scripting language
php     remi-8.0            common [d], devel, minimal                    PHP scripting language
php     remi-8.1            common [d], devel, minimal                    PHP scripting language
php     remi-8.2            common [d], devel, minimal                    PHP scripting language
php     remi-8.3            common [d], devel, minimal                    PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

La versione predefinita è 8.1. Al momento della scrittura di questo tutorial, Prestashop è compatibile con PHP 8.1. Pertanto, abilita il repository PHP 8.1 di Remi.

$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.1

Installa PHP e le sue estensioni richieste da Prestashop.

$ sudo dnf install php php-bcmath php-cli php-curl php-common \
    php-fpm php-gd php-gmp php-intl php-mbstring \
    php-mysql php-opcache php-xml php-zip -y

Controlla la versione di PHP installata.

$ php --version
PHP 8.1.26 (cli) (built: Nov 21 2023 21:53:48) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.26, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.26, Copyright (c), by Zend Technologies

Abilita e avvia il servizio PHP-FPM.

$ sudo systemctl enable php-fpm --now

Controlla lo stato del servizio.

$ sudo systemctl status php-fpm
? php-fpm.service - The PHP FastCGI Process Manager
     Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; preset: disabled)
     Active: active (running) since Sat 2023-11-25 12:54:31 UTC; 2s ago
   Main PID: 6160 (php-fpm)
     Status: "Ready to handle connections"
      Tasks: 6 (limit: 10841)
     Memory: 15.2M
        CPU: 56ms
     CGroup: /system.slice/php-fpm.service
             ??6160 "php-fpm: master process (/etc/php-fpm.conf)"
             ??6161 "php-fpm: pool www"
             ??6162 "php-fpm: pool www"
             ??6163 "php-fpm: pool www"
             ??6164 "php-fpm: pool www"
             ??6165 "php-fpm: pool www"

Passo 4 - Installare Percona MySQL Server

Prestashop richiede un server di database MySQL per l’archiviazione dei dati. Ma invece di installare MySQL, installeremo il server MySQL Percona. Funziona come un sostituto diretto di MySQL e offre più funzionalità e sicurezza.

Il primo passo è installare il repository di rilascio di Percona per Rocky Linux.

$ sudo dnf install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm

Se ricevi il seguente errore, puoi ignorarlo in sicurezza e procedere ulteriormente poiché non influisce sull’installazione. La chiave GPG verrà comunque importata successivamente.

error: can't create transaction lock on /var/lib/rpm/.rpm.lock (Resource temporarily unavailable)
error: /etc/pki/rpm-gpg/RPM-GPG-KEY-Percona: key 1 import failed.

Una volta installato il repository, configura il repository del server Percona per MySQL 8.0 emettendo il seguente comando.

$ percona-release setup ps80

Il comando sopra chiede se desideri disabilitare il modulo MySQL predefinito. Inserisci y per procedere. Disabiliterà il modulo di installazione di MySQL e abiliterà il modulo MySQL di Percona.

Installa il server Percona per MySQL 8.0.

$ sudo dnf -y install percona-server-server

Questo installerà il server e il client Percona per MySQL, che sono i pacchetti di base di cui hai bisogno per ora.

Verifica l’installazione.

$ mysql --version
mysql  Ver 8.0.34-26 for Linux on x86_64 (Percona Server (GPL), Release 26, Revision 0fe62c85)

Avvia il servizio MySQL.

$ sudo systemctl start mysqld

Controlla lo stato del servizio MySQL.

$ sudo systemctl status mysqld
? mysqld.service - MySQL Server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
     Active: active (running) since Sun 2023-11-26 06:25:37 UTC; 7s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
    Process: 6522 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
   Main PID: 6598 (mysqld)
     Status: "Server is operational"
      Tasks: 39 (limit: 10841)
     Memory: 486.8M
        CPU: 8.131s
     CGroup: /system.slice/mysqld.service
             ??6598 /usr/sbin/mysqld

Nov 26 06:25:28 prestashop.example.com systemd[1]: Starting MySQL Server...
Nov 26 06:25:37 prestashop.example.com systemd[1]: Started MySQL Server.

Percona genera una password temporanea per root durante l’installazione. Ottieni quella password utilizzando il seguente comando.

$ sudo grep "temporary password" /var/log/mysqld.log
2023-11-26T06:25:33.316696Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: (sDeLSgjs7pI

Accedi alla shell di MySQL.

$ sudo mysql -u root -p

Esegui la procedura guidata di configurazione della sicurezza di MySQL.

$ sudo mysql_secure_installation

Inserisci la password di root quando richiesto.

Securing the MySQL server deployment.

Enter password for user root:

La password essendo temporanea è già scaduta e ti verrà chiesto di impostare una nuova password di root. Scegli una password forte per l’account root. La tua password dovrebbe soddisfare i requisiti attuali della politica delle password, il che significa che dovrebbe avere un carattere minuscolo, un carattere maiuscolo, un numero e un carattere speciale.

The existing password for the user account root has expired. Please set a new password.

New password:

Re-enter new password:

Successivamente, verrà mostrata la forza della password e ti verrà chiesto se desideri cambiarla. Digita N per procedere.

The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N

 ... skipping.

Digita Y per rimuovere gli utenti anonimi.

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.

Digita Y per vietare l’accesso remoto a root.

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.

Digita Y per rimuovere il database di test.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

E infine, digita N per ricaricare le tabelle di privilegi.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.

All done!

Questo è tutto. La prossima volta che desideri accedere alla shell di MySQL, utilizza il seguente comando e inserisci la password di root quando richiesto.

$ sudo mysql -u root -p

Riceverai il seguente prompt della shell di MySQL.

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.0.34-26 Percona Server (GPL), Release 26, Revision 0fe62c85

Copyright (c) 2009-2023 Percona LLC and/or its affiliates
Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Digita exit per uscire dalla shell.

Passo 5 - Configurare Percona MySQL Server

Accedi alla shell di MySQL.

$ sudo mysql -u root -p

Crea un nuovo database MySQL, un utente del database e una password per la tua installazione di Prestashop.

mysql> CREATE DATABASE prestashop COLLATE utf8mb4_general_ci;
mysql> CREATE USER 'prestauser'@'localhost' IDENTIFIED BY 'Your_password2';
mysql> GRANT ALL PRIVILEGES ON prestashop.* TO 'prestauser'@'localhost';

Sostituisci prestashop, prestauser e yourpassword con le credenziali di tua scelta. Scegli una password forte e assicurati che segua la politica delle password come descritto sopra.

Flush dei privilegi per assicurarti che siano salvati nella sessione corrente.

mysql> FLUSH PRIVILEGES;

Esci dalla shell di MySQL.

mysql> exit

Passo 6 - Scaricare Prestashop

Crea una directory per Prestashop.

$ sudo mkdir /var/www/html/prestashop -p

Ci sono due versioni di Prestashop disponibili - la versione base marchiata e la versione non marchiata. La versione marchiata è disponibile dal sito di Prestashop mentre la versione non marchiata è disponibile dal repository di GitHub. La differenza tra le due versioni è che la versione marchiata contiene moduli extra tra cui un processore di pagamento, moduli di Facebook e Google per la promozione e SEO, e vari altri moduli per connettersi a Prestashop e scopi analitici.

La versione base viene rilasciata dopo la versione non marchiata. Pertanto, al momento della scrittura di questo tutorial, l’ultima versione dell’edizione base disponibile è 8.1.1 e la versione non marchiata è 8.1.2. Per il nostro tutorial, utilizzeremo l’edizione base marchiata. Puoi utilizzare la versione non marchiata se lo desideri. Il processo di installazione per entrambe le versioni è esattamente lo stesso.

Scarica l’ultima versione utilizzando il seguente comando.

$ cd /tmp
$ wget https://assets.prestashop3.com/dst/edition/corporate/8.1.1/prestashop_edition_basic_version_8.1.1.zip

Puoi ottenere il link visitando la pagina di download di Prestashop, inserendo la tua email e scaricando il file. La versione non marchiata può essere scaricata dalla pagina delle release di Prestashop su GitHub.

Decomprimere l’archivio scaricato.

$ unzip prestashop_*.zip

Questo archivio contiene un altro file zip chiamato prestashop.zip che contiene tutti i file. Estrai i file nella directory di Prestashop.

$ sudo unzip prestashop.zip -d /var/www/html/prestashop

Cambia il proprietario della directory di Prestashop all’utente nginx.

$ sudo chown -R nginx: /var/www/html/prestashop

Passo 7 - Installare SSL

Dobbiamo installare Certbot per generare il certificato SSL. Utilizzeremo il pacchetto Snapd per questo. Poiché Rocky Linux non lo fornisce, installa l’installer Snapd. Richiede il repository EPEL (Extra Packages for Enterprise Linux) per funzionare. Ma poiché lo abbiamo già installato nel passo 3, possiamo procedere direttamente.

Installa Snapd.

$ sudo dnf install -y snapd

Abilita e avvia il servizio Snap.

$ sudo systemctl enable snapd --now

Installa il pacchetto core di Snap e assicurati che la tua versione di Snapd sia aggiornata.

$ sudo snap install core && sudo snap refresh core

Crea i collegamenti necessari affinché Snapd funzioni.

$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh

Installa Certbot.

$ sudo snap install --classic certbot

Utilizza il seguente comando per assicurarti che il comando Certbot possa essere eseguito creando un collegamento simbolico alla directory /usr/bin.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Verifica se Certbot funziona correttamente.

$ certbot --version
certbot 2.7.4

Esegui il seguente comando per generare un certificato SSL.

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d prestashop.example.com

Il comando sopra scaricherà un certificato nella directory /etc/letsencrypt/live/prestashop.example.com sul tuo server.

Genera un certificato Diffie-Hellman group.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Controlla il servizio di pianificazione del rinnovo di Certbot.

$ sudo systemctl list-timers

Troverai snap.certbot.renew.service come uno dei servizi programmati per l’esecuzione.

NEXT                        LEFT           LAST                        PASSED      UNIT                      ACTIVATES     
---------------------------------------------------------------------------------------------------------------------------               
Sun 2023-11-26 17:12:40 UTC 1h 34min left Sun 2023-11-26 15:25:36 UTC 12min ago    dnf-makecache.timer       dnf-makecache.service
Sun 2023-11-26 17:48:00 UTC 2h 10min left -                           -            snap.certbot.renew.timer  snap.certbot.renew.service
Mon 2023-11-27 00:00:00 UTC 8h left       Sun 2023-11-26 00:00:00 UTC 15h ago      logrotate.timer           logrotate.service

Fai un tentativo di rinnovo per controllare se il rinnovo SSL funziona correttamente.

$ sudo certbot renew --dry-run

Se non vedi errori, sei a posto. Il tuo certificato si rinnoverà automaticamente.

Passo 8 - Configurare SELinux

Cambia il contesto di sicurezza del file per Prestashop.

$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/prestashop(/.*)?"

Applica la politica.

$ sudo restorecon -Rv /var/www/html/prestashop/

Applica la politica per consentire a Nginx di accedere a MariaDB.

$ sudo setsebool -P httpd_can_network_connect_db 1

Applica la politica per consentire le connessioni verso host esterni. Questo è necessario per inviare email.

$ sudo setsebool -P httpd_can_network_connect 1

Con MariaDB 10.11, affronterai un altro problema, ovvero che SELinux impedisce a PHP-FPM di connettersi a MariaDB. Questo può essere risolto installando un modulo SELinux. Il primo passo è creare un file di type enforcement.

Crea il file my-phpfpm.te nella tua home directory e aprilo per la modifica.

$ cd ~
$ nano my-phpfpm.te

Incolla il seguente codice al suo interno.

module my-phpfpm 1.0;

require {
        type unconfined_service_t;
        type httpd_t;
        type httpd_sys_content_t;
        class dir write;
        class unix_stream_socket connectto;
}

#============= httpd_t ============== 

#!!!! This avc is allowed in the current policy
allow httpd_t httpd_sys_content_t:dir write;

#!!!! This avc is allowed in the current policy
allow httpd_t unconfined_service_t:unix_stream_socket connectto;

Salva il file premendo Ctrl + X e inserendo Y quando richiesto.

Il passo successivo è convertirlo in un modulo di politica utilizzando il seguente comando. Non modificare il nome del file nel comando altrimenti non funzionerà. Il modulo si chiama my-phpfpm e il nome del file deve essere lo stesso del nome del modulo.

$ sudo checkmodule -M -m -o my-phpfpm.mod my-phpfpm.te

Successivamente, dobbiamo compilare il modulo di politica per creare un pacchetto di politica.

$ sudo semodule_package -o my-phpfpm.pp -m my-phpfpm.mod

L’ultimo passo è caricare il pacchetto di politica utilizzando il comando semodule che installa la politica da utilizzare.

$ sudo semodule -i my-phpfpm.pp

Passo 9 - Configurare PHP-FPM

Apri php.ini per la modifica.

$ sudo nano /etc/php.ini

Per impostare le dimensioni di caricamento dei file, modifica i valori delle variabili upload_max_filesize e post_max_size. Questo valore decide la dimensione del file che puoi caricare su Prestashop. Per impostazione predefinita, è impostato a 10MB, che è ciò che configureremo con PHP.

$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 16M/' /etc/php.ini
$ sudo sed -i 's/post_max_size = 8M/post_max_size = 16M/' /etc/php.ini

Configura il limite di memoria di PHP in base alle risorse e ai requisiti del tuo server.

$ sudo sed -i 's/memory_limit = 128M/memory_limit = 256M/' /etc/php.ini

Apri il file /etc/php-fpm.d/www.conf.

$ sudo nano /etc/php-fpm.d/www.conf

Dobbiamo impostare l’utente/gruppo Unix dei processi PHP su nginx. Trova le righe user=apache e group=apache nel file e cambiale in nginx.

...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
...

Trova le righe listen.owner = nobody, listen.group = nobody, listen.mode = 0660 nel file e cambiale come segue dopo averle decommentate.

; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. The owner
; and group can be specified either by name or by their numeric IDs.
; Default Values: user and group are set as the running user
;                 mode is set to 0660
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Salva il file premendo Ctrl + X e inserendo Y quando richiesto.

Riavvia il processo PHP-fpm. Assicurati di avere Nginx installato prima di riavviare il servizio PHP, altrimenti fallirà poiché non sarà in grado di trovare il gruppo nginx.

$ sudo systemctl restart php-fpm

Cambia il gruppo della directory delle sessioni PHP in Nginx.

$ sudo chgrp -R nginx /var/lib/php/session

Passo 10 - Configurare Nginx

Apri il file /etc/nginx/nginx.conf per la modifica.

$ sudo nano /etc/nginx/nginx.conf

Aggiungi la seguente riga prima della riga include /etc/nginx/conf.d/*.conf;.

server_names_hash_bucket_size 64;

Salva il file premendo Ctrl + X e inserendo Y quando richiesto.

Crea e apri il file /etc/nginx/conf.d/prestashop.conf per la modifica.

$ sudo nano /etc/nginx/conf.d/prestashop.conf

Incolla il seguente codice al suo interno. Sostituisci prestashop.example.com con il tuo nome di dominio. Assicurati che il valore di client_max_body_size sia impostato a 10MB, che è lo stesso valore che abbiamo configurato con PHP in precedenza.

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    # [EDIT] Your domain name(s) go here.
    server_name prestashop.example.com;

    # [EDIT] Path to your domain Nginx logs.
    access_log /var/log/nginx/prestashop.access.log;
    error_log /var/log/nginx/prestashop.error.log;

    # [EDIT] Path to your SSL certificates (take a look at Certbot https://certbot.eff.org).
    ssl_certificate      /etc/letsencrypt/live/prestashop.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/prestashop.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/prestashop.example.com/chain.pem;

    ssl_session_timeout  5m;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    # [EDIT] Path to your PrestaShop directory.
    root /var/www/html/prestashop;

    index index.php;

    # This should match the `post_max_size` and/or `upload_max_filesize` settings
    # in your php.ini.
    client_max_body_size 16M;

    # Redirect 404 errors to PrestaShop.
    error_page 404 /index.php?controller=404;

    # HSTS (Force clients to interact with your website using HTTPS only).
    # For enhanced security, register your site here: https://hstspreload.org/.
    # WARNING: Don't use this if your site is not fully on HTTPS!
    # add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" preload; always;

    # [EDIT] If you are using multiple languages.
    # rewrite ^/fr$ /fr/ redirect;
    # rewrite ^/fr/(.*) /$1;

    # Images.
    rewrite ^/(
    # ...
    # (rest of the configuration)
}

# enforce HTTPS
server {
    listen 80;
    listen [::]:80;
    server_name  prestashop.example.com;
    return 301   https://$host$request_uri;
}

Salva il file premendo Ctrl + X e inserendo Y quando richiesto.

Verifica la configurazione di Nginx.

$ sudo nginx -t

Riavvia il server Nginx.

$ sudo systemctl restart nginx

Passo 11 - Installare Prestashop

Visita l’URL https://prestashop.example.com nel tuo browser e vedrai la seguente schermata di installazione.

Pagina di installazione di Prestashop

Clicca su Avanti per procedere alla pagina successiva.

Pagina di Accordo di Licenza di Prestashop

Ti verrà mostrata la Licenza di Prestashop. Seleziona il pulsante Accetto i termini e le condizioni sopra per accettare la licenza e clicca su Avanti per procedere.

Pagina Informazioni Negozio di Prestashop

Successivamente, ti verrà chiesto di condividere informazioni sul negozio. Dai un nome al tuo negozio, paese, fuso orario e tipo di negozio, e abilita l’opzione SSL. Inoltre, inserisci il tuo nome account, indirizzo email e password per accedere al negozio. Clicca su Avanti una volta terminato.

Pagina Contenuto Negozio di Prestashop

Successivamente, ti verrà chiesto se desideri aggiungere alcuni prodotti demo al negozio. Se non li desideri, seleziona no. Inoltre, seleziona l’opzione Installa tutti i moduli oppure puoi scegliere quali moduli desideri installare. Clicca su Avanti quando hai finito.

Configurazione Database di Prestashop

Successivamente, inserisci le credenziali del database che abbiamo creato nel passo 5. Lascia le altre opzioni intatte. Clicca sull’opzione Test del database per verificare la connessione.

Test di connessione al database di Prestashop

Clicca su Avanti dopo una connessione riuscita al database per procedere alla pagina successiva.

Progresso Installazione di Prestashop

Qui vedrai il progresso dell’installazione di Prestashop. Una volta terminato, si aprirà automaticamente la seguente pagina.

Pagina di Installazione Completata di Prestashop

Clicca sul pulsante Gestisci il tuo negozio per aprire il pannello di amministrazione e configurare il tuo negozio.

Avviso Directory di Installazione di Prestashop

Qui riceverai un avviso di eliminare la directory install prima di provare a gestire il negozio per migliorare la sicurezza. Rientra nel tuo sito tramite SSH ed esegui il seguente comando.

$ sudo rm -rf /var/www/html/petrashop/install

Torna alla pagina finale dell’installatore e apri nuovamente l’URL. Se noti, l’URL della pagina di amministrazione è randomizzato. Questo è fatto per migliorare la sicurezza. Ogni installazione di Prestashop ottiene un URL admin diverso. Per il nostro tutorial, il link generato è https://prestashop.example.com/admin705saygwpwquwnhixx1. Riceverai la seguente pagina di accesso.

Pagina di Accesso di Prestashop

Inserisci le tue credenziali e clicca sul pulsante LOG IN per accedere al pannello di controllo.

Pannello di Amministrazione di Prestashop

La pagina del negozio di Prestashop per un’installazione predefinita dovrebbe apparire come segue.

Homepage di Prestashop

Puoi iniziare a utilizzare Prestashop da qui in poi.

Passo 12 - Aggiornare Prestashop

Ci sono diversi modi per aggiornare Prestashop. Il più semplice è utilizzare il modulo di assistenza all’aggiornamento integrato. La tua installazione di Prestashop viene fornita con il modulo.

Il primo passo è mettere il tuo negozio in modalità manutenzione. Clicca sull’opzione Configura >> Parametri Negozio >> Generale dal menu a sinistra nella pagina di amministrazione. Passa alla scheda di manutenzione nella pagina.

Disabilita il negozio e aggiungi il tuo indirizzo IP come IP di manutenzione cliccando sul pulsante Aggiungi il mio IP. Questo garantirà che tu possa accedere al negozio anche quando è in manutenzione. Clicca sul pulsante Salva quando hai finito.

Pagina di Manutenzione di Prestashop

Successivamente, apri la pagina Gestore Moduli nel tuo pannello di amministrazione selezionando l’opzione Migliora >> Moduli >> Gestore Moduli dal lato sinistro.

Una volta lì, installa il modulo 1-Click Upgrade cliccando sul pulsante Installa. Una volta installato, clicca sul pulsante Configura per aprire una nuova pagina dove puoi configurare le impostazioni prima di eseguire l’aggiornamento.

La prima parte della pagina elenca alcuni controlli pre-aggiornamento. Tutti i controlli devono essere soddisfatti prima che l’aggiornamento possa essere eseguito.

Checklist Pre-Aggiornamento di Prestashop

La prima configurazione ti consente di selezionare che tipo di aggiornamento desideri eseguire. Poiché stiamo utilizzando l’edizione base 8.1.1, l’edizione open-source 8.1.2 è disponibile per l’aggiornamento. È consigliabile attenersi ai rami minori/maggiori.

Tipo di Aggiornamento di Prestashop

Scorri verso il basso nella pagina fino alle Opzioni di Backup dove puoi selezionare Prestashop per eseguire il backup dei file, del database e delle immagini. Queste funzionalità sono sperimentali, ma dovresti comunque includerle.

Opzioni di Backup di Prestashop

Successivamente, scegli le opzioni di aggiornamento su cosa desideri mantenere e cosa desideri aggiornare.

Opzioni di Aggiornamento di Prestashop

Clicca sul pulsante Salva in ciascuna sezione per salvare le opzioni. Una volta soddisfatto, clicca sul pulsante Aggiorna Prestashop Ora! nella stessa pagina per aggiornare il tuo negozio. Se l’aggiornamento non riesce per qualche motivo, ti verrà data la possibilità di tornare indietro.

Conclusione

Questo conclude il nostro tutorial in cui hai imparato come installare Prestashop su un server Rocky Linux 9. Se hai domande, pubblicale nei commenti qui sotto.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.