Cómo instalar ERPNext Open Source ERP en Ubuntu 17.04

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.

Prerrequisitos

Nota: 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 .

Antes de comenzar, asegúrese de que su servidor esté actualizado.

sudo apt update
sudo apt -y upgrade

Instalar herramientas de desarrollo

ERPNext necesita Python versión 2.7 para funcionar. Instalar Python 2.7.

sudo apt -y install python-minimal

Debería poder verificar su versión.

python -V

Verá el siguiente resultado.

user@vultr:~$ python -V
Python 2.7.13

Instala algunas dependencias más.

sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev

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

Asegúrese de tener la última versión de pipy setuptools.

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

Agregue el repositorio MariaDB en el sistema.

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'

Instala MariaDB.

sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev

Proporcione una contraseña segura para el usuario raíz de MariaDB cuando se le solicite.

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

sudo nano /etc/mysql/my.cnf

Agregue las siguientes líneas debajo de la [mysqld]lí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

Además, agregue la siguiente línea debajo de la [mysql]línea.

default-character-set = utf8mb4

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

sudo systemctl restart mariadb
sudo systemctl enable mariadb

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. Proporcione la contraseña que estableció durante la instalación. Se le preguntará si desea cambiar la contraseña existente del usuario raíz de su servidor MariaDB. Puede omitir la configuración de una nueva contraseña, ya que ya ha proporcionado una contraseña segura durante la instalación. Responda "S" a todas las otras preguntas que se le hacen.

Instalar Nginx, Node.js y Redis

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

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

Instale Nginx, Node.js y Redis.

sudo apt -y install nginx nodejs redis-server

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

sudo systemctl start nginx
sudo systemctl enable nginx

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

sudo systemctl start redis-server
sudo systemctl enable redis-server

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. Instalar las dependencias requeridas.

sudo apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base

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

Extraer el archivo.

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 wkhtmltopdf -Vpara verificar si está funcionando, verá esto.

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 configuraciones de Nginx y de supervisor.

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

sudo adduser bench --home /opt/bench

Proporcionar sudopermisos al benchusuario.

sudo usermod -aG sudo 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 el /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 del repositorio de git remoto utilizando Bench.

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

Puede iniciar la aplicación de inmediato para verificar si la aplicación se instaló 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

Por defecto, 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 en producción, ya que expondremos el servidor al mundo. Debe usar un servidor web de producción como proxy inverso, como Apache o Nginx. Usaremos 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 'bench start', la ejecución de ERPNext se detendrá tan pronto como cierre el terminal. Para superar este problema, debe 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.

Instalar Supervisor.

sudo apt -y install supervisor

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

sudo systemctl start supervisor
sudo systemctl enable supervisor

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/

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:~/erpnext$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache                 RUNNING   pid 13852, uptime 0:00:54
erpnext-redis:erpnext-redis-queue                 RUNNING   pid 13851, uptime 0:00:54
erpnext-redis:erpnext-redis-socketio              RUNNING   pid 13853, uptime 0:00:54
erpnext-web:erpnext-frappe-web                    RUNNING   pid 13856, uptime 0:00:54
erpnext-web:erpnext-node-socketio                 RUNNING   pid 13855, uptime 0:00:54
erpnext-workers:erpnext-frappe-default-worker-0   RUNNING   pid 13862, uptime 0:00:54
erpnext-workers:erpnext-frappe-long-worker-0      RUNNING   pid 13870, uptime 0:00:54
erpnext-workers:erpnext-frappe-schedule           RUNNING   pid 13869, uptime 0:00:54
erpnext-workers:erpnext-frappe-short-worker-0     RUNNING   pid 13875, uptime 0:00:54

Para detener todos los procesos ERPNext.

sudo supervisorctl stop all

Para iniciar todos los procesos ERPNext.

sudo supervisorctl start all

Configurar SSL usando 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 programador para ejecutar automáticamente los trabajos programados.

bench enable-scheduler

Deberías ver esta salida.

bench@vultr:~/erpnext$ bench enable-scheduler
Enabled for erp.example.com

Conclusión

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 Ubuntu 17.04.



Leave a Comment

Cómo instalar LiteCart Shopping Cart Platform en Ubuntu 16.04

Cómo instalar LiteCart Shopping Cart Platform en Ubuntu 16.04

LiteCart es una plataforma de carrito de compras gratuita y de código abierto escrita en PHP, jQuery y HTML 5. Es un software de comercio electrónico simple, liviano y fácil de usar.

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

Cómo instalar Blacklistd en FreeBSD 11.1

Cómo instalar Blacklistd en FreeBSD 11.1

Introducción Cualquier servicio que esté conectado a Internet es un objetivo potencial para ataques de fuerza bruta o acceso injustificado. Hay herramientas como fail2ba

Configurar un servidor TeamTalk en Linux

Configurar un servidor TeamTalk en Linux

TeamTalk es un sistema de conferencia que permite a los usuarios tener conversaciones de audio / video de alta calidad, chat de texto, transferir archivos y compartir pantallas. Es yo

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

Instalar Grafana en Ubuntu 16.04 LTS

Instalar Grafana en Ubuntu 16.04 LTS

¿Usando un sistema diferente? Introducción Grafana es un software de código abierto que transforma múltiples feeds de sistemas como Graphite, Telegraf, an

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

How To Install Apache, MySQL and PHP (FAMP) Stack on FreeBSD 12.0

How To Install Apache, MySQL and PHP (FAMP) Stack on FreeBSD 12.0

Introduction A FAMP stack, which is comparable to a LAMP stack on Linux, is a collection of open-source software that is typically installed together t

Instalación de Fuel CMS en Ubuntu 16.04 LTS

Instalación de Fuel CMS en Ubuntu 16.04 LTS

¿Usando un sistema diferente? Fuel CMS es un sistema de gestión de contenido basado en CodeIgniter. Su código fuente está alojado en GitHub. Esta guía le mostrará cómo t

Cómo instalar Couch CMS 2.0 en un VPS LAMP Debian 9

Cómo instalar Couch CMS 2.0 en un VPS LAMP Debian 9

¿Usando un sistema diferente? Couch CMS es un sistema de gestión de contenido (CMS) simple y flexible, gratuito y de código abierto que permite a los diseñadores web diseñar

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 implementar Ghost v0.11 LTS en Ubuntu 16.04

Cómo implementar Ghost v0.11 LTS en Ubuntu 16.04

¿Usando un sistema diferente? Ghost es una plataforma de blogs de código abierto que ha estado ganando popularidad entre los desarrolladores y usuarios comunes desde su 201

Cómo instalar Pip en Linux

Cómo instalar Pip en Linux

Pip es una herramienta para administrar paquetes de Python. El uso de un administrador de paquetes permite una gestión eficiente de su servidor. En este tutorial, explicaré cómo t

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 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 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

How to Install Alfresco Community Edition on Ubuntu 16.04

How to Install Alfresco Community Edition on Ubuntu 16.04

Using a Different System? Alfresco Community Edition is an open source version of the Alfresco Content Services. It is written in Java and uses PostgreSQL t

Instalación de Docker en Ubuntu 14.04

Instalación de Docker en Ubuntu 14.04

¿Usando un sistema diferente? Docker es una aplicación que permite implementar programas que se ejecutan como contenedores. Fue escrito en el popular programa Go

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

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.