Cómo instalar Bagisto eCommerce en Debian 11

Cambiar la contrase√Īa de root de MariaDB

Bagisto es un software de comercio electr√≥nico gratuito y de c√≥digo abierto escrito en el framework PHP Laravel y utiliza Vue.js – un framework JavaScript progresivo. Bagisto es un comercio electr√≥nico hecho a medida que le permite construir su tienda en l√≠nea en poco tiempo. Es r√°pido, responsivo, bellamente frontend, y f√°cil de usar. Bagis to es un marco de comercio electr√≥nico que proporciona m√ļltiples locales para diferentes tipos de idiomas, m√ļltiples monedas, soporta m√ļltiples temas de la tienda, y tambi√©n proporciona un sistema de inventario multitienda caracter√≠stica.

En este tutorial, le mostraremos cómo instalar Bagisto eCommerce en Debian 11 Bullseye. Utilizaremos el 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 que apunte a la direcci√≥n IP de su 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 comenzar a instalar los paquetes, actualice su repositorio usando el siguiente comando.

sudo apt update

Ahora instala PHP-FPM, el servidor web Nginx y la base de datos MariaDB usando 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, edite la configuraci√≥n de 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 cambie la siguiente opción con su entorno actual.

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

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

sudo systemctl restart php7.4-fpm

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

Configurando la contrase√Īa ra√≠z de MariaDB

Despu√©s de haber instalado la pila LAMP en su servidor Debian, deber√° 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’.

Ejecute el comando ‘mysql_secure_installation’ a continuaci√≥n.

mysql_secure_installation

Ahora se le pedir√°n algunas preguntas:

  • Pulse ENTER para configurar la contrase√Īa de root para MariaDB.
  • Escriba ‘Y‘ para cambiar la autenticaci√≥n del usuario root usando ‘unix_socket_authentication‘ m√©todo.
  • Tipo ‘Y‘ para configurar la contrase√Īa de root de MariaDB, luego introduzca su contrase√Īa y repita.

Cambiar la contrase√Īa de root de MariaDB

  • Escriba ‘Y‘ para eliminar el usuario an√≥nimo de MariaDB.
  • Escriba ‘Y‘ para desactivar el inicio de sesi√≥n remoto para el usuario root.
  • Escriba ‘Y‘ de nuevo para eliminar la base de datos por defecto ‘prueba‘ con todos los privilegios encima.
  • Escriba ‘Y‘ para recargar todos los privilegios de las tablas para aplicar los nuevos cambios.

Asegurando el despliegue de MariaDB

Y has completado el despliegue seguro b√°sico de la base de datos MariaDB.

Configuración de 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 usuario para Bagisto eCommerce. Necesitarás entrar en el shell de MariaDB para crear una nueva base de datos y un nuevo usuario.

Inicie sesi√≥n en el shell de MariaDB como usuario ‘root’ utilizando el siguiente comando.

mysql -u root -p

Ahora ejecute la siguiente consulta para crear una nueva base de datos ‘basgistoy el usuario ‘bagatela‘ con la contrase√Īa ‘BagistoContrase√Īa‘.

CREATE DATABASE bagisto;
CREATE USER [email protected] IDENTIFIED BY 'BagistoPassword';

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

GRANT ALL ON bagisto.* TO [email protected] WITH GRANT OPTION;
FLUSH PRIVILEGES;

Ahora escriba ‘exit’ para salir de la Shell de MariaDB. Y has creado una nueva base de datos y usuario para la instalaci√≥n de Bagisto.Anuncio

Crear nueva base de datos y usuario Bagisto

En este paso, usted instalar√° el Composer en su sistema Debian. El Composer es necesario para instalar Bagisto eCommerce.

Ejecute los comandos ‘php’ abajo para descargar el script instalador para Composer. Adem√°s, este comando verificar√° el script de instalaci√≥n. Aseg√ļrese de que recibe el mensaje ‘Instalador verificado‘ en su 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;"

Descargue y verifique el instalador del compositor

Ahora, ejecute el script instalador ‘composer-setup.php’ para instalar el Composer, luego elimine el script ‘composer-setup.php’.

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

El script de instalaci√≥n descargar√° el archivo binario ‘composer.phar’. Mueva y renombre el ‘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, ejecute el comando ‘composer’ siguiente.

sudo -u www-data composer --version

Obtendrá 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, se instalará Bagisto eCommerce manualmente a través del Composer.

Cree nuevos directorios ‘.cache’ y ‘.config’ bajo el directorio ‘/var/www/’ y cambie la propiedad de ambos directorios a ‘www-data‘. 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, cree el directorio ‘/var/www/project’ y cambie la propiedad a ‘www-data‘. Usted instalar√° 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.Advertisement

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

Cuando el proceso de descarga se complete, obtendr√° la siguiente salida.

Descargando el código fuente de Bagisto

A continuaci√≥n, mu√©vete 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 ‘producci√≥n‘.

APP_NAME=Bagisto
APP_ENV=production

Cambie el ‘APP_DEBUG’ por ‘false‘ e introduzca su instalaci√≥n URL en la ‘APP_URL’.

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

Escriba la base de datos detallada para su 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=

Guarde la configuración y salga.

Ahora, instale el Bagisto eCommerce usando el siguiente comando.

sudo -u www-data php artisan bagisto:install

Se le pedir√° confirmaci√≥n para ejecutar el comando de instalaci√≥n. Escriba ‘s√≠‘ para confirmar.

Instalación de Bagisto eCommerce

Tipo ‘s√≠‘ para s√≠ para desplegar Bagisto eCommerce en un entorno de producci√≥n.

Instalación de Bagisto en producción

Cuando el proceso de instalaci√≥n se haya completado, obtendr√° el usuario y la contrase√Īa de administrador por defecto para su instalaci√≥n de Bagisto.

Instalación exitosa de Bagisto

Por √ļltimo, puede ejecutar el siguiente comando para asegurarse 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.

Configuración del 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.

Cree una nueva configuraci√≥n de bloque de servidor ‘bagisto’ usando el editor nano.

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

Copie y pegue la siguiente configuraci√≥n. Aseg√ļrese de cambiar el URL y la ruta de Certificados SSL con el suyo propio.

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;
}
}

Guarde el archivo de configuración y salga.

A continuaci√≥n, activa el bloque del servidor ‘bagisto’ usando el siguiente comando, y luego verifica la configuraci√≥n de Nginx.

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

Si no obtienes un error, ver√°s el mensaje de salida como ‘Sintaxis OK‘.

Por √ļltimo, reinicie 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 Bagisto eCommerce

Verificar Bagisto eCommerce

Para verificar la instalación de Bagisto eCommerce, abra su navegador web y escriba el nombre de dominio de su instalación en la barra de direcciones.

https://www.example.io/

Ver√°s la p√°gina de inicio por defecto de Bagisto eCommerce como la siguiente.

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

Escriba el usuario por defecto de Bagisto ‘adminy la palabra clave ‘admin123‘ y haga clic en ‘Iniciar sesi√≥n‘.

Página de inicio de sesión de Bagisto para el administrador

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

Panel de control de Bagisto

Conclusión

¬°Felicitaciones! Ahora 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 los plugins de pago para tu Bagisto eCommerce.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *