Cómo instalar ERPNext en Debian 12

ERPNext es una solución de planificación de recursos empresariales (ERP) de código abierto. ERPNext puede utilizarse en diversos sectores, como fabricación, distribución, venta al por menor, comercio, servicios, educación, organizaciones sin ánimo de lucro y sanidad. También ofrece módulos como contabilidad, CRM, ventas, compras, sitio web, comercio electrónico, punto de venta, fabricación, almacén, gestión de proyectos, inventario y servicios.

ERPNext es una plataforma ERP empresarial licenciada bajo la Licencia Pública General GNU v3. Está escrita principalmente en Python y JavaScript y fue desarrollada por Frappe Technologies Pvt. Ltd. ERPNext es una aplicación escrita bajo frappeframework, un marco web de código abierto en Python y JavaScript.

ERPNext se desarrolló como alternativa a servicios como NetSuite de Oracle, QAD, Tython, OpenBrave y Odoo. En términos de funcionalidad, ERPNext es similar a Odoo (antes OpenERP).

En este tutorial, te guiaremos en la instalación de ERPNext en el servidor Debian 12. Instalarás ERPNext con un servidor de base de datos MariaDB, Nginx como proxy inverso y un gestor de procesos supervisor.

Requisitos previos

Para empezar, asegúrate de que tienes acceso a:

  • Un servidor Debian 12.
  • Un usuario no root con privilegios de administrador sudo.
  • Un nombre de dominio apuntando a la dirección IP del servidor.

Instalación de las dependencias

ERPNext es un software ERP y CRM de código abierto escrito en Python. Para instalar ERPNext, debes instalar dependencias como Python 3, el servidor MariaDB, Node.js, el gestor de paquetes Yarn, Nginx, el gestor de procesos Supervisor y Redis en tu servidor Debian.

En este primer paso, instalarás las dependencias de ERPNext desde el repositorio de Debian. Después, también verificarás cada dependencia para asegurarte de que todo está instalado.

Antes de instalar las dependencias, ejecuta el siguiente comando apt update para actualizar el índice de paquetes de Debian.

sudo apt update

Ahora ejecuta el siguiente comando para instalar las dependencias para ERPNext, incluyendo Python 3.11, Node.js, NPM, servidor MariaDB, servidor web Nginx, gestor de procesos Supervisor y servidor Redis.

sudo apt install python3-dev python3-venv nodejs yarnpkg npm redis-server mariadb-server nginx supervisor fail2ban libffi-dev git python3-pip python3-testresources libssl-dev wkhtmltopdf gcc g++ make

Escribe y para proceder a la instalación.

instalar dependencias

Una vez instaladas las dependencias, verifica cada una de ellas ejecutando el siguiente comando. Verificarás algunos servicios mediante el comando systemctl para asegurarte de que cada servicio se está ejecutando y está habilitado.

Verifica el servidor MariaDB mediante el siguiente comando.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

comprobar mariadb

Verifica el servicio Nginx para asegurarte de que el servicio se está ejecutando y está habilitado.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

comprobar nginx

Ahora verifica el servicio del gestor de procesos supervisor utilizando el siguiente comando.

sudo systemctl is-enabled supervisor
sudo systemctl status supervisor

comprobar supervisor

A continuación, verifica el Redis para asegurarte de que está disponible y listo para la producción de ERPNext.

sudo systemctl is-enabled redis-server
sudo systemctl status redis-server

comprobar redis

A continuación, verifica las versiones de Node.js y NPM utilizando el siguiente comando.

node --version
npm --version

La siguiente salida confirma que Node.js v18.x y NPM 1.22 están instalados.

comprueba node.js y npm

Por último, verifica la versión de wkhtmltopdf utilizando el siguiente comando. Deberías ver que está instalada la versión 0.12 de wkhtmltopdf.

wkhtmltopdf --version
wkhtmltoimage --version

comprobar wkhtmltopdf

Configurar el servidor MariaDB

Tras instalar las dependencias, deberás configurar tu servidor MariaDB para asegurarte de que está listo para la instalación de ERPNext. ERPNext requiere que el formato barracuda esté habilitado y el juego de caracteres por defecto configurado a utf8mb4. También asegurarás tu servidor MariaDB mediante la utilidad mariadb-secure-installation.

Ejecuta el siguiente comando mariadb-secure-installation para asegurar la instalación de tu servidor MariaDB.

sudo mariadb-secure-installation

Introduce Y para aplicar cuando se te pregunte con las siguientes configuraciones:

  • ¿Cambiar la autenticación local a unix_socket? Introduce n para no.
  • ¿Establecer la contraseña raíz de MariaDB? Introduce y, luego escribe la nueva contraseña de root de MariaDB y repite.
  • ¿Eliminar el usuario anónimo por defecto? Introduce y para confirmar.
  • ¿Desactivar el inicio de sesión remoto para el usuario root? Introduce y para confirmar.
  • ¿Eliminar la prueba de base de datos por defecto? Introduce y para confirmar.
  • ¿Recargar los privilegios de la tabla y aplicar los cambios? Introduce y para confirmar.

Ahora abre la configuración del Servidor MariaDB /etc/mysql/mariadb.conf.d/50-server.cnf utilizando el siguiente editor nano.

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Inserta la siguiente configuración dentro de la sección [mysqld] para activar el formato barracuda y establecer el juego de caracteres por defecto en utf8mb4.

[mysqld]
innodb-file-format=barracuda
innodb-file-per-table=1
innodb-large-prefix=1
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

Guarda el archivo y sal del editor cuando hayas terminado.

A continuación, abre el archivo /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf con el editor nano para configurar la conexión del cliente MariaDB.

sudo nano /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf

Añade la siguiente configuración en la sección [mysql].

[mysql]
default-character-set = utf8mb4

Guarda y sal del archivo.

Por último, ejecuta el siguiente comando para reiniciar el servidor MariaDB y aplicar la nueva configuración.

sudo systemctl restart mariadb

Instalación de la herramienta de línea de comandos Bench

Un banco es una línea de comandos también para gestionar Frappe Frameworks, incluyendo aplicaciones y sitios. ERPNext es una aplicación web escrita con Frappe Framework, debes instalarla mediante Bench.

Completa la siguiente sección para crear un nuevo usuario que se utilizará para ERPNext y, a continuación, instala la utilidad Bench en tu sistema Debian.

Primero, ejecuta el siguiente comando para añadir un nuevo usuario frappe, introduce la nueva contraseña y repite.

sudo useradd -m -s /bin/bash frappe
sudo passwd frappe

Añade el usuario frappe al grupo sudo para permitirle ejecutar el comando sudo.

sudo usermod -aG sudo frappe

añadir usuario

A continuación, inicia sesión como el nuevo usuario frappe e instala el paquete frappe-bench o bench mediante el gestor de paquetes pip Python.

su - frappe
sudo pip3 install frappe-bench --break-system-packages

instalar banco

Una vez instalado el frappe-bench, verifícalo utilizando el siguiente comando. En este ejemplo, bench 5.17 está instalado en /usr/local/bin/bench.

which bench
bench --version

verificar banco

Instalación de ERPNext mediante Bench

En esta sección, instalarás ERPNext a través de la línea de comandos Bench. Inicializarás el proyecto Frappe Framework, crearás un nuevo sitio y, a continuación, descargarás e instalarás la aplicación ERPNext en el proyecto Frapper.

En primer lugar, ejecuta el comando bench que aparece a continuación para inicializar Frappe Framework 14 en el directorio frappe-bench.

bench init --python python3.11 --frappe-branch version-14 frappe-bench

A continuación deberías ver cómo comienza la instalación de Frappe Framework.

inicializar frappe mediante banco

Una vez inicializado, deberías obtener la siguiente salida:

éxito de la inicialización

Ahora ejecuta el siguiente comando para permitir a los usuarios ejecutar Frappe Framework. Esto permitirá a grupos como www-data ejecutar el Frappe Framework.

sudo chmod -R o+rx /home/frappe/frappe-bench

A continuación, ve al directorio de instalación de Frappe Framework ~/frappe-bench y crea un nuevo sitio erp.hwdomain.io.

cd ~/frappe-bench
bench new-site erp.hwdomain.io --admin-password 'erpadmin' --mariadb-root-username root --mariadb-root-password 'password'

A continuación se muestra la salida que obtendrás una vez creado el nuevo sitio.

crear nuevo sitio

Cambia al nuevo sitio erp .hwdomain.io ejecutando el comando bench que aparece a continuación.

bench use erp.hwdomain.io

Una vez cambiado, deberías ver la salida Sitio actual establecido en erp.hwdomain.io.

Ahora ejecuta el comando bench que aparece a continuación para descargar los pagos y las aplicaciones siguientes.

bench get-app payments
bench get-app --branch version-14 erpnext

instalar pagos

instalar erpnext

Una vez descargada erpnext, ejecuta el siguiente comando para instalarla en el sitio erp.hwdomain.io. Esto también instalará automáticamente la aplicación de pagos.

bench --site erp.hwdomain.io install-app erpnext

añadir erpnext al sitio

Una vez finalizada la instalación, ejecuta el siguiente comando para activar el programador y desactivar el mantenimiento en el sitio erp.hwdomain.io.

bench --site erp.hwdomain.io enable-scheduler
bench --site erp.hwdomain.io set-maintenance-mode off

activar programador

En este punto, ERPNext está instalado, configurarás ERPNext añadiendo Nginx como proxy inverso y Supervisor como gestor de procesos para tu instalación de ERPNext.

Preparar ERPNext para la producción

En este paso, configurarás ERPNext para producción configurando Nginx como proxy inverso y Supervisor como gestor de procesos, lo que se puede hacer automáticamente a través de Bench.

Ejecuta el siguiente comando para configurar la instalación de ERPNext. Esto descargará e instalará Ansible, y luego configurará Nginx como proxy inverso y el gestor de procesos Supervisor automáticamente.

sudo pip3 install ansible --break-system-packages
sudo bench setup production frappe

A continuación se muestra una configuración automática de Nginx y Supervisor para tu instalación de ERPNext.

erpnext para la producción

Si se produce un error, también puedes configurar tanto Nginx como Supervisor utilizando el comando que aparece a continuación.

sudo bench setup supervisor
sudo bench setup nginx
sudo bench setup production frappe

A continuación, reinicia los servicios Nginx y Supervisor para asegurarte de que se aplican los nuevos cambios.

sudo systemctl restart nginx supervisor

Ahora ejecuta el siguiente comando para verificar el servicio Nginx y asegurarte de que se está ejecutando.

sudo systemctl status nginx

La siguiente salida indica que Nginx se está ejecutando.

reinicia nginx y el supervisor

Por último, ejecuta el siguiente comando supervisorctl para verificar el proceso list ERPNext con el Supervisor.

sudo supervisorctl status

Si todo va bien, deberías ver cada proceso con el estado RUNNING.

estado supervisorctl

Con Nginx y el Supervisor configurados, estás listo para iniciar la instalación de ERPNext desde tu navegador web.

Instalación de ERPNext a través del Instalador Web

Inicia tu navegador web y visita el nombre de dominio de tu instalación de ERPNext, como http://erp.hwdomain.io/. Si tu instalación de ERPNext se ha realizado correctamente, deberías ver la página de inicio de sesión de ERPNext.

Introduce el usuario predeterminado Administrador y la contraseña que hayas configurado y, a continuación, haz clic en Iniciar sesión.

inicio de sesión erpnext

Selecciona el idioma, la zona horaria, el país y la moneda predeterminados. A continuación, haz clic en Siguiente para continuar.

seleccionar zona horaria

Ahora introduce los datos de tu primer usuario de ERPNext y haz clic en Siguiente.

configurar zona horaria

Por último, introduce los datos de tu organización y haz clic en el botón Finalizar instalación para completar la instalación de ERPNExt.

crear organizaciones

Si la instalación se ha realizado correctamente, deberías obtener el panel de control de ERPNext como el siguiente:

salpicadero erpnext

Ahora la instalación de ERPNext ha finalizado.

Conclusión

¡Enhorabuena! Has finalizado la instalación de ERPNext en Debian 12 con el servidor MariaDB y el servidor web Nginx. Has instalado ERPNext mediante la línea de comandos Bench en tu servidor Debian, y ahora puedes utilizar ERPNext como planificación de recursos empresariales para tu organización.

También te podría gustar...