Cómo instalar ERPNext Open Source ERP en CentOS 7

ERP o Enterprise Resource Planning es un conjunto de aplicaciones empresariales que se utiliza para administrar los procesos comerciales centrales. ERPNext es una aplicación ERP autohospedada gratuita y de código abierto escrita en Python. Utiliza Node.js para el front-end y MariaDB para almacenar sus datos. ERPNext proporciona una interfaz web fácil de usar que permite a las empresas administrar las tareas diarias. Contiene módulos para contabilidad, CRM, HRM, fabricación, POS, gestión de proyectos, compras, gestión de ventas, gestión de almacenes y más. ERPNext se puede utilizar para administrar diferentes industrias, como proveedores de servicios, fabricación, venta minorista y escuelas.

En este tutorial, instalaremos ERPNext en CentOS 7.

Prerrequisitos

Para este tutorial, usaremos erp.example.comcomo el nombre de dominio señalado al servidor. Asegúrese de reemplazar todas las apariciones de erp.example.comcon su nombre de dominio real.

Actualice su sistema base utilizando la guía " Cómo actualizar CentOS 7 ". Una vez que su sistema ha sido actualizado, proceda a instalar Python.

Instalar herramientas de desarrollo

ERPNext necesita Python versión 2.7 para funcionar. Python 2.7 se instala por defecto en todas las instancias del servidor CentOS. Puede verificar si la versión instalada de Python ejecuta:

python -V

Deberías obtener el resultado similar.

[user@vultr ~]$ python -V
Python 2.7.5

Aunque la versión instalada de Python no es la última, funciona sin problemas. Cambiar la versión predeterminada de Python puede romper YUM.

Instale los paquetes en el Development toolsgrupo necesarios para compilar los archivos del instalador.

sudo yum groupinstall -y "Development tools"

Instale algunas dependencias más:

sudo yum install -y redhat-lsb-core git python-setuptools python-devel openssl-devel libffi-devel

Instala la pipherramienta de Python . Pip es el administrador de dependencias para los paquetes de Python.

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

El comando anterior instalará Pip en su sistema. Para asegurarse de tener la última versión de pipy setuptools, ejecute:

sudo pip install --upgrade pip setuptools

Instale Ansible usando Pip. Ansible automatiza el aprovisionamiento de software, la gestión de la configuración y la implementación de aplicaciones.

sudo pip install ansible

Instalar el servidor MariaDB

MariaDB es una bifurcación del servidor de base de datos MySQL. Instale MariaDB ejecutando.

sudo yum -y install mariadb mariadb-server mysql-devel

El motor de almacenamiento Barracuda es necesario para la creación de bases de datos ERPNext, por lo tanto, deberá configurar MariaDB para utilizar el motor de almacenamiento Barracuda. Edite el archivo de configuración predeterminado de MariaDB my.cnf.

sudo nano /etc/my.cnf

Agregue las siguientes líneas debajo de la symbolic-links=0línea.

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

Inicie MariaDB y permita que se inicie automáticamente en el momento del arranque.

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Antes de configurar la base de datos, deberá asegurar MariaDB. Puede asegurarlo ejecutando el mysql_secure_installationscript:

sudo mysql_secure_installation

Se le pedirá la contraseña de root actual de MariaDB. Por defecto, no hay una contraseña de root establecida en MariaDB. Presione la tecla "Enter" para continuar. Establezca una contraseña segura para el usuario raíz de su servidor MariaDB y responda "Y" a todas las demás preguntas que se le hagan. Las preguntas formuladas se explican por sí mismas.

Instalar Nginx, Nodejs y Redis

Como el repositorio EPEL se instala de forma predeterminada en todas las instancias de Vultr CentOS 7, puede instalar directamente Redis y Nginx. Pero para instalar la última versión de Node.js, necesitará agregar el repositorio de Nodesource en su sistema.

Agregue el repositorio de Nodesource para Node.js 8.x.

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

Instale Nginx, Nodejs y Redis:

sudo yum -y install nginx nodejs redis

Inicie Nginx y permita que se inicie en el momento del arranque ejecutando:

sudo systemctl start nginx
sudo systemctl enable nginx

Inicie Redis y permita que se inicie en el momento del arranque ejecutando:

sudo systemctl start redis
sudo systemctl enable redis

Instalar PDF Converter

El wkhtmltopdfprograma es una herramienta de línea de comandos que convierte HTML a PDF utilizando el motor de renderizado QT Webkit. Instale las dependencias requeridas:

sudo yum -y install libXrender libXext xorg-x11-fonts-75dpi xorg-x11-fonts-Type1

Descargue la última versión de wkhtmltopdf.

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

Extraiga el archivo ejecutando:

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

El comando anterior extraerá el archivo a /opt/wkhtmltox. Crear un enlace simbólico para que wkhtmltopdfy wkhtmltoimagepuede ser ejecutado a nivel mundial como un comando.

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

Ahora puede ejecutar el wkhtmltopdf -Vcomando para verificar si está funcionando, verá:

[user@vultr ~]$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)

En este punto, tenemos todas las dependencias necesarias instaladas. Ahora puede proceder a instalar Bench.

Instalar banco

Benches una utilidad de línea de comandos proporcionada por Frappe para instalar y administrar la aplicación ERPNext en un sistema basado en Unix tanto para fines de desarrollo como de producción. Bench también puede crear y administrar Nginx y la configuración del supervisor.

Cree un nuevo usuario para ejecutar procesos de Bench en el entorno aislado.

sudo adduser bench -d /opt/bench

Cambiar la contraseña del usuario.

sudo passwd bench

Proporcionar sudopermisos al benchusuario.

sudo usermod -aG wheel bench

Inicie sesión como el benchusuario recién creado :

sudo su - bench

Clonar el repositorio de Bench en /opt/bench:

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

Instalar banco usando pip.

sudo pip install -e bench-repo

Una vez que se instala Bench, continúe para instalar ERPNext usando Bench.

Instalar ERPNext usando Bench

Inicialice un directorio de banco con frappe framework instalado. Para mantener todo ordenado, trabajaremos bajo /opt/benchdirectorio. Bench también configurará copias de seguridad periódicas y actualizaciones automáticas una vez al día.

cd /opt/bench
bench init erpnext && cd erpnext

Crea un nuevo sitio Frappe:

bench new-site erp.example.com

El comando anterior le pedirá la contraseña de root de MySQL. Proporcione la contraseña que estableció anteriormente para el usuario root de MySQL. También le pedirá que establezca una nueva contraseña para la cuenta de administrador. Necesitará esta contraseña más tarde para iniciar sesión en el panel del administrador.

Descargue los archivos de instalación de ERPNext desde el repositorio de git remoto utilizando el Banco.

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

Instale ERPNext en su sitio recién creado:

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

ERPNext está instalado en su servidor. Puede iniciar la aplicación inmediatamente para verificar si la aplicación se inició correctamente:

bench start

Sin embargo, debe detener la ejecución y continuar para configurar la aplicación para uso en producción.

Supervisor de configuración y Nginx

De forma predeterminada, la aplicación ERPNext escucha en el puerto 8000, no en el puerto HTTP estándar 80. Además, no se recomienda ejecutar el servidor web incorporado para uso de producción, ya que expondremos el servidor al mundo. Por lo tanto, debe usar un servidor web de producción como proxy inverso, como Apache o Nginx. En este tutorial, utilizaremos Nginx como proxy inverso, ya que se puede configurar automáticamente con Bench. Bench puede generar e instalar automáticamente la configuración de acuerdo con la configuración de ERPNext.

Aunque podemos iniciar la aplicación utilizando el comando anterior, la ejecución de ERPNext se detendrá tan pronto como cierre el terminal. Para superar este problema, recomiendo usar Supervisor, que es muy útil para ejecutar la aplicación continuamente en un entorno de producción. Supervisor es un sistema de control de procesos que le permite monitorear y controlar una serie de procesos en sistemas operativos Linux. Una vez que Supervisor está configurado, iniciará automáticamente la aplicación en el momento del arranque, así como en caso de fallas. Bench puede configurar automáticamente Supervisor para la aplicación ERPNext.

Supervisor de instalación:

sudo yum -y install supervisor

Inicie Supervisor y permita que se inicie automáticamente en el momento del arranque:

sudo systemctl start supervisord
sudo systemctl enable supervisord

Configurar banco para uso en producción:

 sudo bench setup production bench

El comando anterior puede solicitarle antes de reemplazar el archivo de configuración predeterminado del Supervisor existente por uno nuevo. Elige ycontinuar. Bench agrega varios procesos al archivo de configuración de Supervisor. El comando anterior también le preguntará si desea reemplazar la configuración actual de Nginx por una nueva. Ingrese ypara continuar. Una vez que Bench haya terminado de instalar la configuración, proporcione a otros usuarios que ejecuten los archivos en el directorio de inicio del usuario de Bench.

chmod o+x /opt/bench/

Si está ejecutando un firewall en su servidor, deberá configurar el firewall para establecer una excepción para el servicio HTTP. Permita que el proxy inverso de Nginx se conecte desde fuera de la red.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

Ahora puede acceder al sitio en http://erp.example.com.

Puede verificar el estado de los procesos ejecutando:

sudo supervisorctl status all

Debería ver el siguiente resultado:

[bench@vultr ~]$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache                 RUNNING   pid 2554, uptime 1:06:58
erpnext-redis:erpnext-redis-queue                 RUNNING   pid 2553, uptime 1:06:58
erpnext-redis:erpnext-redis-socketio              RUNNING   pid 2555, uptime 1:06:58
erpnext-web:erpnext-frappe-web                    RUNNING   pid 2559, uptime 1:06:58
erpnext-web:erpnext-node-socketio                 RUNNING   pid 2556, uptime 1:06:58
erpnext-workers:erpnext-frappe-default-worker-0   RUNNING   pid 2549, uptime 1:06:58
erpnext-workers:erpnext-frappe-long-worker-0      RUNNING   pid 2551, uptime 1:06:58
erpnext-workers:erpnext-frappe-schedule           RUNNING   pid 2550, uptime 1:06:58
erpnext-workers:erpnext-frappe-short-worker-0     RUNNING   pid 2552, uptime 1:06:58

Para detener todos los procesos ERPNext, use:

sudo supervisorctl stop all

Para iniciar todos los procesos ERPNext, use:

sudo supervisorctl start all

Configuración de SSL con Let's Encrypt

Let's Encrypt proporciona certificados SSL gratuitos a los usuarios. SSL se puede instalar de forma manual o automática a través de Bench. Bench puede instalar automáticamente el cliente Let's Encrypt y obtener los certificados. Además, actualiza automáticamente la configuración de Nginx para usar los certificados.

El nombre de dominio que está utilizando para obtener los certificados de Let's Encrypt CA debe apuntar hacia el servidor. El cliente verifica la autoridad del dominio antes de emitir los certificados.

Habilite DNS multi-tenancy para la aplicación ERPNext.

bench config dns_multitenant on

Ejecute Bench para configurar Let's Encrypt en su sitio:

sudo bench setup lets-encrypt erp.example.com

Durante la ejecución del script, el cliente Let's Encrypt le pedirá que detenga temporalmente el servidor web Nginx. Instalará automáticamente los paquetes necesarios y el cliente Let's Encrypt. El cliente le pedirá su dirección de correo electrónico. También deberá aceptar los términos y condiciones. Una vez que se hayan generado los certificados, Bench también generará la nueva configuración para Nginx que utiliza los certificados SSL. Se le preguntará antes de reemplazar la configuración existente. Bench también crea una crontabentrada para renovar automáticamente los certificados cada mes.

Finalmente, habilite el planificador para ejecutar automáticamente los trabajos programados:

bench enable-scheduler

Deberías ver:

[bench@vultr erpnext]$ bench enable-scheduler
Enabled for erp.example.com

Terminando

Una vez que el proceso ha finalizado, puede acceder a su aplicación en https://erp.example.com. Inicie sesión con el nombre de usuario Administratory la contraseña que estableció durante la instalación. Será llevado al escritorio donde deberá proporcionar información para configurar ERPNext ERP de acuerdo con su empresa. Ahora puede usar la aplicación para administrar su empresa.

Felicitaciones, tiene una aplicación ERPNext totalmente funcional instalada en su servidor CentOS 7.



Leave a Comment

ZPanel y Sentora en CentOS 6 x64

ZPanel y Sentora en CentOS 6 x64

ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.

Cómo instalar MODX Revolution en un CentOS 7 LAMP VPS

Cómo instalar MODX Revolution en un CentOS 7 LAMP VPS

¿Usando un sistema diferente? MODX Revolution es un sistema de gestión de contenido (CMS) de nivel empresarial rápido, flexible, escalable, gratuito y de código abierto escrito i

Configure su propia red privada con OpenVPN

Configure su propia red privada con OpenVPN

Vultr le ofrece una increíble conectividad de red privada para servidores que se ejecutan en la misma ubicación. Pero a veces quieres dos servidores en diferentes países.

How to Install and Configure CyberPanel on Your CentOS 7 Server

How to Install and Configure CyberPanel on Your CentOS 7 Server

Using a Different System? Introduction CyberPanel is one of the first control panels on the market that is both open source and uses OpenLiteSpeed. What thi

Install eSpeak on CentOS 7

Install eSpeak on CentOS 7

Using a Different System? ESpeak can generate text-to-speech (TTS) audio files. These can be useful for many reasons, such as creating your own Turin

Cómo instalar Thelia 2.3 en CentOS 7

Cómo instalar Thelia 2.3 en CentOS 7

¿Usando un sistema diferente? Thelia es una herramienta de código abierto para crear sitios web de comercio electrónico y administrar contenido en línea, escrito en PHP. Código fuente de Thelia i

Monitoree sus dispositivos usando LibreNMS en CentOS 7

Monitoree sus dispositivos usando LibreNMS en CentOS 7

¿Usando un sistema diferente? LibreNMS es un completo sistema de monitoreo de red de código abierto. Utiliza SNMP para obtener los datos de diferentes dispositivos. Una variedad

Cómo instalar Cacti 1.1 en CentOS 7

Cómo instalar Cacti 1.1 en CentOS 7

Cacti es una herramienta de gráficos y monitoreo de red de código abierto y libre escrita en PHP. Con la ayuda de RRDtool (herramienta de base de datos Round-Robin), Cacti se puede usar t

Cómo usar Sudo en Debian, CentOS y FreeBSD

Cómo usar Sudo en Debian, CentOS y FreeBSD

Usar un usuario sudo para acceder a un servidor y ejecutar comandos a nivel raíz es una práctica muy común entre Linux y Unix Systems Administrator. El uso de un sud

Cómo supervisar de forma segura los servidores remotos con Zabbix en CentOS 7

Cómo supervisar de forma segura los servidores remotos con Zabbix en CentOS 7

¿Usando un sistema diferente? Zabbix es un software gratuito y de código abierto listo para empresas que se utiliza para monitorear la disponibilidad de sistemas y componentes de red.

Cómo instalar MODX CMS y Nginx en CentOS 7

Cómo instalar MODX CMS y Nginx en CentOS 7

MODX es un sistema de gestión de contenido gratuito y de código abierto escrito en PHP. Utiliza MySQL o MariaDB para almacenar su base de datos. MODX está diseñado para el negocio i

Cómo instalar YOURLS en CentOS 7

Cómo instalar YOURLS en CentOS 7

YOURLS (Your Own URL Shortener) es una aplicación de análisis de datos y acortamiento de URL de código abierto. En este artículo, cubriremos el proceso de instalación

Setup Nginx-RTMP on CentOS 7

Setup Nginx-RTMP on CentOS 7

Using a Different System? RTMP is great for serving live content. When RTMP is paired with FFmpeg, streams can be converted into various qualities. Vultr i

Cómo instalar LimeSurvey en CentOS 7

Cómo instalar LimeSurvey en CentOS 7

LimeSurvey es una herramienta de encuestas en línea gratuita y de código abierto que se utiliza ampliamente para publicar encuestas en línea y para recopilar comentarios de encuestas. En este artículo, voy a

Cómo instalar Vanilla Forum en CentOS 7

Cómo instalar Vanilla Forum en CentOS 7

¿Usando un sistema diferente? Vanilla forum es una aplicación de foro de código abierto escrita en PHP. Es totalmente personalizable, fácil de usar y admite dispositivos externos.

Instalación de Netdata en CentOS 7

Instalación de Netdata en CentOS 7

¿Usando un sistema diferente? Netdata es una estrella en ascenso en el campo del monitoreo de métricas del sistema en tiempo real. En comparación con otras herramientas del mismo tipo, Netdata:

Cómo instalar el servidor Just Cause 2 (JC2-MP) en CentOS 7

Cómo instalar el servidor Just Cause 2 (JC2-MP) en CentOS 7

En este tutorial, aprende bien cómo configurar un servidor multijugador Just Cause 2. Requisitos previos Asegúrese de que el sistema esté completamente actualizado antes de comenzar

Cómo instalar Starbound Server en CentOS 7

Cómo instalar Starbound Server en CentOS 7

¿Usando un sistema diferente? En este tutorial, explicaré cómo configurar un servidor Starbound en CentOS 7. Requisitos previos Necesitas tener este juego contigo

Instalación y configuración de ZNC en CentOS 7

Instalación y configuración de ZNC en CentOS 7

ZNC es un enlace IRC gratuito y de código abierto que permanece permanentemente conectado a una red para que los clientes puedan recibir mensajes enviados mientras están desconectados. Thi

ZPanel y Sentora en CentOS 6 x64

ZPanel y Sentora en CentOS 6 x64

ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Esta guía completa le mostrará cómo configurar un servidor Counter-Strike 1.6 en Linux, optimizando el rendimiento y la seguridad para el mejor juego. Aprende los pasos más recientes aquí.

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.