GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Zen Cart con Nginx su Debian 8

Questo tutorial passo dopo passo ti mostrerà come installare Zen Cart con Nginx su un VPS Debian 8 . Zen Cart è un software per il carrello degli acquisti basato su PHP open source. Questo tutorial è stato testato e scritto per un VPS Debian 8, ma dovrebbe funzionare su qualsiasi distribuzione Linux basata su Debian.

Assicurati che l'elenco dei pacchetti e i pacchetti del sistema operativo siano aggiornati eseguendo i seguenti comandi:

sudo apt-get update
sudo apt-get upgrade

Arresta e rimuovi il servizio Apache2:

sudo service apache2 stop
sudo apt-get remove apache2
sudo apt-get autoremove

Installa Nginx sul tuo server virtuale:

sudo apt-get update
sudo apt-get install nginx

Configura nginx per l'avvio all'avvio:

sudo update-rc.d -f nginx defaults

Installa i moduli PHP e PHP richiesti da Zen Cart:

sudo apt-get install php5 php5-cli php5-fpm php5-mysql php5-gd php5-mcrypt 
sudo php5enmod mcrypt

Scarica l'ultima versione di Zen Cart su https://www.zen-cart.com/getit e caricala nella directory /opt del tuo server:

cd /opt/
wget http://downloads.sourceforge.net/project/zencart/CURRENT%20-%20Zen%20Cart%201.5.x%20Series/zen-cart-v1.5.4-12302014.zip
unzip zen-cart-v1.5.4-12302014.zip
mv zen-cart-v1.5.4-12302014 /var/www/zen-cart/

Ordina qui un certificato SSL per il tuo sito e-commerce. Salva il certificato SSL e la sua chiave privata nei file denominati rispettivamente 'file.crt' e 'private.key' e caricali nella directory /etc/nginx.
Rimuovi il blocco del server Nginx predefinito, crea un nuovo file di configurazione Nginx e aggiungi il seguente blocco virtuale per il tuo nome di dominio:

rm /etc/nginx/sites-enabled/default
vi /etc/nginx/sites-available/your-domain.com.conf

e aggiungi le seguenti righe:
server {
listen 80;
# Se disponi di un certificato SSL, decommenta le 3 righe seguenti:
# listen 443 ssl;
# ssl_certificate /etc/nginx/file.crt;
# ssl_certificate_key /etc/nginx/private.key;

nome_server tuo-dominio.com www.tuo-dominio.com;

root /var/www/tuo-dominio.com;

index index.html index.htm index.php index.cgi index.pl index.xhtml;

error_page 400 /error/400.html;
error_page 401 /error/401.html;
error_page 403 /error/403.html;
error_page 404 /error/404.html;
error_page 405 /error/405.html;
error_page 500 /error/500.html;
error_page 502 /error/502.html;
error_page 503 /error/503.html;

access_log /var/log/nginx/your-domain.com-access.log;
error_log /var/log/nginx/your-domain.com-error.log;
charset en_us.UTF-8;

## Disabilita .htaccess e altri file nascosti
posizione ~ /\. {
deny all;
access_log off;
log_not_found off;
}

location =/favicon.ico {
log_not_found off;
access_log off;
}

location =/robots.txt {
consenti tutto;
log_not_found;
access_log off;
}

location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
}

# scade al massimo sui contenuti statici
posizione ~* ^.+\.(jpg|jpeg|gif)$ {
access_log off;
scade 30 giorni;
}

# Posizioni inaccessibili
posizione ~ /includes/.*\.php$ { return 403; }
posizione ~ /backups { return 403; }
posizione ~ /download { return 403; }
posizione ~ /email { return 403; }
posizione ~ /media { return 403; }
posizione ~ /logs { return 403; }

# Posizioni solo le immagini devono essere pubblicate da
location ~ /sqld { try_files Nothing.txt @imagesonly; posizione ~ \.php$ { ritorno 403; } }
posizione ~ /images { try_files Nothing.txt @imagesonly; posizione ~ \.php$ { ritorno 403; } }
posizione ~ /editors { try_files Nothing.txt @imagesonly; posizione ~ \.php$ { ritorno 403; } }

location @imagesonly {
tipi {
image/gif gif;
image/jpeg jpeg jpg;
image/png png;
}
default_type application/ flusso di ottetto;
}

posizione /negozio/
{
posizione ~ -p-(?[0-9]+)\.html$ { riscrivi ^ /shop/index.php?main_page=product_info&products_id=$id; }
posizione ~ -c-(?.*).html$ { riscrivi ^ /shop/index.php?main_page=index&cPath=$id; }
posizione ~ -m-(?[0-9]+).html$ { riscrivi ^ /shop/index.php?main_page=index&manufacturers_id=$id; }
posizione ~ -pi-(?[0-9]+).html$ { riscrivi ^ /shop/index.php?main_page=popup_image&pID=$id; }
posizione ~ -pr-(?[0-9]+).html$ { riscrivi ^ /shop/index.php?main_page=product_reviews&products_id=$id; }
posizione ~ -pri-(?[0-9]+).html$ { riscrivi ^ /shop/index.php?main_page=product_reviews_info&products_id=$id; }
posizione ~ -ezp-(?[0-9]+).html$ { riscrivi ^ /shop/index.php?main_page=page&id=$id; }
}

location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
}
}
}

Non dimenticare di sostituire tuo-dominio.com con il tuo nome di dominio effettivo.

Abilita il nuovo file di configurazione Nginx:

ln -sf /etc/nginx/sites-available/your-domain.com.conf /etc/nginx/sites-enabled/

Apri il file /etc/php5/fpm/pool.d/www.conf e cambia la variabile 'listen' da:

listen = /var/run/php5-fpm.sock

a

listen = 127.0.0.1:9000;

Testa la configurazione di nginx:

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Quindi, riavvia i servizi php5-fpm e Nginx per rendere effettive le modifiche:

sudo service php5-fpm restart
sudo service nginx restart

Imposta le autorizzazioni appropriate:

sudo chown www-data:www-data -R /var/www/your-domain.com/

Crea un nuovo database MySQL:

mysql -u root -p
mysql> create database zencartdb;
mysql> GRANT ALL PRIVILEGES ON zencartdb.* TO 'zencart'@'localhost' IDENTIFIED BY 'Y0UR-PASSW0RD';
mysql> flush privileges;
mysql> quit

Apri http://tuo-dominio.com/zc_install/index.php utilizzando un browser web e segui le semplici istruzioni:conferma l'accettazione dei termini di licenza, inserisci il nome utente, la password e il nome del database MySQL, seleziona 'Abilita SSL' e "Abilita SSL nell'area di amministrazione", fai clic su "Salva impostazioni di sistema", inserisci le informazioni sul negozio, fai clic su "Salva impostazioni negozio" e inserisci nome utente e password amministratore.

Ripristina le autorizzazioni sui file "configure.php" che si trovano nelle directory /admin/includes/ e /includes/ in modalità di sola lettura:

chmod 440 /var/www/your-domain.com/admin/includes/configure.php

chmod 440 /var/www/your-domain.com/includes/configure.php

Rimuovere la directory /zc_install:

rm -rf /var/www/your-domain.com/zc_install

Inoltre, rinomina la directory "admin" con un nome meno probabile che venga "indovinato" da qualcuno che sonda il tuo sito web per un accesso illegittimo.


Ecco fatto. L'installazione di Zan Cart è completa.
Ovviamente non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS Linux, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di installare Carrello Zen con Nginx per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.

PS. Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.


Debian
  1. Come installare Phorum con Nginx su Debian 9

  2. Come installare HTTP Git Server con Nginx su Debian 11

  3. Come installare Ghost su Debian con Nginx

  4. Come installare DokuWiki su Debian Wheezy con Nginx

  5. Come installare WordPress con Nginx su Debian 10

Come installare Symfony 5 Framework con Nginx su Debian 10

Come installare Nextcloud 10 con Nginx su Debian 8

Come installare Drupal con Nginx e Let's Encrypt SSL su Debian 11

Come installare phpMyAdmin con Nginx su Debian 11 Bullseye

Come installare phpMyAdmin con Nginx su Debian 11

Come installare Nginx con PHP-FPM su Debian 11