Cómo instalar una pila ERPNext en Ubuntu 20.04

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_domain
en 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/tcp
y443/tcp
para HTTP y HTTPS respectivamente3306/tcp
para la conexión MariaDB (recomendado solo si necesita acceso remoto a la base de datos)143/tcp
y25/tcp
para IMAP y STMP respectivamente22/tcp
para SSH (si aún no lo ha habilitadoOpenSSH
en la configuración de UFW)8000/tcp
Para probar su plataforma antes de implementarla en producción
Para abrir varios puertos a la vez puedes utilizar el siguiente comando:
- 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:
- sudo ufw allow from server_IP to any port port_number
Después de abrir todos los puertos necesarios, habilite el firewall:
- sudo ufw enable
Ahora confirme el estado de su firewall:
- 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:
- sudo apt update
Ahora configure el mapa de teclas, el idioma y la codificación de caracteres:
- sudo localectl set-keymap us sudo localectl set-locale LANG=en_US.utf8
La localectl
utilidad 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/environment
archivo. Usa nano
o tu editor de texto preferido para abrir el archivo:
- 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:
- sudo reboot
Espere unos minutos a que el servidor se reinicie y luego use el comando ssh
para 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 apt
comando:
- 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:
- sudo apt install python3-mysqldb libmysqlclient-dev
ERPNext 12 es una aplicación Python y, por lo tanto, requiere la python3-mysqldb
biblioteca para la gestión de bases de datos. libmysqlclient-dev
es 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_installation
script:
- sudo mysql_secure_installation
El mysql_secure_installation
script 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
Y
a todas esas preguntas.
Después de completar el mysql_secure_installation
script, 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:
- 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á, sammy
pero puedes elegir un nombre diferente:
- CREATE DATABASE sammy;
Confirme que la base de datos se creó utilizando esta declaración SQL:
- SHOW DATABASES;
Verá un resultado similar a este:
Output+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sammy |+--------------------+
Ahora crea el usuario MariaDB sammy
con 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:
- 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:
- 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:
- FLUSH PRIVILEGES;
Una vez que termines, sal de la sesión:
- 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
:
- sudo systemctl stop mariadb
Ahora use nano
su editor de texto favorito para crear un archivo de configuración MariaDB llamado mariadb.cnf
:
- 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
:
- sudo systemctl start mariadb
Para probar la conexión puedes utilizar el siguiente comando. Recuerda reemplazar sammy
y mariadb_password
por tus credenciales:
- 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:
- sudo systemctl restart mariadb
Una vez que haya terminado, habilite MariaDB:
- 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:
- 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=noninteractive
variable 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:
- sudo -H python3 -m pip install --upgrade setuptools cryptography psutil
setuptools
Facilita la instalación y actualización de paquetes de Python, cryptography
agrega capacidades de cifrado a su pila y psutil
ayuda 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_install
script 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
. yarn
Tenga en cuenta que el marco Frappe usa yarn
dependencias para instalar. Si decide usar un método de instalación alternativo, asegúrese de terminar con la versión 1.12+ yarn
ejecutándose en su sistema.
Agregue el repositorio NodeSource a su sistema:
- curl -sL https://deb.nodesource.com/setup_12.x -o nodesource_setup.sh
Ahora puedes inspeccionar el contenido del script descargado:
- sudo nano nodesurce_setup.sh
Una vez que esté satisfecho con el contenido del script, puede ejecutarlo:
- sudo bash nodesource_setup.sh
Este script actualizará automáticamente la apt
lista. Ahora puedes instalarlo nodejs
en tu servidor:
- sudo apt install nodejs
A continuación, instale yarn
globalmente utilizando el npm
administrador de paquetes:
- sudo npm install -g yarn
Ahora que ha instalado Node, puede continuar con la configuración wkhtmltopdf
para su plataforma.
ERPNext utiliza la wkhtmltopdf
herramienta 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, wkhtmltopdf
se requiere una versión específica de ERPNext, 0.12.5
con Qt parcheado.
Para instalarlo wkhtmltopdf
, comience cambiando a un directorio adecuado para descargar el paquete, en este caso /tmp
:
- cd /tmp
Descargue la wkhtmltopdf
versión y el paquete adecuados para Ubuntu 20.04 desde la página del proyecto:
- 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 dpkg
herramienta:
- sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
A continuación, copie todos los ejecutables relevantes a su /usr/bin/
directorio:
- sudo cp /usr/local/bin/wkhtmlto* /usr/bin/
Una vez que los archivos estén en su lugar, cambie sus permisos para hacerlos ejecutables:
- sudo chmod a+x /usr/bin/wk*
Ahora que wkhtmltopdf
está 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:
- sudo apt install redis-server
Luego habilite Redis al iniciar:
- 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
wkhtmltopdf
generador 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 bench
la utilidad de línea de comandos de Frappe. La bench
CLI 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 bench
CLI 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 home
directorio:
- sudo chown sammy -R /home/sammy
Ahora clona el frappe/bench
repositorio en tu directorio personal. Recuerda reemplazarlo sammy
con el nombre de usuario de tu sistema:
- git clone https://github.com/frappe/bench /home/sammy/.bench --depth 1 --branch master
Instalar la bench
CLI:
- 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 master
rama. Pero si su intención es desarrollar aplicaciones o módulos ERPNext personalizados, entonces la develop
rama 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 bench
CLI.
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:
- echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
El tee
comando agregará el contenido de su echo
comando 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:
- 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 init
proceso podría detenerse si spawn ENOMEM
se 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-bench
es la ruta donde se instalarán Frappe Framework, los sitios web y las aplicaciones asociadas.frappe-bench
Se creará un nuevo directorio, llamado en este ejemplo, para alojar todos los archivos necesarios.--frappe-path
apunta al repositorio Frappe, que en este caso es el repositorio oficial de Github.--frappe-branch
es la versión de Frappe que se va a instalar. Como desea instalar ERPNext 12, la versión elegida es Frappe 12.--python
es 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 bench
los 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.
- cd /home/sammy/frappe-bench
Antes de continuar, deberá instalar versiones específicas de las bibliotecas de Python numpy
en pandas
el entorno virtual de Frappe. Instale estos paquetes con el siguiente comando:
- ./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 pandas
Ubuntu 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 bench
CLI:
- bench get-app erpnext https://github.com/frappe/erpnext --branch version-12
A continuación, crea el nuevo sitio, reemplazando your_domain
con el dominio que hayas asociado la IP de este servidor:
- 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-site
crea un nuevo sitio basado en Frappe Framework.your_domain
es 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_password
es la contraseña deseada para el usuario Administrador de ERPNext . Guarde esta contraseña en un lugar seguro, la necesitará en breve.mariadb_password
es la contraseña que creaste al principio de la guía para el usuario MariaDBsammy
.
A continuación, instale la aplicación ERPNext en el sitio:
- bench --site your_domain
Deja una respuesta