GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar OpenCart con Nginx y Lets Encrypt en Debian 10

Opencart es una popular solución de carrito de compras de código abierto que lo ayuda a alojar su propio sitio web de comercio electrónico completamente funcional. Opencart proporciona una interfaz simple y fácil de usar para vender sus productos en línea, como Amazon y Flipcart. Está diseñado específicamente para pequeñas y medianas empresas y tiene todas las funciones estándar de comercio electrónico necesarias para las tiendas en línea. Ofrece un amplio conjunto de características que incluyen varias monedas, idiomas, categorías ilimitadas, productos, reseñas de productos, tiendas múltiples y muchas más.

En este tutorial, le mostraremos cómo instalar OpenCart con Nginx en Debian 10 y asegurarlo con Let's Encrypt SSL.

Requisitos

  • Un servidor que ejecuta Debian 10.
  • Se ha configurado una contraseña raíz en su servidor.

Cómo empezar

Primero, actualice su sistema a la última versión con el siguiente comando:

apt-get update -y
apt-get upgrade -y

Una vez que su servidor esté actualizado, reinícielo para aplicar los cambios.

Instalar servidor LEMP

Primero, instale el servidor web Nginx, el servidor de la base de datos MariaDB, PHP y otras extensiones de PHP requeridas ejecutando el siguiente comando:

apt-get install nginx mariadb-server php-common php-cli php-fpm php-opcache php-gd php-mysql php-curl php-intl php-xsl php-mbstring php-zip php-bcmath php-soap unzip git -y

Una vez que todos los paquetes estén instalados, edite el archivo php.ini y realice algunos cambios:

nano /etc/php/7.3/fpm/php.ini

Cambie las siguientes líneas:

memory_limit = 256M
upload_max_filesize = 100M
opcache.save_comments=1
max_execution_time = 300
date.timezone = Asia/Kolkata

Guarde y cierre el archivo cuando haya terminado.

Configurar base de datos MariaDB

A continuación, deberá configurar una contraseña raíz de MariaDB, ya que no está configurada en Debian 10.

Para hacerlo, inicie sesión en el shell de MariaDB con el siguiente comando:

mysql

Una vez que inicie sesión, establezca una contraseña raíz de MariaDB con el siguiente comando:

MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("yournewrootpassword");

A continuación, configure el complemento de autenticación de MariaDB en mysql_native_password con el siguiente comando:

MariaDB [(none)]> SET GLOBAL innodb_fast_shutdown = 0;
MariaDB [(none)]> UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root';

A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

A continuación, inicie sesión en MariaDB con el usuario root:

mysql -u root -p

Proporcione su contraseña raíz y cree una base de datos y un usuario para OpenCart con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE opencartdb;
MariaDB [(none)]> GRANT ALL ON opencartdb.* TO 'opencart'@'localhost' IDENTIFIED BY 'password';

A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una vez que MariaDB esté configurada, puede continuar con el siguiente paso.

Descargar OpenCart

Puede descargar la última versión de OpenCart desde el repositorio de Git usando el siguiente comando:

wget https://github.com/opencart/opencart/releases/download/3.0.3.2/opencart-3.0.3.2.zip

Después de descargar OpenCart, descomprima el archivo descargado con el siguiente comando:

unzip opencart-3.0.3.2.zip

A continuación, mueva el directorio de carga al directorio raíz web de Nginx con el siguiente comando:

mv upload /var/www/html/opencart

A continuación, cambie el directorio a opencart y cambie el nombre del archivo config-dist.php:

cd /var/www/html/opencart/
mv config-dist.php config.php
mv admin/config-dist.php admin/config.php

A continuación, otorgue los permisos adecuados al directorio opencart con el siguiente comando:

chown -R www-data:www-data /var/www/html/opencart/
chmod -R 775 /var/www/html/opencart/

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar Nginx para OpenCart

A continuación, deberá crear un archivo de configuración de host virtual Nginx para servir a OpenCart. Puedes crearlo con el siguiente comando:

nano /etc/nginx/sites-available/opencart.conf

Agrega el siguiente contenido:

server {
    listen 80;
    server_name opencart.linuxbuz.com;
    root /var/www/html/opencart;
    index index.php;
    access_log /var/log/nginx/opencart_access.log;
    error_log /var/log/nginx/opencart_error.log;

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

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

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }

}

Guarde y cierre el archivo, luego verifique Nginx por cualquier error de sintaxis con el siguiente comando:

nginx -t

Deberías obtener el siguiente resultado:

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

A continuación, habilite el archivo de host virtual de Nginx con el siguiente comando:

ln -s /etc/nginx/sites-available/opencart.conf /etc/nginx/sites-enabled/

A continuación, reinicie el servicio Nginx y PHP-FPM para aplicar los cambios:

systemctl restart nginx
systemctl restart php7.3-fpm

Una vez que haya terminado, puede continuar con el siguiente paso.

Proteja OpenCart con Let's Encrypt SSL

A continuación, deberá instalar un cliente Certbot para instalar y configurar Let's Encrypt para su sitio web.

De forma predeterminada, Certbot no está disponible en el repositorio predeterminado de Debian 10. Por lo tanto, deberá agregar un repositorio de Certbot en su sistema.

Puede agregarlo con el siguiente comando:

echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list

A continuación, actualice el repositorio e instale el cliente Certbot para Nginx con el siguiente comando:

apt-get update -y
apt-get install python3-certbot-nginx -t buster-backports

Una vez instalado, ejecute el siguiente comando para descargar Let's Encrypt SSL y configure Nginx para usar este SSL:

certbot --nginx -d opencart.linuxbuz.com

Se le pedirá que acepte el término del servicio y proporcione su dirección de correo electrónico válida como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for opencart.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/nginx/sites-available/opencart-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/nginx/sites-available/opencart-le-ssl.conf
Enabling available site: /etc/nginx/sites-available/opencart-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.

A continuación, deberá elegir si desea redirigir o no el tráfico HTTP a HTTPS, como se muestra a continuación:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Tipo 2 y pulsa Intro continuar. Una vez que se haya completado la instalación, debería obtener el siguiente resultado:

Redirecting vhost in /etc/nginx/sites-enabled/opencart.conf to ssl vhost in /etc/nginx/sites-available/opencart-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://opencart.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=opencart.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/opencart.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/opencart.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-04-30. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

En este punto, OpenCart está protegido con Let's Encrypt SSL.

Acceder a la interfaz web de OpenCart

Ahora, abra su navegador web y escriba la URL https://opencart.linuxbuz.com. Será redirigido a la página del acuerdo de licencia de OpenCart:

Haga clic en Continuar botón para aceptar el Acuerdo de licencia. Debería ver la siguiente página:

Asegúrese de que todas las extensiones de PHP requeridas estén instaladas y luego haga clic en CONTINUAR botón. Debería ver la siguiente página:

Proporcione las credenciales de su base de datos, el nombre de usuario del administrador, la contraseña y haga clic en CONTINUAR botón. Una vez que se haya completado la instalación, debería ver la siguiente página:

Ahora, abra su terminal y elimine el directorio de instalación con el siguiente comando:

rm -rf /var/www/html/opencart/install/

A continuación, haz clic en IR A TU TIENDA ONLINE . Debería ver su tienda OpenCart en la siguiente página:

A continuación, haga clic en INICIAR SESIÓN EN SU ADMINISTRACIÓN botón. Debería ver la página de inicio de sesión de OpenCart:

Proporcione su nombre de usuario y contraseña de administrador y haga clic en Iniciar sesión botón. Debería ver su panel de administración de OpenCart en la siguiente página:

Conclusión

¡Felicidades! Ha instalado y asegurado con éxito OpenCart en Debian 10. Ahora puede alojar su propio carrito de compras en línea con OpenCart. Siéntase libre de preguntarme si tiene alguna pregunta.


Debian
  1. Instale Lets Encrypt and Secure Nginx con SSL/TLS en Debian 9

  2. Cómo instalar Automad CMS con Apache y Lets encrypt en Debian 10

  3. Cómo instalar ElkArte Forum con Apache y Lets Encrypt en Debian 10

  4. Cómo instalar Askbot con Nginx y Secure con Lets Encrypt en CentOS 8

  5. Cómo instalar Drupal 9 con Nginx y Lets Encrypt SSL en Debian 10

Cómo instalar Wordpress con Nginx, MariaDB y HHVM en Debian 8

Cómo instalar TYPO3 7 con Nginx y MariaDB en Debian 8 (Jessie)

Cómo instalar Shopware con NGINX y Lets encrypt en Debian 9

Cómo instalar Lighttpd con PHP, MariaDB y Lets Encrypt SSL en Debian 10

Cómo instalar MyBB Forum con Nginx y Lets Encrypt en Debian 10

Cómo instalar Wekan Kanban con Nginx y Lets Encrypt SSL en Debian 10