Cómo instalar una pila ERPNext en Ubuntu 20.04

Índice
  1. Introducción
  • Prerrequisitos
  • Paso 1: Configuración del firewall
  • Paso 2: configuración de configuraciones regionales
  • Paso 3: Instalación de MariaDB
    1. Creación de un usuario superadministrador de MariaDB
  • Paso 4: Configuración de MariaDB para ERPNext
    1. Probando la conexión a MariaDB
  • Paso 5: Configuración de ERPNext 12
    1. Configuración de Node.js y Yarn
    2. Instalación de Redis
  • Paso 6: Instalación de Frappe Bench CLI
    1. Configuración del entorno de Frappe Framework
  • Paso 7: Instalación de la aplicación web ERPNext 12
  • El autor seleccionó Software in the Public Interest para recibir una donación como parte del programa Write for DOnations.

    Introducción

    ERPNext es una suite de planificación de recursos empresariales (ERP) que aprovecha la potencia y la flexibilidad de las tecnologías de código abierto. Se destaca en la gestión de procesos empresariales básicos como finanzas, ventas, recursos humanos, fabricación, compras, servicios, necesidades de soporte técnico y más. Entre los beneficios de implementar un sistema como ERPNext se encuentran:

    • Mejor productividad mediante la automatización de procesos comerciales repetitivos
    • Se mejoró la eficiencia de TI al compartir una base de datos para todos los departamentos de la empresa
    • Mejor toma de decisiones gracias a una visión integral de cómo se relacionan las unidades de negocio entre sí

    ERPNext se basa en Frappe, un marco de aplicación web de pila completa escrito en Python que aprovecha al máximo el entorno de ejecución de Node/JavaScript y utiliza MariaDB como su base de datos de backend. Una de las muchas ventajas de las aplicaciones basadas en Frappe, como ERPNext, es la utilidad de línea de comandos bench. La CLI de bench ahorra tiempo a los administradores al automatizar tareas como la instalación, actualización, configuración y gestión de varios sitios Frappe/ERPNext.

    En este tutorial, instalará y configurará una pila ERPNext en un servidor que ejecuta Ubuntu 20.04. Esto le permitirá configurar su pila para varios entornos de desarrollo o producción según sus necesidades y lo preparará para crear una arquitectura más compleja y tolerante a fallas.

    Prerrequisitos

    • Un servidor Ubuntu 20.04 con al menos 4 GB de RAM y un usuario que no sea root sudo. Puedes configurar tu servidor y usuario siguiendo nuestra guía de configuración inicial de servidores Ubuntu 20.04.

    Nota: Al elegir las especificaciones de su servidor, tenga en cuenta que los sistemas ERP consumen muchos recursos. Esta guía recomienda un servidor con 4 GB de RAM, que es suficiente para casos de uso básicos, pero los requisitos de hardware específicos pueden variar según la cantidad de usuarios y el tamaño de su empresa.

    • Un nombre de dominio completamente registrado con un registro A que apunte a su servidor. Si está utilizando un Droplet de DigitalOcean, puede seguir esta guía para configurar correctamente su DNS. Este tutorial se utilizará your_domainen todo momento.

    Paso 1: Configuración del firewall

    Aunque configurar un firewall para el desarrollo es opcional, para producción es una práctica de seguridad obligatoria.

    Necesitará abrir los siguientes puertos en su servidor ERPNext:

    • 80/tcpy 443/tcppara HTTP y HTTPS respectivamente
    • 3306/tcppara la conexión MariaDB (recomendado solo si necesita acceso remoto a la base de datos)
    • 143/tcpy 25/tcppara IMAP y STMP respectivamente
    • 22/tcppara SSH (si aún no lo ha habilitado OpenSSHen la configuración de UFW)
    • 8000/tcpPara probar su plataforma antes de implementarla en producción

    Para abrir varios puertos a la vez puedes utilizar el siguiente comando:

    1. sudo ufw allow 22,25,143,80,443,3306,8000/tcp

    Alternativamente, puede permitir conexiones desde direcciones IP específicas en puertos específicos usando este comando:

    1. sudo ufw allow from server_IP to any port port_number

    Después de abrir todos los puertos necesarios, habilite el firewall:

    1. sudo ufw enable

    Ahora confirme el estado de su firewall:

    1. sudo ufw status

    UFW generará una lista de las reglas habilitadas. Asegúrese de que los puertos necesarios de ERPNext estén abiertos:

    OutputStatus: activeTo                         Action      From--                         ------      ----22,25,80,143,443,3306,8000/tcp  ALLOW       Anywhere22,25,80,143,443,3306,8000/tcp (v6) ALLOW       Anywhere (v6)

    Para obtener más información sobre la configuración de UFW, consulte nuestra guía sobre cómo configurar un firewall con UFW en Ubuntu 20.04.

    Configurar un firewall adecuado es el primero de dos pasos preliminares. Ahora configurará la asignación de teclado y la codificación de caracteres en su servidor.

    Paso 2: configuración de configuraciones regionales

    Se recomienda encarecidamente que configure la asignación de teclado para la consola, así como el idioma y la codificación de caracteres en su host. Esto es necesario para evitar posibles problemas durante el proceso de instalación de ERPNext 12. Tenga en cuenta que esta configuración no tiene nada que ver con el idioma de la interfaz de usuario en su plataforma ERPNext actual, sino con la configuración regional del sistema.

    Primero, actualice su servidor:

    1. sudo apt update

    Ahora configure el mapa de teclas, el idioma y la codificación de caracteres:

    1. sudo localectl set-keymap us sudo localectl set-locale LANG=en_US.utf8

    La localectlutilidad es utilizada por Ubuntu 20.04 y otras distribuciones de Linux para controlar y cambiar la configuración regional y la distribución del teclado en todo el sistema antes de que el usuario inicie sesión, que es exactamente lo que requiere ERPNext 12.

    También deberás agregar las siguientes líneas a tu /etc/environmentarchivo. Usa nanoo tu editor de texto preferido para abrir el archivo:

    1. sudo nano /etc/environment

    Ahora agregue el siguiente contenido:

    /etc/entorno

    LC_ALL=en_US.UTF-8LC_CTYPE=en_US.UTF-8LANG=en_US.UTF-8

    Guarde y cierre el archivo.

    Reinicie su servidor para aplicar todos los cambios:

    1. sudo reboot

    Espere unos minutos a que el servidor se reinicie y luego use el comando sshpara volver a ingresar a la instancia. Ahora está listo para instalar la base de datos.

    Paso 3: Instalación de MariaDB

    Ahora agregará MariaDB a su servidor. ERPNext 12 requiere MariaDB 10.2+ para su correcto funcionamiento. Debido a que Ubuntu 20.04 incluye MariaDB 10.3 en sus repositorios oficiales, puede instalar esta versión usando el aptcomando:

    1. sudo apt install mariadb-server

    Como alternativa, si prefiere una versión más reciente de MariaDB, puede seguir el paso 3 de nuestra guía sobre cómo instalar una pila ERPNext en Ubuntu 18.04. Esto lo guiará a través del asistente de repositorio en línea de MariaDB, que lo ayudará a instalar la versión más reciente: MariaDB 10.5.

    Después de instalar mariadb-server, instale los siguientes paquetes:

    1. sudo apt install python3-mysqldb libmysqlclient-dev

    ERPNext 12 es una aplicación Python y, por lo tanto, requiere la python3-mysqldbbiblioteca para la gestión de bases de datos. libmysqlclient-deves necesario para acceder a ciertas funciones para desarrolladores de MariaDB.

    A continuación, agregue una capa adicional de seguridad al servidor MariaDB ejecutando el mysql_secure_installationscript:

    1. sudo mysql_secure_installation

    El mysql_secure_installationscript le planteará varias preguntas:

    • El primer mensaje le preguntará por la contraseña de root , pero como aún no hay ninguna contraseña configurada, presione ENTER.
    • A continuación, cuando se le pregunte si desea cambiar la contraseña raíz de MariaDB , responda N. El uso de la contraseña predeterminada junto con la autenticación Unix es la configuración recomendada para los sistemas basados ​​en Ubuntu porque la cuenta raíz está estrechamente relacionada con las tareas de mantenimiento del sistema automatizado.
    • Las preguntas restantes tienen que ver con la eliminación del usuario anónimo de la base de datos, la restricción de la cuenta raíz para iniciar sesión de forma remota en el host local, la eliminación de la base de datos de prueba y la recarga de las tablas de privilegios. Es seguro responder Ya todas esas preguntas.

    Después de completar el mysql_secure_installationscript, MariaDB comenzará a ejecutarse utilizando su configuración predeterminada. La instalación estándar de ERPNext utiliza el usuario root de MariaDB para todas las operaciones de la base de datos. Si bien ese enfoque puede ser conveniente en configuraciones de un solo servidor, no se considera una buena práctica de seguridad. Por lo tanto, en la siguiente sección aprenderá cómo evitar este problema creando un nuevo usuario con privilegios especiales.

    Creación de un usuario superadministrador de MariaDB

    ERPNext espera utilizar el usuario root de MariaDB para administrar las conexiones de la base de datos, pero esto no siempre es ideal. Para superar esta limitación y permitir que un usuario no root administre MariaDB, ahora creará manualmente una base de datos con el nombre del usuario. Luego podrá asignar privilegios especiales al nuevo usuario para que dirija las operaciones de la base de datos de ERPNext.

    Abra el indicador de MariaDB:

    1. sudo mysql

    Ahora crea una nueva base de datos con el nombre del usuario que deseas asignar a las conexiones de MariaDB. Este tutorial lo usará, sammypero puedes elegir un nombre diferente:

    1. CREATE DATABASE sammy;

    Confirme que la base de datos se creó utilizando esta declaración SQL:

    1. SHOW DATABASES;

    Verá un resultado similar a este:

    Output+--------------------+| Database           |+--------------------+| information_schema || mysql              || performance_schema || sammy              |+--------------------+

    Ahora crea el usuario MariaDB sammycon privilegios similares a los de root y luego dale una contraseña segura de tu elección. Guarda la contraseña en un lugar seguro; la necesitarás más adelante:

    1. GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'%' IDENTIFIED BY 'mariadb_password' WITH GRANT OPTION;

    Ahora confirme tanto la creación del usuario como los privilegios del nuevo usuario:

    1. SELECT host, user, Super_priv FROM mysql.user;

    Verás un resultado como este:

    Output+-----------+-------+------------+| Host      | User  | Super_priv |+-----------+-------+------------+| localhost | root  | Y          || localhost | mysql | Y          || %         | sammy| Y         |+-----------+-------+------------+3 rows in set (0.001 sec)

    Ahora vacíe los privilegios para aplicar todos los cambios:

    1. FLUSH PRIVILEGES;

    Una vez que termines, sal de la sesión:

    1. exit

    Ahora que ha creado un usuario de base de datos, solo necesita ajustar MariaDB para garantizar el correcto funcionamiento de ERPNext 12. Afortunadamente, el equipo de ERPNext proporciona una excelente plantilla de configuración que utilizará como punto de partida para su implementación. En la siguiente sección, aprenderá a configurar correctamente la base de datos MariaDB utilizando esa plantilla.

    Paso 4: Configuración de MariaDB para ERPNext

    Con MariaDB instalado y protegido, es hora de ajustarlo para las conexiones ERPNext.

    Primero, detente mariadb.service:

    1. sudo systemctl stop mariadb

    Ahora use nanosu editor de texto favorito para crear un archivo de configuración MariaDB llamado mariadb.cnf:

    1. sudo nano /etc/mysql/mariadb.conf.d/mariadb.cnf

    Ahora agregue la plantilla de configuración oficial de ERPNext:

    /etc/mysql/mariadb.conf.d/mariadb.cnf

    [mysqld]# GENERAL #user                           = mysqldefault-storage-engine         = InnoDBsocket                         = /var/lib/mysql/mysql.sockpid-file                       = /var/lib/mysql/mysql.pid# MyISAM #key-buffer-size                = 32Mmyisam-recover                 = FORCE,BACKUP# SAFETY #max-allowed-packet             = 256Mmax-connect-errors             = 1000000innodb                         = FORCE# DATA STORAGE #datadir                        = /var/lib/mysql/# BINARY LOGGING #log-bin                        = /var/lib/mysql/mysql-binexpire-logs-days               = 14sync-binlog                    = 1# REPLICATION #server-id                      = 1# CACHES AND LIMITS #tmp-table-size                 = 32Mmax-heap-table-size            = 32Mquery-cache-type               = 0query-cache-size               = 0max-connections                = 500thread-cache-size              = 50open-files-limit               = 65535table-definition-cache         = 4096table-open-cache               = 10240# INNODB #innodb-flush-method            = O_DIRECTinnodb-log-files-in-group      = 2innodb-log-file-size           = 512Minnodb-flush-log-at-trx-commit = 1innodb-file-per-table          = 1innodb-buffer-pool-size        = 5462Minnodb-file-format             = barracudainnodb-large-prefix            = 1collation-server               = utf8mb4_unicode_cicharacter-set-server           = utf8mb4character-set-client-handshake = FALSEmax_allowed_packet             = 256M# LOGGING #log-error                      = /var/lib/mysql/mysql-error.loglog-queries-not-using-indexes  = 0slow-query-log                 = 1slow-query-log-file            = /var/lib/mysql/mysql-slow.log# CONNECTIONS #pid-file        = /var/run/mysqld/mysqld.pidsocket          = /var/run/mysqld/mysqld.sockbind-address    = 0.0.0.0[mysql]default-character-set = utf8mb4[mysqldump]max_allowed_packet=256M

    Guarde y cierre el archivo. Para obtener información más detallada sobre estas configuraciones, revise este archivo de plantilla en el repositorio de Github de ERPNext. Este es un punto de partida útil para explorar estas opciones.

    El archivo de configuración, /etc/mysql/mariadb.conf.d/mariadb.cnf, complementa y también reemplaza algunos valores incluidos en la configuración predeterminada de MariaDB ubicada en /etc/mysql/my.cnf. Este archivo le proporciona una plantilla seleccionada que mejora en gran medida el rendimiento de la base de datos para ERPNext. Sin embargo, tenga en cuenta que, si bien esta plantilla es un excelente punto de partida, nada le impide mejorar aún más el rendimiento de MariaDB ajustando estos parámetros para que se ajusten a sus necesidades.

    Probando la conexión a MariaDB

    Dado que ERPNext depende de la conexión a la base de datos para casi todas sus operaciones internas, es una buena idea probar la conexión antes de continuar.

    Comenzar mariadb.service:

    1. sudo systemctl start mariadb

    Para probar la conexión puedes utilizar el siguiente comando. Recuerda reemplazar sammyy mariadb_passwordpor tus credenciales:

    1. mysql --user sammy --password mariadb_password --host=localhost --protocol=tcp --port=3306 test

    Verá un resultado que muestra el contenido de ayuda básico de MariaDB y varios parámetros. Esto significa que la conexión se realizó correctamente:

    Outputmysql  Ver 15.1 Distrib 10.4.13-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Usage: mysql [OPTIONS] [database]Default options are read from the following files in the given order:/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf...  --ssl-verify-server-cert                      Verify server's "Common Name" in its cert against                      hostname used when connecting. This option is disabled by                      default.  -t, --table         Output in table format.  --tee=name          Append everything into outfile. See interactive help (h)                      also. Does not work in batch mode. Disable with                      --disable-tee. This option is disabled by default.  -u, --user=name     User for login if not current user.  -U, --safe-updates  Only allow UPDATE and DELETE that uses keys.  -U, --i-am-a-dummy  Synonym for option --safe-updates, -U.  -v, --verbose       Write more. (-v -v -v gives the table output format)....max-join-size                     1000000secure-auth                       FALSEshow-warnings                     FALSEplugin-dir                        (No default value)default-auth                      (No default value)binary-mode                       FALSEconnect-expired-password          FALSE

    Si necesita realizar algún ajuste en la configuración de MariaDB o corregir algún error, recuerde volver a cargar el servicio utilizando el siguiente comando:

    1. sudo systemctl restart mariadb

    Una vez que haya terminado, habilite MariaDB:

    1. sudo systemctl enable mariadb

    Ahora que ha probado la conexión a la base de datos, puede continuar con la instalación de su aplicación ERPNext.

    Paso 5: Configuración de ERPNext 12

    Ahora que el backend de su base de datos está listo, puede continuar configurando su aplicación web ERPNext. En esta sección, aprenderá a instalar y configurar todos los componentes requeridos por ERPNext 12 y luego instalar la aplicación en sí.

    Comience preparando el servidor con todos los paquetes de sistema requeridos por ERPNext 12. Instale las dependencias de todo el sistema utilizando el siguiente comando:

    1. sudo DEBIAN_FRONTEND=noninteractive apt install -y curl build-essential python3-testresources python3-setuptools python3-dev libffi-dev python3-pip libcurl4 dnsmasq fontconfig git htop libcrypto++-dev libfreetype6-dev liblcms2-dev libwebp-dev libxext6 libxrender1 libxslt1-dev libxslt1.1 libffi-dev ntpdate postfix python3-dev python-tk screen vim xfonts-75dpi xfonts-base zlib1g-dev apt-transport-https libsasl2-dev libldap2-dev libcups2-dev pv libjpeg8-dev libtiff5-dev tcl8.6-dev tk8.6-dev libdate-manip-perl logwatch

    La DEBIAN_FRONTEND=noninteractivevariable se ha pasado al comando de instalación para evitar mensajes de Postfix. Para obtener información detallada sobre la configuración de Postfix, lea nuestra guía sobre Cómo instalar y configurar Postfix en Ubuntu 20.04

    A continuación, actualice pip3, que es el administrador de paquetes estándar de Python, y luego instale las últimas versiones de tres módulos Python adicionales:

    1. sudo -H python3 -m pip install --upgrade setuptools cryptography psutil

    setuptoolsFacilita la instalación y actualización de paquetes de Python, cryptographyagrega capacidades de cifrado a su pila y psutilayuda con el monitoreo del sistema. Ahora que ha instalado todas las dependencias globales necesarias, instalará todos los servicios y bibliotecas requeridos por ERPNext 12.

    Configuración de Node.js y Yarn

    ERPNext 12 puede funcionar con la versión 8+ del entorno de servidor Node.js. De hecho, al momento de escribir este artículo, el easy_installscript oficial de ERPNext usa Node 8. Pero desde una perspectiva de seguridad, es recomendable instalar una versión más nueva porque Node 8 alcanzó su fin de vida útil (EOL) en 2020 y, por lo tanto, no recibirá más parches de seguridad. Al momento de escribir este artículo, Ubuntu 20.04 contiene la versión 10.19 de Node.js. Aunque esta versión aún se mantiene, por razones similares (EOL en menos de un año) es muy recomendable evitar su uso. Para esta guía, se instalará la versión 12 LTS de Node.js junto con los administradores de paquetes correspondientes npm. yarnTenga en cuenta que el marco Frappe usa yarndependencias para instalar. Si decide usar un método de instalación alternativo, asegúrese de terminar con la versión 1.12+ yarnejecutándose en su sistema.

    Agregue el repositorio NodeSource a su sistema:

    1. curl -sL https://deb.nodesource.com/setup_12.x -o nodesource_setup.sh

    Ahora puedes inspeccionar el contenido del script descargado:

    1. sudo nano nodesurce_setup.sh

    Una vez que esté satisfecho con el contenido del script, puede ejecutarlo:

    1. sudo bash nodesource_setup.sh

    Este script actualizará automáticamente la aptlista. Ahora puedes instalarlo nodejsen tu servidor:

    1. sudo apt install nodejs

    A continuación, instale yarnglobalmente utilizando el npmadministrador de paquetes:

    1. sudo npm install -g yarn

    Ahora que ha instalado Node, puede continuar con la configuración wkhtmltopdfpara su plataforma.

    ERPNext utiliza la wkhtmltopdfherramienta de código abierto para convertir contenido HTML en PDF mediante el motor de renderizado Qt WebKit. Esta función se utiliza principalmente para imprimir facturas, cotizaciones y otros informes. En el caso de ERPNext 12, wkhtmltopdfse requiere una versión específica de ERPNext, 0.12.5con Qt parcheado.

    Para instalarlo wkhtmltopdf, comience cambiando a un directorio adecuado para descargar el paquete, en este caso /tmp:

    1. cd /tmp

    Descargue la wkhtmltopdfversión y el paquete adecuados para Ubuntu 20.04 desde la página del proyecto:

    1. wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb

    Ahora instale el paquete usando la dpkgherramienta:

    1. sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb

    A continuación, copie todos los ejecutables relevantes a su /usr/bin/directorio:

    1. sudo cp /usr/local/bin/wkhtmlto* /usr/bin/

    Una vez que los archivos estén en su lugar, cambie sus permisos para hacerlos ejecutables:

    1. sudo chmod a+x /usr/bin/wk*

    Ahora que wkhtmltopdfestá instalado correctamente, agregaremos Redis a nuestra pila de bases de datos.

    Instalación de Redis

    ERPNext 12 utiliza Redis para mejorar el rendimiento de MariaDB. En concreto, Redis ayuda con el almacenamiento en caché.

    Primero, instale Redis desde el repositorio oficial de Ubuntu 20.04:

    1. sudo apt install redis-server

    Luego habilite Redis al iniciar:

    1. sudo systemctl enable redis-server

    Ahora que ha agregado Redis a su conjunto, tomemos un momento para resumir lo que ha logrado hasta ahora. Hasta este punto, ha instalado todos los componentes principales que requiere ERPNext 12, que incluyen:

    • Un backend de base de datos MariaDB
    • El entorno del servidor JavaScript de Node.js
    • El administrador de paquetes Yarn
    • Un caché de base de datos Redis
    • El wkhtmltopdfgenerador de documentos PDF

    Ya sea que esté instalando el sistema ERP para desarrollo o para producción, ahora está listo para el siguiente paso, que es instalar el marco completo Frappe y la aplicación web ERPNext 12 real.

    Paso 6: Instalación de Frappe Bench CLI

    Ahora que ha instalado todos los requisitos de la pila de ERPNext, puede aprovechar la flexibilidad de benchla utilidad de línea de comandos de Frappe. La benchCLI se diseñó con el propósito de ayudar a los usuarios en el proceso de instalación, configuración y administración de aplicaciones como ERPNext que se basan en Frappe Framework. En las siguientes secciones, instalará la benchCLI y luego la usará para completar el proceso de configuración de ERPNext 12.

    Asegúrese de que el usuario Frappe (en este caso sammy) tenga los derechos adecuados en su homedirectorio:

    1. sudo chown sammy -R /home/sammy

    Ahora clona el frappe/benchrepositorio en tu directorio personal. Recuerda reemplazarlo sammycon el nombre de usuario de tu sistema:

    1. git clone https://github.com/frappe/bench /home/sammy/.bench --depth 1 --branch master

    Instalar la benchCLI:

    1. sudo pip3 install -e /home/sammy/.bench

    Esta guía asume que está instalando ERPNext 12 para escenarios de prueba/producción y, por lo tanto, que está utilizando la masterrama. Pero si su intención es desarrollar aplicaciones o módulos ERPNext personalizados, entonces la developrama puede ser una mejor opción. En cualquier caso, ahora está preparado para instalar Frappe Framework. Este será el paso final antes de instalar ERPNext.

    Configuración del entorno de Frappe Framework

    En esta sección, creará un entorno Frappe utilizando la benchCLI.

    Durante la instalación de Frappe, es posible que supere el límite de vigilancia de archivos de Ubuntu, que por defecto está establecido en 8192. Para evitar este problema, establezca un límite más alto utilizando el siguiente comando:

    1. echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf sudo sysctl -p

    El teecomando agregará el contenido de su echocomando al archivo llamado y también imprimirá la salida en su consola.

    A continuación, inicialice Frappe Framework 12. Reemplace Sammy con el nombre de usuario de su sistema:

    1. bench init /home/sammy/frappe-bench --frappe-path https://github.com/frappe/frappe --frappe-branch version-12 --python python3

    Durante la ejecución, es posible que vea un error sobre su ruta, junto con varias advertencias. Deje que el proceso continúe hasta el final. Una vez que haya terminado, verá un resultado similar al siguiente, que indica que su entorno se creó correctamente:

    Output...Done in 82.23s.INFO:bench.utils:setting up backupsno crontab for sammySUCCESS: Bench /home/sammy/frappe-bench initialized

    Nota: El bench initproceso podría detenerse si spawn ENOMEMse detecta un error. Este error se produce cuando el sistema se queda sin memoria. Debe solucionar el problema antes de continuar, ya sea instalando más memoria física o asignando espacio SWAP.

    Veamos con más detalle el comando utilizado para crear el entorno:

    • /home/sammy/frappe-benches la ruta donde se instalarán Frappe Framework, los sitios web y las aplicaciones asociadas. frappe-benchSe creará un nuevo directorio, llamado en este ejemplo, para alojar todos los archivos necesarios.
    • --frappe-pathapunta al repositorio Frappe, que en este caso es el repositorio oficial de Github.
    • --frappe-branches la versión de Frappe que se va a instalar. Como desea instalar ERPNext 12, la versión elegida es Frappe 12.
    • --pythones la versión de Python que se utilizará. ERPNext 12 requiere Python 3.6+. Sin embargo, las versiones anteriores aún utilizan Python 2.7.

    Para obtener más información sobre benchlos comandos CLI, consulte la hoja de referencia de comandos de Bench.

    La flexibilidad que ofrece el framework Frappe va mucho más allá de utilizar entornos aislados. También permite crear diferentes sitios web e instalar aplicaciones en ellos.

    Paso 7: Instalación de la aplicación web ERPNext 12

    En esta sección, configurará un sitio basado en Frappe y luego instalará la aplicación ERPNext 12 en él.

    Cambie al directorio donde se inicializó Frappe.

    1. cd /home/sammy/frappe-bench

    Antes de continuar, deberá instalar versiones específicas de las bibliotecas de Python numpyen pandasel entorno virtual de Frappe. Instale estos paquetes con el siguiente comando:

    1. ./env/bin/pip install numpy==1.18.5 ./env/bin/pip install pandas==0.24.2

    En este punto, la instalación podría detenerse durante unos 10 a 20 minutos mientras se muestra este mensaje:

    Output...Building wheel for pandas (setup.py) ... -

    Esto tiene que ver con un error relacionado con pandasUbuntu 20.04, que, al momento de escribir esto, todavía es bastante nuevo. No obstante, los paquetes se compilarán y, una vez que se completen, verá un resultado como este:

    Output...Successfully built pandasInstalling collected packages: pandasSuccessfully installed pandas-0.24.2

    Ahora puede continuar con la instalación. Descargue ERPNext 12 desde su repositorio mediante la benchCLI:

    1. bench get-app erpnext https://github.com/frappe/erpnext --branch version-12

    A continuación, crea el nuevo sitio, reemplazando your_domaincon el dominio que hayas asociado la IP de este servidor:

    1. bench new-site your_domain --admin-password 'erpnext_admin_password' --mariadb-root-username sammy --mariadb-root-password 'mariadb_password'

    Tomemos un momento para revisar las opciones utilizadas en el comando anterior:

    • bench new-sitecrea un nuevo sitio basado en Frappe Framework.
    • your_domaines el nombre del nuevo sitio. Asegúrate de que el DNS de tu dominio tenga un registro A que apunte a la IP de tu servidor.
    • erpnext_admin_passwordes la contraseña deseada para el usuario Administrador de ERPNext . Guarde esta contraseña en un lugar seguro, la necesitará en breve.
    • mariadb_passwordes la contraseña que creaste al principio de la guía para el usuario MariaDB sammy.

    A continuación, instale la aplicación ERPNext en el sitio:

    1. bench --site your_domain
      SUSCRÍBETE A NUESTRO BOLETÍN 
      No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir

    Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion