ERPNext es un ERP con interfaz web desarrollado en la India por Web Notes Technologies, es una herramienta muy completa para llevar el control contable, financiero y operativo de empresas pequeñas y medianas.
Este post es un combinación de las instrucciones oficiales de instalación y mi experiencia personal, estoy trabajando sobre una instalación limpia de CentOS 6.5, un droplet de Digital Ocean, es importante que selección un sistema operativo a 64 bits como base.
Si te manejas bien con Linux no deberías tener problemas con la instalación, pero si no te manejas bien con Linux podrías considerar contratar una instancia directamente a los desarrolladores de este software y dejarles la configuración y mantenimiento a ellos.
1- Iniciamos sesión vía SSH con el IP y Contraseña facilitada por el proveedor del VPS.
# ssh@ip
2- Actualizamos el sistema y nos aseguramos de tener instalado wget y git
# yum -y update && yum install -y wget git
3- Creamos un usuario para ERPNext y le asignamos una contraseña
# useradd erpnext
# passwd erpnext
4- Iniciamos sesión con el nuevo usuario
# su - erpnext
5- Clonamos el script de instalación que proporcionan el desarrollador:
$ wget https://raw.githubusercontent.com/frappe/bench/master/install_scripts/setup_frappe.sh
6- Ejecutamos como root el script
$ su -c "/bin/bash /home/erpnext/setup_frappe.sh"
Si el script no presenta errores ya deberiamos tener todo instalado.
7- Iniciamos MariaDB
$ su -c "service mysql start"
8- Ejecutamos el script de configuración segura de MariaDB
$ su -c mysql_secure_installation
El paso fundamental aca es configurar la contraseña de root de MariaDB
9- Iniciamos la bench
$ cd ~ && bench init frappe-bench
Si les aparece este error lo pueden obviar:
File "/home/erpnext/frappe-bench/env/build/gunicorn/gunicorn/workers/_gaiohttp.py", line 64
yield from self.wsgi.close()
^
SyntaxError: invalid syntax
Lo importante al final es recibir el mensaje:
Bench frappe-bench initialized
10- Descargamos vía bench ERPNext (no voy a bajar la aplicación de e-comerce)
$
cd frappe-bench &&
bench get-app erpnext https://github.com/frappe/erpnext
11- Creamos nuestro nuevo sitio
$ bench new-site nombre-sitio
12- Instalamos vía bench ERPNext en nuestro sitio
$ bench frappe --install_app erpnext nombre-sitio
13- Abrimos el puerto 8000
$ su -c "iptables -A INPUT -p tcp -m tcp --sport 8000 -j ACCEPT"
14- Comprobamos si podes iniciar ERPNext
$ cd /home/erpnext/frappe-bench/ && bench start
15- Comprobamos poder acceder vía el navegador en el puerto 8000
El usuario es Administrator la contraseña se nos solicito en el paso 11
Hasta aca ya tenemos ERPNExt funcionando en nuestro Centos, pero si cerramos la terminal desde la que arrancamos el proceso, o matamos el proceso con "Ctrl + C" el sitio web dejara de estar disponible.
Para configurar nuestre ERPNext para, por ejemplo, autoiniciar con el sistema necesitamos pasos adicionales.
16- Volvemos nuestra terminal y matamos el proceso con "Ctrl + C"
17 - Cerramos la sesión de erpnext para volver a ser root
$ exit
18 - MariaDB ya esta corriendo pero necesitamos que inicie al inicio
# chkconfig mysql on
19 - Configuramos el autoinicio de redis
# chkconfig redis on
20- Configuramos el autoinicio de memcached
# chkconfig memcached on
21- Configuramos memcached para escuchar en el localhost
# vi /etc/sysconfig/memcached
Tiene que quedar con el siguiente contenido
# Running on Port 11211
PORT="11211"
# Start as memcached daemon
USER="memcached"
# Set max simultaneous connections to 1024
MAXCONN="1024"
# Set Memory size to 2048 - 4GB(4096)
CACHESIZE="2048"
#Set server IP address
OPTIONS="-l 127.0.0.1"
Si vas a usar ERPNext de forma local puedes llegar hasta aca, si vas a configurar ERPNext para servir de forma remota es recomendable configurar supervisor y nginx.
22- Configuramos el autoinicio de nginx
# chkconfig nginx on
23- Instalamos supervisor
# easy_install supervisor24- Creamos un script de autoinicio de ERPNext
# touch /etc/erpnext.sh
25- Editamos el archivo
# vi /etc/erpnext.sh
y agregamos
#! /bin/bash
cd /home/erpnext/frappe-bench/
bench star
25- Hacemos ejecutable el archivo
# chmod +x /etc/erpnext.sh
26- Creamos el archivo /etc/supervisord.conf
# touch /etc/supervisord.conf
27- Editamos el archivo
# vi /etc/supervisord.conf
y agregamos lo siguiente:
[supervisord]28- Editamos el archivo /etc/rc.local
nodaemon = false
[program:erpnex]
command=/etc/erpnext.sh
# vi /etc/rc.local
y agregamos la siguiente linea
supervisord -c /etc/supervisord.confAhora deberiamos ser capaces de apagar el servidor reiniciarlo y verificar que ERPNext se inicia de forma automatica gracias a supervisor.
init─┬─auditd───{auditd}
├─crond
├─master─┬─pickup
│ └─qmgr
├─memcached───5*[{memcached}]
├─6*[mingetty]
├─mysqld_safe───mysqld───18*[{mysqld}]
├─nginx───nginx
├─redis-server───2*[{redis-server}]
├─rsyslogd───3*[{rsyslogd}]
├─sshd───sshd───bash───pstree
├─supervisord───erpnext.sh───honcho─┬─frappe───python2.7───{python2.7}
│ ├─python───python
│ ├─python
│ └─3*[{honcho}]
└─udevd───udevd
El siguiente paso es configurar Nginx
29- Abrimos el puerto y verificamos poder ver la página de inicio de Nginx
# iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
30- Iniciamos sesión con el usuario erpnext
# su - erpnext
31- Generamos un archivo de configuración
$ cd frappe-bench && bench setup nginx
32- Creamos un link a la carpera de nginx
$ su -c "ln -s /home/erpnext/frappe-bench/config/nginx.conf /etc/nginx/conf.d/frappe.conf"
33- Eliminamos el archivo por defecto de nginx
$ su -c "rm /etc/nginx/conf.d/default.conf"
34- Podemos verificar que nginx esta funcionando como proxy inverso en la página de prueba y cerrar el puerto 80
Listo
Al reiniciar el servidor supervisor ERPNext se iniciara automaticamente.
Hola, amigos: Cómo hacéis para codificar el Plan Contable por Grupos-Subgrupos-Cuentas-Subcuentas? un saludo
ResponderEliminar