Instalación ERP · 10 min read · Oct 14, 2025

Cómo instalar ERPNext en Ubuntu 20.04 LTS

ERPNext es un software ERP gratuito y de código abierto construido con Python, JavaScript y Frappe Framework. Es un sistema empresarial moderno, fácil de usar y gratuito, utilizado por fabricantes, distribuidores y servicios. Está diseñado para pequeñas y medianas empresas que ayudan a las compañías a gestionar todos los aspectos de sus operaciones comerciales. Es uno de los mejores software de gestión ERP de código abierto utilizado por miles de empresas en todo el mundo para gestionar sus procesos ERP.

En este tutorial, explicaré cómo instalar ERPNext en un servidor Ubuntu 20.04.

Prerrequisitos

  • Un servidor que ejecute Ubuntu 20.04.
  • Un dominio válido apuntado a tu servidor.
  • Una contraseña de root configurada en tu servidor.

Comenzando

Antes de comenzar, necesitarás instalar las dependencias de Python requeridas en tu sistema. Puedes instalar todas ellas con el siguiente comando:

apt-get install python3-dev libffi-dev git python3-pip python3-testresources libssl-dev wkhtmltopdf gcc g++ make -y

Después de instalar las dependencias de Python, ERPNext también utiliza Node.js para su frontend. Así que añade el repositorio de Node.js con el siguiente comando:

curl -sL https://deb.nodesource.com/setup_12.x | bash -

A continuación, instala Node.js y el servidor Redis con el siguiente comando:

apt-get install nodejs redis-server -y

Una vez que ambos paquetes estén instalados, instala el paquete Yarn ejecutando el siguiente comando:

npm install -g yarn

Una vez que hayas terminado, puedes proceder al siguiente paso.

Instalar y Configurar la Base de Datos MariaDB

Por defecto, MariaDB está disponible en el repositorio predeterminado de Ubuntu 20.04. Puedes instalarlo con el siguiente comando:

apt-get install mariadb-server -y

Una vez instalado, asegura MariaDB y establece la contraseña de root de MariaDB con el siguiente comando:

mysql_secure_installation

Responde a todas las preguntas como se muestra a continuación para establecer la contraseña de root de MariaDB y asegurar la instalación:

Enter current password for root (enter for none):
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Una vez que MariaDB esté asegurado, inicia sesión en la consola de MariaDB con el siguiente comando:

mysql -u root -p

A continuación, cambia el plugin de autenticación de MariaDB con el siguiente comando:

MariaDB [(none)]>USE mysql;  
MariaDB [(none)]>UPDATE user SET plugin='mysql_native_password' WHERE User='root';

A continuación, actualiza los privilegios y sal de la shell de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;  
MariaDB [(none)]> EXIT;

A continuación, necesitarás cambiar el formato de archivo Innodb de MariaDB a Barracuda. Puedes hacerlo editando el archivo /etc/mysql/mariadb.conf.d/50-server.cnf:

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

Agrega / Modifica 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

Guarda y cierra el archivo, luego reinicia el servicio de MariaDB para implementar los cambios:

systemctl restart mariadb

Instalar ERPNext

En esta sección, te mostraremos cómo crear un usuario de ERPNext, instalar la herramienta bench e instalar ERPNext en tu sistema.

Crear Usuario de ERPNext

Primero, crea un nuevo usuario para ejecutar ERPNext utilizando el siguiente comando:

useradd -m -s /bin/bash erpnext

A continuación, establece la contraseña para ERPNext con el siguiente comando:

passwd erpnext

A continuación, agrega el usuario de ERPNext al grupo sudo con el siguiente comando:

usermod -aG sudo erpnext

A continuación, inicia sesión en el usuario de ERPNext y configura la variable de entorno con el siguiente comando:

su - erpnext  
nano ~/.bashrc

Agrega la siguiente línea:

PATH=$PATH:~/.local/bin/

Guarda el archivo y luego activa la variable de entorno con el siguiente comando:

source ~/.bashrc

Instalar Herramienta Bench

Primero, cambia el directorio al usuario de ERPNext y crea un directorio para ERPNext con el siguiente comando:

su - erpnext  
sudo mkdir /opt/bench

A continuación, establece la propiedad al usuario erpnext:

sudo chown -R erpnext:erpnext /opt/bench

A continuación, cambia el directorio a /opt/bench y clona el repositorio de bench desde Git Hub:

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

A continuación, instala el repositorio de bench utilizando el comando pip3:

pip3 install -e bench-repo

Una vez instalado, inicializa el directorio de bench con el framework frappe utilizando el siguiente comando:

bench init erpnext

Deberías obtener la siguiente salida:

? Built js/checkout.min.js
? Built js/dialog.min.js
? Built js/social.min.js
? Built js/web_form.min.js
? Built js/list.min.js
? Built js/chat.js
Browserslist: caniuse-lite is outdated. Please run next command `yarn upgrade caniuse-lite browserslist`
? Built css/frappe-rtl.css
? Built css/printview.css
? Built js/bootstrap-4-web.min.js
? Built js/barcode_scanner.min.js
? Built css/list.min.css
? Built css/report.min.css
? Built frappe/css/email.css
? Built js/frappe-recorder.min.js
? Built js/desk.min.js
? Built css/frappe-chat-web.css
? Built js/frappe-web.min.js
? Built css/form.min.css
? Built css/web_form.css
? Built css/desk.min.css
? Built css/frappe-web-b4.css
? Built js/control.min.js
? Built js/form.min.js
? Built js/data_import_tools.min.js
? Built js/report.min.js
?  Done in 111.35s
Done in 113.33s.
SUCCESS: Bench erpnext initialized

Crear Sitio ERPNext

A continuación, cambia el directorio a erpnext y crea un nuevo sitio ERPNext con el siguiente comando:

cd /opt/bench/erpnext  
bench new-site erp.linuxbuz.com

Se te pedirá que proporciones tu contraseña de root de MariaDB y la contraseña de Administrador como se muestra a continuación:

MySQL root password: 

Installing frappe...
Updating DocTypes for frappe        : [========================================] 100%
Updating country info               : [========================================] 100%
Set Administrator password: 
Re-enter Administrator password: 
* Scheduler is disabled *
Current Site set to erp.linuxbuz.com

En este punto, ERPNext está instalado en tu sistema.

Configurar ERPNext para el Entorno de Producción

A continuación, necesitarás instalar Supervisor para gestionar el proceso de ERPNext y Nginx como un proxy inverso.

Primero, cambia al usuario ERPNext e instala Supervisor y Nginx con el siguiente comando:

su - erpnext  
sudo apt-get install supervisor nginx -y

A continuación, instala el frappe-bench con el siguiente comando:

sudo pip3 install frappe-bench

A continuación, cambia el directorio a /opt/bench/erpnext y configura ERPNext para el entorno de producción con el siguiente comando:

cd /opt/bench/erpnext  
sudo /home/erpnext/.local/bin/bench setup production erpnext

Una vez que ERPNext esté configurado, deberías ver la siguiente salida:

PLAY RECAP ************************************************************************************************************************************
localhost                  : ok=8    changed=4    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0   

$ sudo systemctl restart supervisor
Port configuration list:

Site erp.linuxbuz.com assigned port: 80
$ /usr/bin/supervisorctl reread
No config updates to processes
$ /usr/bin/supervisorctl update
$ sudo /usr/sbin/nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
$ sudo systemctl reload nginx

En este punto, ERPNext está configurado con Nginx para el entorno de producción.

Acceder a la Interfaz Web de ERPNext

Ahora, abre tu navegador web y escribe la URL http://erp.linuxbuz.com. Serás redirigido a la página de inicio de sesión de ERPNext:

Proporciona el nombre de usuario como Administrador y una contraseña que hayas establecido anteriormente y haz clic en el botón Iniciar sesión. Deberías ver la siguiente página:

Selecciona tu idioma deseado y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Selecciona tu País, Zona Horaria, Moneda y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Proporciona tu nombre, correo electrónico, contraseña y haz clic en el botón Completar Configuración. Deberías ver el panel de control de ERPNext en la siguiente página:

Asegurar ERPNext con Let’s Encrypt SSL

Primero, necesitarás instalar el cliente Certbot para instalar y gestionar el SSL de Let’s Encrypt. Puedes instalarlo con el siguiente comando:

sudo apt-get install certbot python3-certbot-nginx -y

Una vez instalado, ejecuta el siguiente comando para instalar y configurar el SSL de Let’s Encrypt para tu dominio:

sudo certbot --nginx -d erp.linuxbuz.com

Se te pedirá que proporciones tu correo electrónico y aceptes los términos del servicio como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for erp.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/erpnext.conf

A continuación, selecciona si deseas o no redirigir el tráfico HTTP a HTTPS como se muestra a continuación:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Escribe 2 y presiona Enter para completar el proceso. Deberías ver la siguiente salida:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/erpnext.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://erp.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=erp.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/erp.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/erp.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-08-29. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

En este punto, tu sitio web de ERPNext está asegurado con SSL de Let’s Encrypt. Ahora puedes acceder a tu sitio web de forma segura con el protocolo HTTPS.

Conclusión

En esta guía, aprendimos cómo instalar ERPNext con Nginx en Ubuntu 20.04. También aprendimos cómo asegurar ERPNext con SSL de Let’s Encrypt. Puedes visitar la página de documentación de ERPNext para más información.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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