GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer Zen Cart avec Nginx sur Debian 8

Ce tutoriel étape par étape vous montrera comment installer Zen Cart avec Nginx sur un VPS Debian 8 . Zen Cart est un logiciel de panier d'achat open source basé sur PHP. Ce tutoriel a été testé et écrit pour un VPS Debian 8, mais il devrait fonctionner sur n'importe quelle distribution Linux basée sur Debian.

Assurez-vous que votre liste de packages et les packages du système d'exploitation sont à jour en exécutant les commandes suivantes :

sudo apt-get update
sudo apt-get upgrade

Arrêtez et supprimez le service Apache2 :

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

Installez Nginx sur votre serveur virtuel :

sudo apt-get update
sudo apt-get install nginx

Configurez nginx pour qu'il démarre au démarrage :

sudo update-rc.d -f nginx defaults

Installez PHP et les modules PHP requis par Zen Cart :

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

Téléchargez la dernière version de Zen Cart sur https://www.zen-cart.com/getit et téléchargez-la dans le répertoire /opt de votre serveur :

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/

Commandez ici un certificat SSL pour votre site e-commerce. Enregistrez le certificat SSL et sa clé privée dans des fichiers nommés respectivement "file.crt" et "private.key" et téléchargez-les dans le répertoire /etc/nginx.
Supprimez le bloc de serveur Nginx par défaut, créez un nouveau fichier de configuration Nginx et ajoutez le bloc virtuel suivant pour votre nom de domaine :

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

et ajoutez les lignes suivantes :
server {
listen 80 ;
# Si vous avez un certificat SSL, décommentez les 3 lignes ci-dessous :
# listen 443 ssl ;
# ssl_certificate /etc/nginx/file.crt;
# ssl_certificate_key /etc/nginx/private.key;

nom_serveur votre-domaine.com www.votre-domaine.com ;

racine /var/www/votre-domaine.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;

## Désactivez .htaccess et les autres fichiers cachés
emplacement ~ /\. {
tout refuser ;
access_log off ;
log_not_found off ;
}

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

location =/robots.txt {
tout autoriser ;
log_not_found off ;
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 ;
}

# expire max on static content
location ~* ^.+\.(jpg|jpeg|gif)$ {
access_log off ;
expire 30d ;
}

# Emplacements inaccessibles
location ~ /includes/.*\.php$ { return 403; }
emplacement ~ /sauvegardes { return 403 ; }
emplacement ~ /download { return 403 ; }
lieu ~ /email { return 403; }
emplacement ~ /media { return 403 ; }
emplacement ~ /logs { return 403 ; }

# Emplacements uniquement les images doivent être diffusées depuis
emplacement ~ /sqld { try_files nothing.txt @imagesonly; emplacement ~ \.php$ { return 403; } }
emplacement ~ /images { try_files rien.txt @imagesonly ; emplacement ~ \.php$ { return 403; } }
emplacement ~ /editors { try_files rien.txt @imagesonly ; emplacement ~ \.php$ { return 403; } }

location @imagesonly {
types {
image/gif gif;
image/jpeg jpeg jpg;
image/png png;
}
default_type application/ octet-stream ;
}

emplacement /shop/
{
emplacement ~ -p-(?[0-9]+)\.html$ { rewrite ^ /shop/index.php?main_page=product_info&products_id=$id; }
emplacement ~ -c-(?.*).html$ { rewrite ^ /shop/index.php?main_page=index&cPath=$id; }
location ~ -m-(?[0-9]+).html$ { rewrite ^ /shop/index.php?main_page=index&manufacturers_id=$id; }
emplacement ~ -pi-(?[0-9]+).html$ { réécrire ^ /shop/index.php?main_page=popup_image&pID=$id; }
location ~ -pr-(?[0-9]+).html$ { rewrite ^ /shop/index.php?main_page=product_reviews&products_id=$id; }
location ~ -pri-(?[0-9]+).html$ { rewrite ^ /shop/index.php?main_page=product_reviews_info&products_id=$id; }
emplacement ~ -ezp-(?[0-9]+).html$ { rewrite ^ /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 ;
}
}
}

N'oubliez pas de remplacer votre-domaine.com par votre nom de domaine actuel.

Activez le nouveau fichier de configuration Nginx :

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

Ouvrez le fichier /etc/php5/fpm/pool.d/www.conf et changez la variable ‘listen’ de :

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

à

listen = 127.0.0.1:9000;

Testez la configuration nginx :

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

Ensuite, redémarrez les services php5-fpm et Nginx pour que les modifications prennent effet :

sudo service php5-fpm restart
sudo service nginx restart

Définissez les autorisations appropriées :

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

Créez une nouvelle base de données 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

Ouvrez http://votre-domaine.com/zc_install/index.php à l'aide d'un navigateur Web et suivez les instructions simples :confirmez votre acceptation des termes de la licence, entrez le nom d'utilisateur, le mot de passe et le nom de la base de données MySQL, sélectionnez "Activer SSL" et 'Activer SSL dans la zone d'administration', cliquez sur 'Enregistrer les paramètres système', entrez les informations du magasin, cliquez sur 'Enregistrer les paramètres du magasin' et entrez le nom d'utilisateur et le mot de passe de l'administrateur.

Réinitialisez les autorisations sur les fichiers "configure.php" situés dans les répertoires /admin/includes/ et /includes/ en mode lecture seule :

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

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

Supprimez le répertoire /zc_install :

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

En outre, renommez le répertoire "admin" en un nom moins susceptible d'être "deviné" par quelqu'un qui sonde votre site Web pour un accès illégitime.


C'est ça. L'installation de Zan Cart est terminée.
Bien sûr, vous n'avez rien à faire si vous utilisez l'un de nos services d'hébergement VPS Linux, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts d'installer Panier Zen avec Nginx pour toi. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.

PS. Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.


Debian
  1. Comment installer le serveur HTTP Git avec Nginx sur Debian 11

  2. Comment installer Ghost sur Debian avec Nginx

  3. Comment installer DokuWiki sur Debian Wheezy avec Nginx

  4. Comment installer WordPress avec Nginx sur Debian 10

  5. Comment installer WonderCMS avec Nginx sur Debian 11

Comment installer Symfony 5 Framework avec Nginx sur Debian 10

Comment installer Nextcloud 10 avec Nginx sur Debian 8

Comment installer Drupal avec Nginx et Let's Encrypt SSL sur Debian 11

Comment installer phpMyAdmin avec Nginx sur Debian 11 Bullseye

Comment installer phpMyAdmin avec Nginx sur Debian 11

Comment installer Nginx avec PHP-FPM sur Debian 11