ERPNext es un software de gestión empresarial gratuito, de código abierto, moderno y fácil de usar utilizado por miles de empresas en todo el mundo. Es una plataforma ERP muy simple que admite comercio minorista, comercio, servicios, fabricación, recursos humanos, organizaciones sin fines de lucro y otros sectores. Es un sistema ERP potente y con todas las funciones escrito en Python sobre el marco 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 diarias. ERPNext proporciona un sistema de informes integrado con integración de paquete de oficina.
En este tutorial, aprenderemos cómo instalar y configurar ERPNext en el servidor Ubuntu 18.04 LTS.
Requisitos
- Un servidor con Ubuntu 18.04.
- Un usuario no root con privilegios sudo configurados en su servidor.
Cómo empezar
Primero, deberá actualizar su sistema con la última versión. Puede hacerlo ejecutando el siguiente comando:
sudo apt-get update -y
sudo apt-get upgrade -y
Una vez que su sistema esté actualizado, deberá crear un usuario para ERPNext.
Puedes hacerlo con el siguiente comando:
sudo useradd -m -s /bin/bash erpnext
sudo passwd erpnext
Luego, otorgue privilegios sudo al usuario ERPNext con el siguiente comando:
sudo usermod -aG sudo erpnext
A continuación, inicie sesión en el usuario ERPNext y configure la variable de entorno con el siguiente comando:
su - erpnext
nano .bashrc
Agregue la siguiente línea:
PATH=$PATH:~/.local/bin/
Guarde y cierre el archivo cuando haya terminado. Luego, reinicie su sistema para aplicar todos los cambios.
Instalar paquetes necesarios
Primero, inicie sesión en su sistema con el usuario erpnext e instale algunas dependencias requeridas por ERPNext en su sistema.
sudo apt-get install libffi-dev python-pip python-dev libssl-dev wkhtmltopdf -y
A continuación, instale el servidor Nginx y MariaDB con el siguiente comando:
sudo apt-get install nginx mariadb-server -y
Una vez que se haya completado la instalación, deberá 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
Realice 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
Guarde y cierre el archivo. Luego, reinicie el servicio MariaDB para aplicar todos los cambios:
sudo systemctl restart mariadb
Ahora puede verificar el estado del servidor MariaDB con el siguiente comando:
sudo systemctl status mariadb
Debería ver el siguiente resultado:
? 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, deberá instalar Redis y Node.js en su sistema. Puede 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
De forma predeterminada, la instalación de MariaDB no está protegida, por lo que deberá protegerla primero. Puede asegurarlo con el siguiente comando:
sudo mysql_secure_installation
Responda 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 que MariaDB esté protegido, inicie sesión en el shell de MariaDB con el siguiente comando:
sudo mysql -u root -p
Ingrese su contraseña de root cuando se le solicite. Luego, cree una base de datos y un usuario para ERPNext con el siguiente comando:
MariaDB [(none)]> create database erpnextdb;
MariaDB [(none)]> create user [email protected] identified by 'password';
A continuación, otorgue todos los privilegios al ERPNiguiente 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 '[email protected]' WITH GRANT OPTION;
A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Instalar ERPNext
Primero, cree un directorio para ERPNext y otorgue los permisos adecuados con el siguiente comando:
sudo mkdir -p /opt/erpnext
sudo chown -R erpnext /opt/erpnext/
A continuación, cambie el directorio a erpnext e instale 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.
Luego, instale el banco usando el comando pip:
sudo pip install -e bench-repo
A continuación, inicialice el directorio del banco 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, cambie el directorio a erpnext y cree un nuevo sitio para el dominio node1.example.com con el siguiente comando:
bench new-site node1.example.com
Se le pedirá que proporcione su contraseña raíz de MySQL como se muestra a continuación:
MySQL root password:
Proporcione su contraseña de root y presione Entrar. Debería ver el siguiente resultado:
Installing frappe... Updating DocTypes for frappe : [========================================] Updating country info : [========================================] Set Administrator password: Re-enter Administrator password: *** Scheduler is disabled ***
A continuación, proporcione los permisos adecuados a erpnext con el siguiente comando:
sudo chown -R erpnext:erpnext /opt/erpnext/erpnext
Finalmente, inicie el servidor con el siguiente comando:
bench start
Debería ver el siguiente resultado:
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
Acceso a ERPNext
ERPNext ahora está instalado y escuchando en el puerto 8000. Abra su navegador web y escriba la URL http://node1.example.come:8000. Será redirigido a la siguiente página:
Ahora, proporcione el nombre de usuario como Administrador y la contraseña que proporcionó durante la configuración. Luego, haga clic en Firmar en botón. Debería ver la siguiente página:
A continuación, elija su idioma y haga clic en Siguiente botón. Debería ver la siguiente página:
A continuación, elija su país y haga clic en Siguiente botón. Debería ver la siguiente página:
A continuación, proporcione su nombre completo y dirección de correo electrónico. Luego, haga clic en Completar Configuración botón. Debería ver la siguiente página:
¡Felicidades! ha instalado y configurado con éxito ERPNext en el servidor Ubuntu 18.04. Ahora puede configurar fácilmente ERPNext en un entorno de producción.