Cómo instalar Bagisto eCommerce en Debian 11

Bagisto es un software de comercio electrónico gratuito y de código abierto escrito en el framework PHP Laravel y que utiliza Vue.js, un framework JavaScript progresivo. Bagisto es un eCommerce hecho a medida que te permite crear tu tienda online en muy poco tiempo. Es rápido, responsive, con un bonito frontend y fácil de usar. Bagis to es un framework de eCommerce que proporciona múltiples locales para diferentes tipos de idiomas, múltiples divisas, soporta múltiples temas de tienda, y también proporciona un sistema de inventario multitienda.

En este tutorial, te mostraremos cómo instalar Bagisto eCommerce en Debian 11 Bullseye. Utilizaremos PHP-FPM, el servidor web Nginx y la base de datos MariaDB.

Requisitos previos

  • La última versión de Debian 11 Bullseye.
  • Un usuario con privilegios de root/sudo.
  • Un nombre de dominio apuntando a la dirección IP de tu servidor.

Instalación de la pila LEMP

Al principio, instalarás el LEMP Stack en tu servidor Debian. La versión actual de Bagisto eCommerce requiere PHP 7.4 o superior, MariaDB 10.2.17 o superior y el servidor web Nginx.

Antes de empezar a instalar paquetes, actualiza tu repositorio utilizando el siguiente comando.

sudo apt update

Ahora instala PHP-FPM, el servidor web Nginx y la base de datos MariaDB utilizando el siguiente comando apt.

sudo apt install nginx-full mariadb-server php-fpm php-cli php-common php-zip php-mysql php-gd php-intl php-curl php-imap php-mbstring php-xml php-json libpcre3 git unzip -y

Una vez completada la instalación de todos los paquetes, edita la configuración PHP‘php.ini‘ utilizando el editor nano.

sudo nano /etc/php/7.4/fpm/php.ini
sudo nano /etc/php/7.4/cli/php.ini

Ahora cambia la siguiente opción con tu entorno actual.

memory_limit = 512M
max_execution_time = 360
date.timezone = America/Toronto

A continuación, reinicia el servicio PHP-FPM para aplicar la nueva configuración.

sudo systemctl restart php7.4-fpm

Y ya has completado la instalación básica de LEMP Stack que se utilizará para Bagisto eCommerce.

Configurar la contraseña raíz de MariaDB

Después de haber instalado la Pila LAMP en tu servidor Debian, tendrás que configurar la contraseña raíz para la base de datos MariaDB. La forma recomendada de configurar la contraseña raíz de MariaDB es utilizando la herramienta de línea de comandos‘mysql_secure_installation‘.

Ejecuta el siguiente comando«mysql_secure_installation«.

mysql_secure_installation

Ahora se te harán algunas preguntas:

  • Pulsa ENTER para establecer la contraseña de root para MariaDB.
  • Escribe ‘Y‘ para cambiar la autenticación del usuario root utilizando el método‘unix_socket_authentication‘.
  • Escribe «Y« para configurar la contraseña raíz de MariaDB, luego introduce tu contraseña y repite.

Cambiar la contraseña raíz de MariaDB

  • Escribe«Y» para eliminar el usuario anónimo de MariaDB.
  • Escribe«Y» para desactivar el inicio de sesión remoto del usuario root.
  • Escribe «Y« de nuevo para eliminar la base de datos por defecto«test» con todos los privilegios sobre ella.
  • Escribe«Y» para recargar todos los privilegios de las tablas para aplicar los nuevos cambios.

Asegurar el despliegue de MariaDB

Y ya has completado el despliegue seguro básico de la base de datos MariaDB.

Configurar una nueva base de datos y un nuevo usuario para Bagiosto

Después de haber configurado la base de datos MariaDB, ahora crearás una nueva base de datos y un nuevo usuario para Bagisto eCommerce. Necesitarás entrar en el shell MariaDB para crear una nueva base de datos y un nuevo usuario.

Entra en la shell MariaDB como usuario ‘root’ usando el siguiente comando.

mysql -u root -p

Ahora ejecuta la siguiente consulta para crear una nueva base de datos‘basgisto‘ y un usuario‘bagistouser‘ con la contraseña‘BagistoPassword‘.

CREATE DATABASE bagisto;
CREATE USER bagistouser@localhost IDENTIFIED BY 'BagistoPassword';

A continuación, permite al usuario de la base de datos ‘bagistouser‘ acceder y escribir en la base de datos ‘bagisto‘, y luego recarga todos los privilegios de las tablas. Esto es necesario para aplicar los nuevos cambios en los privilegios de MariaDB.

GRANT ALL ON bagisto.* TO bagistouser@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;

Ahora escribe‘exit‘ para salir de la Shell de MariaDB. Y habrás creado una nueva base de datos y un nuevo usuario para la instalación de Bagisto.

Crear nueva base de datos y usuario Bagisto

Instalación de la Herramienta Composer

En este paso, instalarás el Compositor en tu sistema Debian. El Compositor es necesario para instalar Bagisto eCommerce.

Ejecuta los comandos‘php‘ de abajo para descargar el script instalador para Composer. Además, este comando verificará el script instalador. Asegúrate de que aparece el mensaje ‘ Instalador verificado‘ en tu pantalla.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Descarga y verifica el instalador del compositor

Ahora, ejecuta el script instalador ‘composer-setup.php’ para instalar Composer y, a continuación, elimina el script‘composer-setup.php‘.

php composer-setup.php
php -r "unlink('composer-setup.php');"

El script instalador descargará el archivo binario ‘composer.phar‘. Mueve y renombra‘composer.phar’ a‘/usr/local/bin/composer‘.

sudo mv composer.phar /usr/local/bin/composer

Instalación de la Herramienta Composer

Para verificar la instalación de Composer, ejecuta el siguiente comando‘composer‘.

sudo -u www-data composer --version

Obtendrás la versión de salida de Composer como la captura de pantalla de abajo.

Verificar la versión de Composer

Ahora que has instalado Composer en tu servidor, estás listo para instalar Bagisto eCommerce usando Composer.

Instalando Bagisto eCommerce con Composer

En este paso, instalarás Bagisto eCommerce manualmente a través de Composer.

Crea nuevos directorios ‘.cache‘ y ‘.config‘ bajo el directorio‘/var/www/‘ y cambia la propiedad de ambos directorios a‘www-data‘. Esto se utilizará para almacenar la caché y la configuración de Composer.

mkdir -p /var/www/{.cache,.config}
sudo chown -R www-data:www-data /var/www/{.cache,.config}

A continuación, crea el directorio ‘/var/www/project’ y cambia la propiedad a ‘www-data‘. Instalarás Bagisto eCommerce en este directorio.

mkdir -p /var/www/project; sudo chown -R www-data:www-data /var/www/project

Mueve tu directorio de trabajo actual a ‘ /var/www/project’ y ejecuta el comando Composer de abajo para descargar e instalar el código fuente de Bagisto y todas las dependencias PHP adicionales.

cd /var/www/project
sudo -u www-data composer create-project bagisto/bagisto

Cuando finalice el proceso de descarga, obtendrás la siguiente salida.

Descargar el código fuente de Bagisto

A continuación, ve al directorio ‘/var/www/project/bagisto‘ y edita el archivo ‘.env ‘ con el editor nano.

cd /var/www/project/bagisto
sudo nano .env

Cambia el valor ‘APP_NAME‘ por tu propia información y el ‘APP_ENV‘ por‘production‘.

APP_NAME=Bagisto
APP_ENV=production

Cambia ‘APP_DEBUG‘ a ‘false‘ e introduce la URL de tu instalación en‘APP_URL‘.

APP_DEBUG=false
APP_URL=https://www.example.io

Escribe la base de datos detallada para tu instalación de Bagisto como abajo.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bagisto
DB_USERNAME=bagistouser
DB_PASSWORD=BagistoPassword
DB_PREFIX=

Guarda la configuración y sal.

Ahora, instala el eCommerce Bagisto usando el siguiente comando.

sudo -u www-data php artisan bagisto:install

Se te pedirá confirmación para ejecutar el comando de instalación. Escribeyes’ para confirmar.

Instalar Bagisto eCommerce

Escribe ‘‘ para desplegar Bagisto eCommerce en un entorno de producción.

Instalar Bagisto en Producción

Cuando se complete el proceso de instalación, obtendrás el usuario y contraseña de administrador por defecto para tu instalación de Bagisto.

Éxito de la instalación de Bagisto

Por último, puedes ejecutar el siguiente comando para asegurarte de que la propiedad del directorio de instalación de Bagisto‘/var/www/project/bagisto‘ pertenece a‘www-data‘.

sudo chown -R www-data:www-data /var/www/project/bagisto

Ahora has completado la instalación de Bagisto eCommerce. Continúa con el siguiente paso para configurar el servidor web Nginx.

Configurar el Servidor Web Nginx

En este paso, crearás un nuevo bloque de servidor Nginx para Bagisto eCommerce. El servidor web Nginx es una de las mejores soluciones para manejar CMS complejos como eCommerce porque es ligero y rápido.

Crea una nueva configuración de bloque de servidor‘bagisto‘ utilizando el editor nano.

sudo nano /etc/nginx/sites-available/bagisto

Copia y pega la siguiente configuración. Asegúrate de cambiar la URL y la ruta de los certificados SSL por las tuyas.

server {
    listen 80;
    server_name example.io;
    return 302 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;

server_name  example.io;
root   /var/www/bagisto/public;
index  index.php;

ssl_certificate /etc/letsencrypt/live/example.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.io/privkey.pem;

ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
ssl_session_timeout  10m;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off; # Requires nginx >= 1.5.9
# ssl_stapling on; # Requires nginx >= 1.3.7
# ssl_stapling_verify on; # Requires nginx => 1.3.7
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";

access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;

client_max_body_size 100M;

autoindex off;

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

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_intercept_errors on;
}
}

Guarda el archivo de configuración y sal.

A continuación, activa el bloque de servidor ‘bagisto‘ utilizando el siguiente comando, luego verifica la configuración de Nginx.

sudo ln -s /etc/nginx/sites-available/bagisto /etc/nginx/sites-enabled/
sudo nginx -t

Si no aparece ningún error, verás el mensaje de salida‘Sintaxis OK‘.

Por último, reinicia el servicio Nginx para aplicar la nueva configuración del host virtual.

sudo systemctl restart nginx

Ahora has completado la configuración de Nginx para Bagisto eCommerce, y ya está listo para acceder bajo tu nombre de dominio.

Configurar el servidor web Nginx para el comercio electrónico Bagisto

Verificar Bagisto eCommerce

Para verificar la instalación de Bagisto eCommerce, abre tu navegador web y escribe el nombre de dominio de tu instalación en la barra de direcciones.

https://www.example.io/

Verás la página de inicio por defecto de Bagisto eCommerce como se muestra a continuación.

Página de inicio de Bagisto

A continuación, abre una nueva pestaña y visita la página de administración de tu instalación de Comercio Electrónico Bagisto.

https://www.example.io/admin

Escribe el usuario por defecto de Bagisto‘admin‘ y la contraseña‘admin123‘ y haz clic en‘Iniciar sesión‘.

Página de inicio de sesión Bagisto para admin

Y obtendrás el panel de administración del eCommerce Bagisto.

Panel de administración de Bagisto

Conclusión

¡Enhorabuena! Ya has instalado el eCommerce Bagisto con PHP-FPM, Nginx y MariaDB en el sistema Debian 11 Bullseye. Ahora puedes empezar a añadir tus productos y configurar plugins de pago para tu eCommerce Bagisto.

También te podría gustar...