Cómo instalar ERPNext en Ubuntu 18.04 LTS
ERPNext es un software de gestión empresarial gratuito, de código abierto, moderno y fácil de usar, utilizado por miles de empresas de todo el mundo. Es una plataforma ERP muy sencilla que admite los sectores minorista, comercial, de servicios, manufacturero, de recursos humanos, sin ánimo de lucro y otros. Es un sistema ERP potente y con todas las funciones, escrito en Python sobre el framework Frappe. Utiliza Node.js para el front-end y MariaDB para almacenar sus datos. ERPNext proporciona una interfaz basada en web para realizar las tareas cotidianas. ERPNext proporciona un sistema de generación de informes integrado con la suite ofimática.
En este tutorial, aprenderemos a instalar y configurar ERPNext en un servidor Ubuntu 18.04 LTS.
Requisitos
- Un servidor con Ubuntu 18.04.
- Un usuario no root con privilegios sudo configurado en tu servidor.
Cómo empezar
En primer lugar, tendrás que actualizar tu sistema con la última versión. Puedes hacerlo ejecutando el siguiente comando:
sudo apt-get update -y sudo apt-get upgrade -y
Una vez actualizado tu sistema, tendrás que crear un usuario para ERPNext.
Puedes hacerlo con el siguiente comando:
sudo useradd -m -s /bin/bash erpnext sudo passwd erpnext
A continuación, otorga privilegios sudo al usuario ERPNext con el siguiente comando:
sudo usermod -aG sudo erpnext
A continuación, inicia sesión con el usuario ERPNext y configura la variable de entorno con el siguiente comando:
su - erpnext
nano .bashrc
Añade la siguiente línea:
PATH=$PATH:~/.local/bin/
Guarda y cierra el archivo cuando hayas terminado. A continuación, reinicia el sistema para aplicar todos los cambios.
Instalar los paquetes necesarios
En primer lugar, inicia sesión en tu sistema con el usuario erpnext e instala en tu sistema algunas dependencias necesarias para ERPNext.
sudo apt-get install libffi-dev python-pip python-dev libssl-dev wkhtmltopdf -y
A continuación, instala Nginx y el servidor MariaDB con el siguiente comando:
sudo apt-get install nginx mariadb-server -y
Una vez finalizada la instalación, deberás realizar algunos cambios en el archivo 50-server.cnf. Puedes hacerlo con el siguiente comando:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Realiza los siguientes cambios:
[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. A continuación, reinicia el servicio MariaDB para aplicar todos los cambios:
sudo systemctl restart mariadb
Ahora puedes comprobar el estado del servidor MariaDB con el siguiente comando:
sudo systemctl status mariadb
Deberías ver la siguiente salida:
? mariadb.service - MariaDB 10.1.38 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2019-02-16 06:26:48 UTC; 2h 38min ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 4640 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 4636 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS) Process: 4505 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set- Process: 4503 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 4482 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS) Main PID: 4607 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 1111) CGroup: /system.slice/mariadb.service ??4607 /usr/sbin/mysqld Aug 16 06:26:47 ubuntu1804 systemd[1]: Starting MariaDB 10.1.38 database server... Aug 16 06:26:48 ubuntu1804 mysqld[4607]: 2019-02-16 6:26:48 140715015396480 [Note] /usr/sbin/mysqld (mysqld 10.1.38-MariaDB-0ubuntu0.18.04.1) starting Aug 16 06:26:48 ubuntu1804 systemd[1]: Started MariaDB 10.1.38 database server. Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4642]: Upgrading MySQL tables if necessary. Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: Looking for 'mysql' as: /usr/bin/mysql Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4659]: This installation of MySQL is already upgraded to 10.1.38-MariaDB, use --force if you still n Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4677]: Checking for insecure root accounts. Aug 16 06:26:48 ubuntu1804 /etc/mysql/debian-start[4681]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables
Instalar Redis y Node.js
A continuación, tendrás que instalar Redis y Node.js en tu sistema. Puedes instalarlos ejecutando el siguiente comando:
sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash - sudo apt-get install gcc g++ make -y sudo apt-get install nodejs redis-server -y sudo npm install -g yarn
Configurar MariaDB
Por defecto, la instalación de MariaDB no está protegida, así que primero tendrás que protegerla. Puedes asegurarla con el siguiente comando:
sudo mysql_secure_installation
Responde a todas las preguntas como se muestra a continuación:
Enter current password for root (enter for none): Set root password? [Y/n]: N 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 asegurada MariaDB, accede al shell de MariaDB con el siguiente comando:
sudo mysql -u root -p
Introduce tu contraseña de root cuando se te pida. A continuación, crea una base de datos y un usuario para ERPNext con el siguiente comando:
MariaDB [(none)]> create database erpnextdb; MariaDB [(none)]> create user erpnextuser@localhost identified by 'password';
A continuación, concede todos los privilegios a ERPNext con el siguiente comando:
MariaDB [(none)]> GRANT ALL ON erpnextdb.* TO 'erpnextuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; MariaDB [(none)]> GRANT all privileges on *.* to 'root'@'localhost' IDENTIFIED BY 'admin@123' WITH GRANT OPTION;
A continuación, elimina los privilegios y sal del intérprete de comandos MariaDB con el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Instalar ERPNext
En primer lugar, crea un directorio para ERPNext y concédele los permisos adecuados con el siguiente comando
sudo mkdir -p /opt/erpnext sudo chown -R erpnext /opt/erpnext/
A continuación, cambia el directorio a erpnext e instala erpnext con el siguiente comando:
cd /opt/erpnext
git clone https://github.com/frappe/bench bench-repo
Salida:
Cloning into 'bench-repo'... remote: Enumerating objects: 19, done. remote: Counting objects: 100% (19/19), done. remote: Compressing objects: 100% (14/14), done. remote: Total 6144 (delta 10), reused 13 (delta 5), pack-reused 6125 Receiving objects: 100% (6144/6144), 29.70 MiB | 231.00 KiB/s, done. Resolving deltas: 100% (3924/3924), done.
A continuación, instala bench con el comando pip:
sudo pip install -e bench-repo
A continuación, inicializa el directorio bench con frappe framework:
bench init erpnext
Salida:
Building frappe assets... ? Built js/print_format_v3.min.js ? Built js/dialog.min.js ? Built js/web_form.min.js ? Built js/social.min.js ? Built js/modules.min.js ? Built js/form.min.js ? Built js/list.min.js ? Built js/frappe-vue.min.js ? Built js/chat.js ? Built js/desk.min.js ? Built js/control.min.js ? Built css/frappe-rtl.css ? Built css/module.min.css ? Built css/report.min.css ? Built css/form.min.css ? Built css/list.min.css ? Built frappe/css/email.css ? Built css/web_form.css ? Built css/frappe-web.css ? Built css/desk.min.css ? Built js/frappe-web.min.js ? Built js/report.min.js ? Done in 31.313s Done in 34.43s. INFO:bench.utils:setting up backups no crontab for erpnext INFO:bench.utils:setting up auto update no crontab for erpnext Bench erpnext initialized
A continuación, cambia el directorio a erpnext y crea un nuevo sitio para el dominio nodo1.ejemplo.com con el siguiente comando:
bench new-site node1.example.com
Se te pedirá que proporciones tu contraseña raíz de MySQL como se muestra a continuación:
MySQL root password:
Introduce tu contraseña de root y pulsa Intro. Deberías ver la siguiente salida:
Installing frappe... Updating DocTypes for frappe : [========================================] Updating country info : [========================================] Set Administrator password: Re-enter Administrator password: *** Scheduler is disabled ***
A continuación, proporciona los permisos adecuados al erpnext con el siguiente comando:
sudo chown -R erpnext:erpnext /opt/erpnext/erpnext
Por último, inicia el servidor con el siguiente comando:
bench start
Deberías ver la siguiente salida:
06:34:02 web.1 | * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit) 06:34:02 web.1 | * Restarting with inotify reloader 06:34:03 watch.1 | yarn run v1.13.0 06:34:03 watch.1 | $ node rollup/watch.js 06:34:03 web.1 | * Debugger is active! 06:34:04 web.1 | * Debugger PIN: 159-307-235 06:34:13 watch.1 | 06:34:13 watch.1 | Rollup Watcher Started 06:34:13 watch.1 | 06:34:13 watch.1 | Watching... 06:34:15 watch.1 | Rebuilding frappe-web.css
Acceder a ERPNext
ERPNext ya está instalado y escuchando en el puerto 8000. Abre tu navegador web y escribe la URL http://node1.example.come:8000. Se te redirigirá a la siguiente página:
Ahora, proporciona un nombre de usuario como Administrador y la contraseña que proporcionaste durante la configuración. A continuación, haz clic en el botón Iniciar sesión. Deberías ver la siguiente página:
A continuación, elige tu idioma y pulsa el botón Siguiente. Deberías ver la página siguiente:
A continuación, elige tu país y pulsa el botón Siguiente. Debes ver la siguiente página:
A continuación, indica tu nombre completo y tu dirección de correo electrónico. A continuación, haz clic en el botón Completar configuración. Deberías ver la página siguiente:
Enhorabuena! has instalado y configurado correctamente ERPNext en el servidor Ubuntu 18.04. Ahora puedes configurar fácilmente ERPNext en un entorno de producción.