Best Way of Your Business
You are here: HomeBlog Installare PrestaShop su NGINX

Installare PrestaShop su NGINX

 

Installare PrestaShop su NGINX
by Vetim 1966 views

PrestaShop è una piattaforma eCommerce open source, ovvero con codice sorgente disponibile a tutti, che si sta imponendo sul mercato globale delle piattaforme eCommerce per la sua versatilità, ma soprattutto la sua facilità di personalizzazione, sia grafica che di funzionalità. E’ un software open source supportato da PrestaShop e da una forum community formata da migliaia di operatori di eCommerce, sviluppatori software e appassionati provenienti da qualsiasi parte del mondo.

I vantaggi di PrestaShop sono numerosi: dal suo lancio sul mercato, il successo di PrestaShop è sempre cresciuto grazie alla facilità di personalizzazione, ottime performance anche in presenza di grandi database di prodotti e capacità di indicizzazione dei prodotti sui motori di ricerca come Google, Yahoo, BING.

1. Il server perfetto: Linux CentOS 64bit + NGINX + APC + PHP-FPM

Noi consigliamo di usare Linux CentOS come distribuzione per l’eseguzione dei vostri siti o applicazioni web. E’ una distribuzione che riprende il kernel di RedHat Linux Enterprise e si presenta quindi perfetta per eseguire eCommerce con PrestaShop o qualsiasi altro tipo di applicazione web che necessiti di stabilità e potenza. Partiamo dal presupposto che siate davanti ad un server Linux CentOS con installato NGINX come web server, PHP-FPM come interprete del codice PHP e MySQL come struttura per il vostro database.

Installeremo PrestaShop in un host virtuale chiamato www.miosito.ch/miosito.ch. La root del vostro ecommerce con PrestaShop si troverà in /var/www/www.miosito.ch/public_html.

2. Installiamo APC

APC è un sistema di cachine e di ottimizzazione per siti web sviluppati in PHP. E’ fortemente consigliato averlo installato sul proprio server per aumentare la velocità di caricamento delle vostre pagine. Procediamo all’installazione con i seguenti comandi da shell:

Una volta installato, riavviamo PHP-FPM con il seguente comando:

/etc/init.d/php5-fpm reload

3. PrestaShop e MySQL

Scarichiamo l’ultima versione di PrestaShop sul sito ufficiale http://www.prestashop.com e la scompattiamo nella root directory del nostro server web, ovver /var/www/www.miosito.ch/public_html. Ricordatevi di dare i permessi di scrittura affinchè tutto vada senza problemi, usando il seguente comando da shell:

chown -R www-data:www-data /var/www/www.miosito.ch/public_html

Creiamo un database MySQL che chiameremo prestadb, assumendo che il mio utente MySQL si chiami “admin” e la mia password sia “password+mysql”. Procediamo con i seguenti comandi:

mysqladmin -u root -p create presta db

mysql -u root -p

GRANT ALL PRIVILEGES ON prestadb.* TO ‘admin’@’localhost’ IDENTIFIED BY ‘password+mysql’;

GRANT ALL PRIVILEGES ON prestadb.* TO ‘admin’@’localhost.localdomain’ IDENTIFIED BY ‘password+mysql’;

FLUSH PRIVILEGES;

quit;

4. Configuriamo NGINX

Il prossimo passo è quello di configurare il nostro host virtuale in NGINX. Lo facciamo con il seguente comando:

vi /etc/nginx/sites-available/www.miosito.ch.vhost

server {

listen 80;

server_name www.miosito.ch miosito.ch;

root /var/www/www.miosito.ch/public_html;

if ($http_host != “www.miosito.ch”) {

rewrite ^ http://www.miosito.ch$request_uri permanent;

}

index index.php index.html;

location = /favicon.ico {

log_not_found off;

access_log off;

}

location = /robots.txt {

allow all;

log_not_found off;

access_log off;

}

# Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).

location ~ /\. {

deny all;

access_log off;

log_not_found off;

}

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

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;

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

try_files $uri $uri/ /index.php$is_args$args;

error_page 404 /index.php?controller=404;

location ~* \.(gif)$ {

expires 2592000s;

}

location ~* \.(jpeg|jpg)$ {

expires 2592000s;

}

location ~* \.(png)$ {

expires 2592000s;

}

location ~* \.(css)$ {

expires 604800s;

}

location ~* \.(js|jsonp)$ {

expires 604800s;

}

location ~* \.(js)$ {

expires 604800s;

}

location ~* \.(ico)$ {

expires 31536000s;

}

location ~ \.php$ {

try_files $uri =404;

include /etc/nginx/fastcgi_params;

fastcgi_pass unix:/var/run/php5-fpm.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_intercept_errors on;

}

}

Per abilitare il nostro host viruale creiamo un symlink dalla cartella /etc/nginx/sites-enabled/ :

cd /etc/nginx/sites-enabled/

ln -s /etc/nginx/sites-available/www.example.com.vhost www.example.com.vhost

Riavviamo NGINX per applicare le modifice effettuate con il seguente comando:

/etc/init.d/nginx reload

5. Installazione di PrestaShop

A questo punto, se avete seguito tutto correttamente, digitando il vostro URL creato come virtual host vi apparirà la schermata di installazione di PrestaShop dove vi verranno chiesti i dati del database e alcuni dati sul vostro negozio ecommerce. Vi auguriamo di fare buoni affari con il vostro nuovo eCommerce con PrestaShop!