GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare PrestaShop su Ubuntu 18.04

PrestaShop è una piattaforma di e-commerce gratuita e open source. È basato su PHP e MySQL e può essere esteso con plugin e temi gratuiti e premium.

Con funzionalità come interfaccia amministrativa intuitiva, gateway di pagamento multipli, multilingua, analisi e reportistica, PrestaShop è una piattaforma preferita da molti commercianti online.

In questo tutorial, ti mostreremo come installare PrestaShop 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 upgradesudo apt install unzip

Creazione di un database MySQL #

PrestaShop memorizza le sue informazioni in un database MySQL.

Se MySQL o MariaDB sono installati sul tuo server puoi saltare questo passaggio. Altrimenti, installa 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.

Per creare un database, accedi alla shell mysql:

sudo mysql

Dall'interno della shell MySQL, esegui la seguente istruzione SQL per creare un nuovo database denominato prestashop :

CREATE DATABASE prestashop;

Quindi, crea un account utente MySQL chiamato prestashop e concedere le autorizzazioni necessarie all'utente eseguendo il comando seguente:

GRANT ALL ON prestashop.* TO 'prestashop'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Non dimenticare di modificare change-with-strong-password con una password complessa.

Al termine, esci dalla console MySQL digitando:

EXIT;

Installazione e configurazione di PHP #

PHP 7.2 è la versione PHP predefinita in Ubuntu 18.04 ed è completamente supportata e consigliata per PrestaShop.

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

Una volta completato il processo di installazione, il servizio PHP-FPM si avvierà automaticamente. Puoi verificarlo digitando:

sudo systemctl status php7.2-fpm

L'output dovrebbe essere simile a questo:

* 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 Sun 2019-03-24 11:53:33 PDT; 14s ago
     Docs: man:php-fpm7.2(8)
 Main PID: 15853 (php-fpm7.2)
   Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"

Esegui il seguente sed comandi per impostare le opzioni PHP consigliate:

sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini

Download di PrestaShop #

Al momento della stesura di questo articolo, l'ultima versione stabile di PrestaShop è la versione 1.7.6.2 .

Scarica l'ultima versione di PrestaShop dalla pagina dei download di PrestaShop utilizzando il seguente comando wget:

cd /tmpwget https://download.prestashop.com/download/releases/prestashop_1.7.6.2.zip

Al termine del download, crea una directory che conterrà i nostri file PrestaShop:

sudo mkdir -p /var/www/html/example.com

Quindi, estrai l'archivio PrestaShop:

unzip prestashop_*.zip

Questo archivio contiene un altro file zip “prestashop.zip”, che contiene tutti i file PrestaShop. Estrarre i file nella directory principale dei documenti del dominio:

sudo unzip prestashop.zip -d /var/www/html/example.com

Imposta le autorizzazioni corrette in modo che il server web possa avere pieno accesso ai file e alle directory del sito utilizzando il seguente chown comando:

sudo chown -R www-data: /var/www/html

Configurazione di Nginx #

A questo punto, dovresti già avere Nginx con un 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
server {

    listen 80;
    listen 443 ssl http2;

    server_name example.com www.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;

    # Cloudflare / Max CDN fix
    location ~* \.(eot|otf|ttf|woff(?:2)?)$ {
        add_header Access-Control-Allow-Origin *;
    }

    # Do not save logs for these
    location = /favicon.ico {
        auth_basic off;
        allow all;
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        auth_basic off;
        allow all;
        log_not_found off;
        access_log off;
    }

    # Images
    rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$1$2$3.jpg last;
    rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg last;
    rewrite ^/c/([0-9]+)(-[.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+.jpg$ /img/c/$1$2$3.jpg last;
    rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+.jpg$ /img/c/$1$2.jpg last;

    # AlphaImageLoader for IE and fancybox
    rewrite ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 last;

    # Web service API
    rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;

    # Installation sandbox
    rewrite ^(/install(?:-dev)?/sandbox)/(.*) /$1/test.php last;

    #Change this block to your admin folder
    location /admin_CHANGE_ME {
        if (!-e $request_filename) {
            rewrite ^/.*$ /admin_CHANGE_ME/index.php last;
        }
    }

    # File security
    # .htaccess .DS_Store .htpasswd etc
    location ~ /\. {
        deny all;
    }
    # Source code directories
    location ~ ^/(app|bin|cache|classes|config|controllers|docs|localization|override|src|tests|tools|translations|travis-scripts|vendor|var)/ {
        deny all;
    }
    # Prevent exposing other sensitive files
    location ~ \.(yml|log|tpl|twig|sass)$ {
        deny all;
    }

    # Prevent injection of php files
    location /upload {
        location ~ \.php$ {
            deny all;
        }
    }
    location /img {
        location ~ \.php$ {
            deny all;
        }
    }

    # PHP FPM part
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
}

Non dimenticare di sostituire example.com con il tuo dominio PrestaShop e "admin_CHANGE_ME" con la tua directory di amministrazione. Puoi trovare il nome della directory elencando il contenuto della directory principale di Prestashop:

sudo ls -l /var/www/html/example.com | grep admin

Assicurati inoltre di utilizzare il percorso corretto per i file del certificato SSL. Gli snippet utilizzati in questa configurazione vengono creati in questa guida.

Prima di riavviare il servizio Nginx controlla la configurazione per errori di sintassi:

sudo nginx -t

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

Installazione di PrestaShop #

Ora che PrestaShop è 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:

Seleziona la lingua che desideri utilizzare e fai clic sul pulsante "Avanti".

Nella schermata successiva, ti verrà presentato il contratto di licenza PrestaShop. Leggi la licenza e seleziona "Accetto i termini e le condizioni di cui sopra". per continuare:

Successivamente, vedrai la seguente pagina di informazioni:

Assicurati che tutti i requisiti di preinstallazione siano soddisfatti e che il tuo sistema sia compatibile con PrestaShop.

Nella schermata successiva, dovrai inserire i dettagli del tuo negozio. L'indirizzo email è il nome utente per accedere al backend di amministrazione di PrestaShop.

Successivamente, 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:

Fare clic sul pulsante "Avanti" e l'installazione inizierà:

L'installazione potrebbe richiedere alcuni minuti, una volta completata verrà visualizzata la pagina seguente che ti informa che PrestaShop è stato installato.

Per motivi di sicurezza, dovrai eliminare la directory di installazione. Per farlo, torna al terminale e inserisci il seguente rm comando:

sudo rm -rf /var/www/html/example.com/install

Per accedere alla dashboard amministrativa di PrestaShop, fai clic sul pulsante "Gestisci il tuo negozio". Inserisci la tua email e password e verrai reindirizzato alla dashboard di amministrazione.

Da qui puoi iniziare a personalizzare la tua installazione di PrestaShop e aggiungere nuovi prodotti.


Ubuntu
  1. Come installare MySQL 8.0 in Ubuntu 18.04

  2. Come installare MySQL su Ubuntu 20.04

  3. Come installare MySQL su Ubuntu 18.04

  4. Come installare Magento 2 su Ubuntu 18.04

  5. Come installare PHP 7.4 / 7.3 / 7.2 su Ubuntu 18.04 / Ubuntu 16.04

Come installare Magento su Ubuntu 14.04

Come installare Gibbon su Ubuntu 14.04

Come installare Moodle su Ubuntu 14.04

Come installare Drupal su Ubuntu 14.04

Come installare lo stack LAMP su Ubuntu 17.04

Come installare MySQL su Ubuntu 22.04