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.
- 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.
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.
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;"
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
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.
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.
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. Escribe‘yes’ para confirmar.
Escribe ‘sí‘ para desplegar Bagisto eCommerce en un entorno de 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.
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.
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.
Verás la página de inicio por defecto de Bagisto eCommerce como se muestra a continuación.
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.
Escribe el usuario por defecto de Bagisto‘admin‘ y la contraseña‘admin123‘ y haz clic en‘Iniciar sesión‘.
Y obtendrás el panel de administración del eCommerce 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.