GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar Zen Cart con Nginx en Debian 8

Este tutorial paso a paso le mostrará cómo instalar Zen Cart con Nginx en un VPS Debian 8 . Zen Cart es un software de carrito de compras basado en PHP de código abierto. Este tutorial fue probado y escrito para un VPS Debian 8, pero debería funcionar en cualquier distribución de Linux basada en Debian.

Asegúrese de que su lista de paquetes y los paquetes del sistema operativo estén actualizados ejecutando los siguientes comandos:

sudo apt-get update
sudo apt-get upgrade

Detenga y elimine el servicio Apache2:

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

Instale Nginx en su servidor virtual:

sudo apt-get update
sudo apt-get install nginx

Configure nginx para que se inicie en el arranque:

sudo update-rc.d -f nginx defaults

Instale los módulos PHP y PHP requeridos por Zen Cart:

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

Descargue la última versión de Zen Cart en https://www.zen-cart.com/getit y cárguela en el directorio /opt de su servidor:

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/

Solicite un certificado SSL para su sitio web de comercio electrónico aquí. Guarde el certificado SSL y su clave privada en archivos llamados 'file.crt' y 'private.key' respectivamente y cárguelos en el directorio /etc/nginx.
Elimine el bloqueo del servidor Nginx predeterminado, cree un nuevo archivo de configuración de Nginx y agregue el siguiente bloque virtual para su nombre de dominio:

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

y agregue las siguientes líneas:
servidor {
escucha 80;
# Si tiene un certificado SSL, descomente las 3 líneas a continuación:
#escucha 443 ssl;
# ssl_certificate /etc/nginx/file.crt;
# ssl_certificate_key /etc/nginx/private.key;

nombre_servidor su-dominio.com www.su-dominio.com;

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

índice índice.html índice.htm índice.php índice.cgi índice.pl índice.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;
página de error 405 /error/405.html;
página de error 500 /error/500.html;
página de error 502 /error/502.html;
página de error 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;

## Deshabilite .htaccess y otros archivos ocultos
ubicación ~ /\. {
denegar todo;
access_log off;
log_not_found off;
}

ubicación =/favicon.ico {
log_not_found off;
access_log off;
}

ubicación =/robots.txt {
permitir todo;
log_not_found off;
access_log off;
}

ubicación ~ \.php$ {
try_files $uri =404;
incluye /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;
}

# caduca como máximo en contenido estático
ubicación ~* ^.+\.(jpg|jpeg|gif)$ {
access_log off;
caduca 30d;
}

# Ubicaciones inaccesibles
ubicación ~ /incluye/.*\.php$ { return 403; }
ubicación ~ /copias de seguridad { return 403; }
ubicación ~ /descarga { return 403; }
ubicación ~ /email { return 403; }
ubicación ~ /media { return 403; }
ubicación ~ /logs { return 403;

# Las ubicaciones solo deben servir imágenes desde
ubicación ~ /sqld { try_files nothing.txt @imagesonly; ubicación ~ \.php$ { retorno 403; } }
ubicación ~ /images { try_files nothing.txt @imagesonly; ubicación ~ \.php$ { retorno 403; } }
ubicación ~ /editores { try_files nada.txt @imagesonly; ubicación ~ \.php$ { retorno 403; }

ubicación @imagesonly {
tipos {
image/gif gif;
image/jpeg jpeg jpg;
image/png png;
}
default_type application/ flujo de octetos;
}

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

ubicación ~ \.php$ {
try_files $uri =404;
incluye /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;
}
}
}

No olvide reemplazar su-dominio.com con su nombre de dominio real.

Habilite el nuevo archivo de configuración de Nginx:

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

Abra el archivo /etc/php5/fpm/pool.d/www.conf y cambie la variable 'escuchar' de:

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

a

listen = 127.0.0.1:9000;

Pruebe la configuración de nginx:

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

Luego, reinicie los servicios php5-fpm y Nginx para que los cambios surtan efecto:

sudo service php5-fpm restart
sudo service nginx restart

Establezca los permisos adecuados:

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

Cree una nueva base de datos 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

Abra http://su-dominio.com/zc_install/index.php usando un navegador web y siga las sencillas instrucciones:confirme que acepta los términos de la licencia, ingrese el nombre de usuario, la contraseña y el nombre de la base de datos MySQL, seleccione 'Habilitar SSL' y 'Habilitar SSL en el área de administración', haga clic en 'Guardar configuración del sistema', ingrese la información de la tienda, haga clic en 'Guardar configuración de la tienda' e ingrese el nombre de usuario y la contraseña del administrador.

Restablezca los permisos en los archivos 'configure.php' ubicados en los directorios /admin/includes/ e /includes/ para volver al modo de solo lectura:

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

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

Quite el directorio /zc_install:

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

Además, cambie el nombre del directorio 'admin' a un nombre que tenga menos probabilidades de ser 'adivinado' por alguien que indague en su sitio web en busca de acceso ilegítimo.


Eso es todo. La instalación de Zan Cart está completa.
Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento VPS de Linux, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que instalen Carrito Zen con Nginx para ti. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.

PD. Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.


Debian
  1. Cómo instalar Phorum con Nginx en Debian 9

  2. Cómo instalar el servidor HTTP Git con Nginx en Debian 11

  3. Cómo instalar Ghost en Debian con Nginx

  4. Cómo instalar DokuWiki en Debian Wheezy con Nginx

  5. Cómo instalar WonderCMS con Nginx en Debian 11

Cómo instalar Symfony 5 Framework con Nginx en Debian 10

Cómo instalar Nextcloud 10 con Nginx en Debian 8

Cómo instalar Drupal con Nginx y Let's Encrypt SSL en Debian 11

Cómo instalar phpMyAdmin con Nginx en Debian 11 Bullseye

Cómo instalar phpMyAdmin con Nginx en Debian 11

Cómo instalar Nginx con PHP-FPM en Debian 11