ERP Software · 12 min read · Oct 23, 2025

Cómo instalar ERPNext en Debian 9

ERPNext es un software ERP gratuito y de código abierto escrito en Python sobre el marco Frappe e incluye Contabilidad, Inventario, Manufactura, CRM, Ventas, Compras, Gestión de Proyectos, HRMS y más. ERPNext es un sistema ERP simple, poderoso y fácil de usar. Viene con una hermosa interfaz web que se puede usar para gestionar las tareas diarias desde un lugar central.

En este tutorial, aprenderemos cómo instalar el software ERPNext en un servidor Debian 9.

Prerequisitos

  • Un servidor que ejecute Debian 9.
  • Un usuario no root con privilegios sudo.

Comenzando

Antes de comenzar, se recomienda actualizar su repositorio de paquetes a la última versión. Puede hacerlo ejecutando el siguiente comando:

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

A continuación, reinicie el sistema para aplicar todos los cambios.

Instalar Dependencias

ERPNext requiere Python versión 2.7 para funcionar correctamente. Puede instalar Python y otros paquetes requeridos ejecutando el siguiente comando:

sudo apt-get install python-minimal git build-essential python-setuptools python-dev libffi-dev libssl-dev curl -y

También necesitará instalar la herramienta pip de Python para instalar dependencias de Python. Puede hacerlo ejecutando el siguiente comando:

wget https://bootstrap.pypa.io/get-pip.py  
sudo python get-pip.py

A continuación, instale ansible usando el comando pip:

sudo pip install ansible

Instalar Node.js, Redis y Nginx

Por defecto, la última versión de Node.js no está disponible en Debian 9. Así que necesitará agregar el repositorio de Nodesource para Node.js 8.x. Puede hacerlo ejecutando el siguiente comando:

sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -

A continuación, instale Node.js, Nginx y Redis ejecutando el siguiente comando:

sudo apt-get install nodejs redis-server nginx -y

Una vez que se instalen todos los paquetes, inicie el servicio Nginx y Redis y habilítelos para que se inicien al arrancar con el siguiente comando:

sudo systemctl start nginx  
sudo systemctl enable nginx  
sudo systemctl start redis-server  
sudo systemctl enable redis-server

Instalar y Configurar MariaDB

Por defecto, la última versión de MariaDB no está disponible en el repositorio de Debian 9. Así que necesitará agregar el repositorio de MariaDB para eso.

Primero, descargue y agregue la clave de firma a su sistema con el siguiente comando:

sudo apt-get install software-properties-common dirmngr  
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8

A continuación, agregue el repositorio de MariaDB usando el siguiente comando:

sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.utexas.edu/mariadb/repo/10.2/debian stretch main'

Finalmente, instale el servidor MariaDB con el siguiente comando:

sudo apt-get update -y  
sudo apt-get install mariadb-server libmysqlclient-dev -y

A continuación, necesitará agregar el motor de almacenamiento Barracuda al archivo de configuración de MariaDB para la creación de bases de datos ERPNext. Puede hacerlo editando el archivo my.cnf:

sudo nano /etc/mysql/my.cnf

agregue las siguientes líneas:

[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

[mysql]

default-character-set = utf8mb4

Guarde y cierre el archivo cuando haya terminado, luego inicie el servicio MariaDB y habilítelo para que se inicie al arrancar con el siguiente comando:

sudo systemctl restart mysql  
sudo systemctl enable mysql

A continuación, asegure MariaDB ejecutando el script mysql_secure_installation:

sudo mysql_secure_installation

Este script establecerá la contraseña de root, eliminará usuarios anónimos, deshabilitará el inicio de sesión remoto de root y eliminará la base de datos de prueba y el acceso para asegurar MariaDB como se muestra a continuación:

¿Establecer contraseña de root? [Y/n] y
¿Eliminar usuarios anónimos? [Y/n] y
¿Deshabilitar inicio de sesión remoto de root? [Y/n] y
¿Eliminar base de datos de prueba y acceso a ella? [Y/n] y
¿Recargar tablas de privilegios ahora? [Y/n] y

Instalar Convertidor PDF

También necesitará instalar wkhtmltopdf para convertir HTML a PDF utilizando el motor de renderizado QT Webkit. Primero, instale las dependencias requeridas usando el siguiente comando:

sudo apt-get install libxext6 xfonts-75dpi xfonts-base libxrender1 -y

A continuación, descargue la última versión de wkhtmltopdf usando el siguiente comando:

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

A continuación, extraiga el archivo descargado en el directorio /opt:

sudo tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt

A continuación, cree un enlace simbólico para wkhtmltopdf usando el siguiente comando:

sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf  
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf

Instalar Bench

A continuación, necesitará instalar Bench para instalar y gestionar la aplicación ERPNext en su sistema. Bench también se utiliza para crear y gestionar configuraciones de Nginx y supervisor.

Antes de instalar Bench, necesitará agregar un usuario para Bench.

Primero, cree un usuario de Bench con el siguiente comando:

sudo adduser bench

A continuación, proporcione permisos sudo al usuario bench.

sudo usermod -aG sudo bench

A continuación, inicie sesión con el usuario Bench y clone el repositorio de Bench con el siguiente comando:

su - bench  
git clone https://github.com/frappe/bench bench-repo

Finalmente, instale Bench usando el comando pip:

sudo pip install -e bench-repo

Instalar ERPNext

A continuación, inicialice un directorio de bench con el marco frappe instalado.

bench init erpnext

A continuación, cambie el directorio a erpnext y cree un nuevo sitio Frappe con el siguiente comando:

cd erpnext  
bench new-site test.example.com

El comando anterior pedirá que proporcione la contraseña de root de MySQL y le pedirá que establezca una nueva contraseña para la cuenta de administrador. La contraseña del administrador será necesaria para iniciar sesión en el panel de administración más tarde.

A continuación, descargue los archivos de instalación de ERPNext desde el repositorio de Git con el siguiente comando:

bench get-app erpnext https://github.com/frappe/erpnext

A continuación, instale ERPNext en su sitio recién creado.

bench --site test.example.com install-app erpnext

Finalmente, inicie la aplicación Bench con el siguiente comando:

bench start

Una vez que la aplicación se haya iniciado correctamente, debería ver la siguiente salida:

13:40:10 system           | redis_socketio.1 started (pid=2618)
13:40:10 system           | worker_long.1 started (pid=2625)
13:40:10 system           | watch.1 started (pid=2619)
13:40:10 system           | redis_queue.1 started (pid=2626)
13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.939 * Increased maximum number of open files to 10032 (it was originally set to 1024).
13:40:10 system           | web.1 started (pid=2629)
13:40:11 system           | schedule.1 started (pid=2634)
13:40:10 redis_socketio.1 |                 _._                                                  
13:40:10 redis_socketio.1 |            _.-``__ ''-._                                              
13:40:10 redis_socketio.1 |       _.-``    `.  `_.  ''-._           Redis 3.0.6 (00000000/0) 64 bit
13:40:10 redis_socketio.1 |   .-`` .-```.  ```\/    _.,_ ''-._                                   
13:40:10 redis_socketio.1 |  (    '      ,       .-`  | `,    )     Running in standalone mode
13:40:10 redis_socketio.1 |  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 12000
13:40:10 redis_socketio.1 |  |    `-._   `._    /     _.-'    |     PID: 2630
13:40:10 redis_socketio.1 |   `-._    `-._  `-./  _.-'    _.-'                                   
13:40:10 redis_socketio.1 |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
13:40:10 redis_socketio.1 |  |    `-._`-._        _.-'_.-'    |           http://redis.io        
13:40:10 redis_socketio.1 |   `-._    `-._`-.__.-'_.-'    _.-'                                   
13:40:10 redis_socketio.1 |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
13:40:10 redis_socketio.1 |  |    `-._`-._        _.-'_.-'    |                                  
13:40:10 redis_socketio.1 |   `-._    `-._`-.__.-'_.-'    _.-'                                   
13:40:10 redis_socketio.1 |       `-._    `-.__.-'    _.-'                                       
13:40:10 redis_socketio.1 |           `-._        _.-'                                           
13:40:10 redis_socketio.1 |               `-.__.-'                                               
13:40:10 redis_socketio.1 | 
13:40:11 system           | worker_default.1 started (pid=2639)
13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.973 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.974 # Server started, Redis version 3.0.6
13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.974 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
13:40:10 redis_socketio.1 | 2630:M 24 Feb 13:40:10.974 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
13:40:10 redis_queue.1    | 2635:M 24 Feb 13:40:10.976 * Increased maximum number of open files to 10032 (it was originally set to 1024).
13:40:10 redis_queue.1    |                 _._                                                  
13:40:10 redis_queue.1    |            _.-``__ ''-._                                              
13:40:10 redis_queue.1    |       _.-``    `.  `_.  ''-._           Redis 3.0.6 (00000000/0) 64 bit
13:40:10 redis_queue.1    |   .-`` .-```.  ```\/    _.,_ ''-._                                   
13:40:10 redis_queue.1    |  (    '      ,       .-`  | `,    )     Running in standalone mode
13:40:10 redis_queue.1    |  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 11000
13:40:10 redis_queue.1    |  |    `-._   `._    /     _.-'    |     PID: 2635
13:40:10 redis_queue.1    |   `-._    `-._  `-./  _.-'    _.-'                                   
13:40:10 redis_queue.1    |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
13:40:10 redis_queue.1    |  |    `-._`-._        _.-'_.-'    |           http://redis.io        
13:40:10 redis_queue.1    |   `-._    `-._`-.__.-'_.-'    _.-'                                   
13:40:10 redis_queue.1    |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
13:40:10 redis_queue.1    |  |    `-._`-._        _.-'_.-'    |                                  
13:40:10 redis_queue.1    |   `-._    `-._`-.__.-'_.-'    _.-'                                   
13:40:10 redis_queue.1    |       `-._    `-.__.-'    _.-'                                       
13:40:10 redis_queue.1    |           `-._        _.-'                                           
13:40:10 redis_queue.1    |               `-.__.-'                                               
13:40:10 redis_queue.1    | 
13:40:10 redis_queue.1    | 2635:M 24 Feb 13:40:10.998 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
13:40:10 redis_queue.1    | 2635:M 24 Feb 13:40:10.999 # Server started, Redis version 3.0.6
13:40:11 redis_queue.1    | 2635:M 24 Feb 13:40:11.000 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
13:40:11 redis_socketio.1 | 2630:M 24 Feb 13:40:11.000 * The server is now ready to accept connections on port 12000
13:40:11 system           | socketio.1 started (pid=2637)
13:40:11 redis_queue.1    | 2635:M 24 Feb 13:40:11.029 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
13:40:11 redis_queue.1    | 2635:M 24 Feb 13:40:11.029 * The server is now ready to accept connections on port 11000
13:40:11 system           | redis_cache.1 started (pid=2652)
13:40:11 system           | worker_short.1 started (pid=2651)
13:40:11 redis_cache.1    | 2660:M 24 Feb 13:40:11.100 * Increased maximum number of open files to 10032 (it was originally set to 1024).
13:40:11 redis_cache.1    |                 _._                                                  
13:40:11 redis_cache.1    |            _.-``__ ''-._                                              
13:40:11 redis_cache.1    |       _.-``    `.  `_.  ''-._           Redis 3.0.6 (00000000/0) 64 bit
13:40:11 redis_cache.1    |   .-`` .-```.  ```\/    _.,_ ''-._                                   
13:40:11 redis_cache.1    |  (    '      ,       .-`  | `,    )     Running in standalone mode
13:40:11 redis_cache.1    |  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 13000
13:40:11 redis_cache.1    |  |    `-._   `._    /     _.-'    |     PID: 2660
13:40:11 redis_cache.1    |   `-._    `-._  `-./  _.-'    _.-'                                   
13:40:11 redis_cache.1    |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
13:40:11 redis_cache.1    |  |    `-._`-._        _.-'_.-'    |           http://redis.io        
13:40:11 redis_cache.1    |   `-._    `-._`-.__.-'_.-'    _.-'                                   
13:40:11 redis_cache.1    |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
13:40:11 redis_cache.1    |  |    `-._`-._        _.-'_.-'    |                                  
13:40:11 redis_cache.1    |   `-._    `-._`-.__.-'_.-'    _.-'                                   
13:40:11 redis_cache.1    |       `-._    `-.__.-'    _.-'                                       
13:40:11 redis_cache.1    |           `-._        _.-'                                           
13:40:11 redis_cache.1    |               `-.__.-'                                               
13:40:11 redis_cache.1    | 
13:40:11 redis_cache.1    | 2660:M 24 Feb 13:40:11.115 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
13:40:11 redis_cache.1    | 2660:M 24 Feb 13:40:11.115 # Server started, Redis version 3.0.6
13:40:11 redis_cache.1    | 2660:M 24 Feb 13:40:11.115 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
13:40:11 redis_cache.1    | 2660:M 24 Feb 13:40:11.116 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
13:40:11 redis_cache.1    | 2660:M 24 Feb 13:40:11.116 * The server is now ready to accept connections on port 13000
13:40:16 socketio.1       | listening on *: 9000
13:40:34 worker_long.1    | 13:40:34 RQ worker u'rq:worker:Node1.2632.long' started, version 0.10.0
13:40:34 worker_long.1    | 13:40:34 * Listening on long...
13:40:34 worker_long.1    | 13:40:34 Cleaning registries for queue: long
13:40:34 worker_default.1 | 13:40:34 RQ worker u'rq:worker:Node1.2646.default' started, version 0.10.0
13:40:34 worker_default.1 | 13:40:34 * Listening on default...
13:40:34 worker_default.1 | 13:40:34 Cleaning registries for queue: default
13:40:34 worker_short.1   | 13:40:34 RQ worker u'rq:worker:Node1.2661.short' started, version 0.10.0
13:40:34 worker_short.1   | 13:40:34 *** Listening on short...
13:40:34 worker_short.1   | 13:40:34 Cleaning registries for queue: short
13:40:34 web.1            |  * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)

Acceder a la Interfaz Web de ERPNext

ERPNext está ahora instalado y se ejecuta en el puerto 8000. Es hora de acceder a la Interfaz Web de ERPNext.

Abra su navegador web y escriba la URL http://test.exaple.com:8000, será redirigido a la siguiente página:

Acceder a la Interfaz Web de ERPNext

Aquí, proporcione las credenciales de su cuenta de Administrador y haga clic en el botón Iniciar sesión, debería ver la siguiente página:

Credenciales de cuenta de Administrador

Aquí, elija el idioma inglés y haga clic en el botón Siguiente, debería ver la siguiente página:

elegir idioma inglés

Aquí, elija su País, Zona Horaria y Moneda, luego haga clic en el botón Siguiente, debería ver la siguiente página:

elegir su País, Zona Horaria y Moneda

Aquí, proporcione su Nombre, Correo Electrónico y Contraseña, luego haga clic en el botón Siguiente, debería ver la siguiente página:

proporcione su Nombre, Correo Electrónico y Contraseña

Aquí, seleccione su Dominio como desee, luego haga clic en el botón Siguiente, debería ver la siguiente página:

Establecer nombre de dominio

Aquí, proporcione el nombre y la abreviatura de su Empresa, luego haga clic en el botón Siguiente, debería ver la siguiente página:

proporcione el nombre y la abreviatura de su Empresa

Aquí, proporcione los detalles de su Organización y haga clic en el botón Completar Configuración, debería ver la siguiente página:

proporcione los detalles de su Organización

Configuración completa

Aquí, establezca un objetivo que le gustaría alcanzar para su Empresa, luego haga clic en el botón Crear, debería ver la siguiente página:

Establecer un objetivo

Aquí, haga clic en el botón Siguiente para continuar, debería ver la siguiente página:

Agregar clientes

Aquí, agregue los clientes que le gustaría agregar, luego haga clic en el botón Crear, debería ver la siguiente página:

Clientes agregados

Aquí, haga clic en el botón Siguiente para continuar, debería ver la siguiente página:

Agregar proveedores

Aquí, agregue sus proveedores que le gustaría agregar, luego haga clic en el botón Crear, debería ver la siguiente página:

Agregar un nuevo proveedor

Aquí, haga clic en el botón Siguiente para continuar, debería ver la siguiente página:

Agregar productos

Aquí, agregue sus productos y servicios que le gustaría comprar o vender, luego haga clic en el botón Crear, debería ver la siguiente página:

Agregar un nuevo producto

Aquí, haga clic en el botón Siguiente para continuar, debería ver la siguiente página:

Agregar usuarios

Aquí, agregue usuarios a su organización, luego haga clic en el botón Crear, debería ver la página del panel de control de ERPNext:

Panel de control de ERPNext

Conclusión

¡Felicidades! ha instalado y configurado con éxito ERPNext en el servidor Debian 9. Ahora puede usar fácilmente la aplicación para gestionar su empresa. Para más información, consulte la página de documentación oficial de ERPNext en Doc.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.