One place for hosting & domains

      ERPNext

      Cómo instalar una pila ERPNext en Ubuntu 18.04


      El autor seleccionó a Software in the Public Interest para recibir una donación como parte del programa Write for DOnations.

      Introducción

      ERPNext es un conjunto de programas de Planeació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 los principales procesos empresariales, como finanzas, ventas, recursos humanos, fabricación, compras, servicios, necesidades de soporte técnico y más. Estos son algunos de los beneficios de implementar un sistema como ERPNext:

      • Mejor productividad mediante la automatización de procesos comerciales repetitivos
      • Mejora de la eficacia de TI al permitir que todos los departamentos de la empresa compartan una misma base de datos
      • Mejora la toma de decisiones al proporcionar una visión integral de cómo se relacionan las unidades de negocio entre sí

      ERPNext está basado en Frappe, un marco de aplicaciones 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 backend de base de datos. Una de las muchas ventajas de las aplicaciones basadas en Frappe, como ERPNext, es la utilidad de línea de comandos bench. La CLI bench les ahorra tiempo a los administradores mediante la automatización de tareas como la instalación, la actualización, la configuración y la administración de varios sitios de Frappe/ERPNext.

      En este tutorial, instalará y configurará una pila ERPNext en un servidor con Ubuntu 18.04. Esto le permitirá configurar su pila para diversos entornos de desarrollo o producción de acuerdo con sus necesidades y lo preparará para crear una arquitectura más compleja y tolerante a errores.

      Requisitos previos

      Nota: Al seleccionar las especificaciones de su servidor, tenga en cuenta que los sistemas ERP realizan un uso intensivo de recursos. Esta guía indica que se requiere un servidor con 4 GB de RAM, que es suficiente para casos de uso básico, pero los requisitos de hardware específicos pueden variar dependiendo de la cantidad de usuarios y el tamaño de su empresa.

      • Un nombre de dominio registrado por completo con un registro A apuntado a su servidor. Si utiliza un Droplet de DigitalOcean, puede seguir esta guía para configurar correctamente su DNS. Para este tutorial, se utilizará your_domain en todo momento.

      Paso 1: Configurar el firewall

      Si bien la configuración del firewall para entornos de desarrollo es opcional, es una práctica de seguridad obligatoria para los entornos de producción.

      Deberá abrir los siguientes puertos en su servidor ERPNext:

      • 80/tcp y 443/tcp para HTTP y HTTPS respectivamente
      • 3306/tcp para la conexión con MariaDB (se recomienda solo si necesita acceso remoto a la base de datos)
      • 143/tcp y 25/tcp para IMAP y STMP respectivamente
      • 22/tcp para SSH (si aún no ha habilitado OpenSSH)
      • 8000/tcp para probar el desarrollo antes de implementar su sitio

      Para abrir varios puertos a la vez, puede usar el siguiente comando:

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

      De forma alternativa, puede permitir conexiones de direcciones IP específicas en puertos determinados utilizando este comando:

      • sudo ufw allow from server_IP to any port port_number

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

      Después de habilitar el firewall, confirme el estado de sus puertos abiertos:

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

      La configuración de 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: Establecer las configuraciones regionales

      Es sumamente recomendable configurar la asignación de teclado para la consola, así como el idioma y la codificación de caracteres de su host. Esto es necesario para evitar posibles problemas durante el proceso de instalación de ERPNext 12. Tenga en cuenta que estos ajustes afectan únicamente la configuración regional del sistema y no están relacionados con el idioma de la IU de su plataforma de ERPNext.

      Primero, actualice su servidor:

      Ahora, configure la asignación de teclado, el idioma y la codificación de caracteres:

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

      Ubuntu 18.04 y otras distribuciones Linux usan la utilidad localectl para controlar y modificar los ajustes de configuración regional y distribución del teclado de todo el sistema antes de que el usuario inicie sesión, que es exactamente lo que requiere ERPNext 12.

      También deberá agregar las siguientes líneas a su archivo /etc/environment. Utilice nano o su editor de texto preferido para abrir el archivo:

      • sudo nano /etc/environment

      Ahora, agregue el siguiente contenido:

      /etc/environment

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

      Guarde y cierre el archivo.

      Reinicie su servidor para aplicar todos los cambios:

      Dé a su servidor unos minutos para reiniciarse y, luego, volver a ssh. Ya está listo para instalar su base de datos.

      Paso 3: Instalar MariaDB 10.4

      Ahora, añadirá MariaDB a su pila de servidores. ERPNext 12 requiere MariaDB 10.2+, pero la versión incluida en el repositorio oficial de Ubuntu 18.04 es 10.1, lo que significa que deberá instalar una versión superior. A los efectos de esta guía, utilizará la versión estable más reciente de MariaDB, que, en el momento de escribir este artículo, es la versión 10.4.

      Para instalar MariaDB 10.4 en Ubuntu 18.04, deberá agregar la clave de firma y el repositorio apropiados. Puede encontrar esta información en el asistente del repositorio de MariaDB Foundation. Vaya a esta URL en su navegador web. Ahora, debajo de 1. Elija un Distro, haga clic en Ubuntu. Aparecerá una segunda columna titulada 2. Seleccione una versión. Debajo de este título, haga clic en 18.04 LTS “bionic”. A continuación, aparecerá una tercera columna titulada 3.Elija una versión. Debajo, haga clic en 10.4 stable. A continuación, aparecerá una tercera columna titulada 4.Elija un espejo. Elija un espejo basado en su ubicación y, luego, MariaDB mostrará los comandos apropiados para su instalación personalizada.

      Asistente del repositorio de MariaDB

      Ejecute los tres comandos rellenados, que agregarán correctamente el repositorio MariaDB y la clave. Sus comandos tendrán un aspecto similar a estos:

      • sudo apt-get install software-properties-common && sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc' && sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.klaus-uwe.me/mariadb/repo/10.4/ubuntu bionic main'

      Una vez que haya terminado de agregar el repositorio, instale MariaDB:

      • sudo apt install mariadb-server

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

      • sudo apt install libmysqlclient-dev python3-mysqldb

      ERPNext 12 es una aplicación Python y, por lo tanto, requiere la biblioteca python3-mysqldb para la gestión de la base de datos. En relación con libmysqlclient-dev, mariadb-client y libmariadbclient18: esos paquetes permiten a los usuarios comunicarse con el servicio MariaDB. ntpdate y libdate-manip-perl se utilizan para la sincronización de tiempo del servidor.

      A continuación, añada una capa de seguridad básica al servidor de MariaDB ejecutando la secuencia de comandos mysql_secure_installation:

      • sudo mysql_secure_installation

      La secuencia de comandos mysql_secure_installation le hará varias preguntas:

      • Primero, le solicitará la contraseña root, pero como todavía no hay ninguna contraseña configurada, presione ENTER.
      • A continuación, deberá decidir si usa la autenticación Unix o no. Conteste Y para aceptar este método de autenticación.
      • A continuación, cuando se le pregunte si desea cambiar la contraseña root de MariaDB, responda N. Se recomienda usar la contraseña predeterminada junto con la autenticación de Unix en los sistemas basados en Ubuntu, dado que la cuenta root está estrechamente relacionada con tareas automatizadas de mantenimiento del sistema.
      • Las preguntas restantes están relacionadas con la eliminación de usuarios anónimos de la base de datos, la restricción de inicio de sesión remoto de la cuenta root en el host local, la eliminación de la base de datos de prueba y la recarga de las tablas de privilegios. Puede responder Y a todas estas preguntas.

      Después de completar la secuencia de comandos mysql_secure_installation, MariaDB comenzará a ejecutarse utilizando su configuración predeterminada. En la instalación estándar de ERPNext, se utiliza el usuario root de MariaDB para todas las operaciones de la base de datos. Si bien este enfoque puede ser conveniente en las configuraciones de servidores individuales, no se considera una buena práctica de seguridad. Por tanto, en la siguiente sección, aprenderá a evitar este problema al crear un nuevo usuario con privilegios especiales.

      Crear un usuario superadministrador de MariaDB

      ERPNext espera utilizar el usuario root de MariaDB para administrar las conexiones con la base de datos, pero esto no siempre es ideal. Para solucionar esta limitación y permitir que un usuario no root administre MariaDB, tendrá que crear una base de datos con el nombre del usuario de forma manual. Luego, podrá asignarle privilegios especiales al usuario nuevo para que pueda realizar operaciones en la base de datos de ERPNext.

      Abra la línea de comandos de MariaDB:

      Ahora, cree una nueva base de datos nueva con el nombre del usuario al que desea asignar las conexiones de MariaDB. Este tutorial utilizará sammy, pero puede elegir su propio nombre:

      Confirme que la base de datos se haya creado utilizando esta instrucción SQL:

      Verá un resultado similar a este:

      Output

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

      Ahora, cree el usuario de MariaDB, sammy, con privilegios similares como root y asígnele al usuario la contraseña segura que desee. Conserve la contraseña en un lugar seguro; la necesitará 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 usuario nuevo:

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

      Verá un resultado similar a este:

      Output

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

      A continuación, utilice flush privileges para aplicar todos los cambios:

      Cuando termine, salga de la sesión:

      Ahora que ha creado un usuario de la base de datos, solo deberá ajustar MariaDB para garantizar el funcionamiento correcto 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 de MariaDB utilizando esa plantilla.

      Paso 4: Configurar MariaDB para ERPNext

      Ahora que instaló y aseguró MariaDB, es momento de configurarlo para las conexiones con ERPNext.

      Primero, detenga mariadb.service:

      • sudo systemctl stop mariadb

      Ahora, utilice nano o el editor de texto que prefiera para crear un archivo de configuración de MariaDB, denominado settings.cnf:

      • sudo nano /etc/mysql/conf.d/settings.cnf

      Ahora, añada la plantilla de configuración de ERPNext:

      /etc/mysql/conf.d/settings.cnf

      [mysqld]
      
      # GENERAL #
      user                           = mysql
      default-storage-engine         = InnoDB
      socket                         = /var/lib/mysql/mysql.sock
      pid-file                       = /var/lib/mysql/mysql.pid
      
      # MyISAM #
      key-buffer-size                = 32M
      myisam-recover                 = FORCE,BACKUP
      
      # SAFETY #
      max-allowed-packet             = 256M
      max-connect-errors             = 1000000
      innodb                         = FORCE
      
      # DATA STORAGE #
      datadir                        = /var/lib/mysql/
      
      # BINARY LOGGING #
      log-bin                        = /var/lib/mysql/mysql-bin
      expire-logs-days               = 14
      sync-binlog                    = 1
      
      # REPLICATION #
      server-id                      = 1
      
      # CACHES AND LIMITS #
      tmp-table-size                 = 32M
      max-heap-table-size            = 32M
      query-cache-type               = 0
      query-cache-size               = 0
      max-connections                = 500
      thread-cache-size              = 50
      open-files-limit               = 65535
      table-definition-cache         = 4096
      table-open-cache               = 10240
      
      # INNODB #
      innodb-flush-method            = O_DIRECT
      innodb-log-files-in-group      = 2
      innodb-log-file-size           = 512M
      innodb-flush-log-at-trx-commit = 1
      innodb-file-per-table          = 1
      innodb-buffer-pool-size        = 5462M
      innodb-file-format             = barracuda
      innodb-large-prefix            = 1
      collation-server               = utf8mb4_unicode_ci
      character-set-server           = utf8mb4
      character-set-client-handshake = FALSE
      max_allowed_packet             = 256M
      
      # LOGGING #
      log-error                      = /var/lib/mysql/mysql-error.log
      log-queries-not-using-indexes  = 0
      slow-query-log                 = 1
      slow-query-log-file            = /var/lib/mysql/mysql-slow.log
      
      [mysql]
      default-character-set = utf8mb4
      
      [mysqldump]
      max_allowed_packet=256M
      
      !includedir /etc/mysql/mariadb.conf.d/
      

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

      A continuación, cree otro archivo llamado erpnext.cnf:

      • sudo nano /etc/mysql/mariadb.conf.d/erpnext.cnf

      Añada el siguiente contenido al archivo:

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

      [mysqld]
      pid-file        = /var/run/mysqld/mysqld.pid
      socket          = /var/run/mysqld/mysqld.sock
      bind-address    = 0.0.0.0
      

      El primer archivo de configuración, /etc/mysql/conf.d/settings.cnf, complementa y también anula algunos de los valores incluidos en la configuración predeterminada de MariaDB, ubicada en /etc/mysql/my.cnf. Este archivo le proporciona una plantilla específica que mejora en gran medida el rendimiento de la base de datos de ERPNext. Sin embargo, tenga en cuenta que, si bien esta plantilla es un excelente punto de partida, puede mejorar aún más el rendimiento de MariaDB al ajustar estos parámetros para adaptarlos a sus necesidades.

      El segundo archivo, /etc/mysql/mariadb.conf.d/erpnext.cnf, también anula algunos valores al introducir información específica sobre su conexión con la base de datos.

      Prueba de la conexión con MariaDB

      Como ERPNext utiliza la conexión con la base de datos para casi todas sus operaciones internas, es conveniente probar la conexión antes de continuar.

      Inicie mariadb.service:

      • sudo systemctl start mariadb

      Para probar la conexión, puede usar el siguiente comando. Recuerde sustituir sammy y mariadb_password por sus 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 su conexión se estableció correctamente:

      Output

      mysql Ver 15.1 Distrib 10.4.13-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 Copyright (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 1000000 secure-auth FALSE show-warnings FALSE plugin-dir (No default value) default-auth (No default value) binary-mode FALSE connect-expired-password FALSE

      Si necesita modificar los ajustes de MariaDB o corregir errores, recuerde volver a cargar el servicio utilizando el siguiente comando:

      • sudo systemctl restart mariadb

      Cuando haya terminado, habilite MariaDB:

      • sudo systemctl enable mariadb

      Ahora que probó la conexión con la base de datos, puede proceder con la instalación de su aplicación ERPNext.

      Paso 5: Configurar ERPNext 12

      Ahora que el backend de su base de datos está listo, puede seguir configurando su aplicación web ERPNext. En esta sección, aprenderá a instalar y configurar todos los componentes que requiere ERPNext 12 e instalará la aplicación.

      Comience por preparar el servidor con todos los paquetes del sistema que requiere ERPNext 12. Instale las dependencias de todo el sistema utilizando el siguiente comando:

      • sudo DEBIAN_FRONTEND=noninteractive apt install -y curl build-essential mariadb-client 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 libssl1.0-dev python3-mysqldb libdate-manip-perl logwatch

      La variable DEBIAN_FRONTEND=noninteractive se ha trasladado al comando de instalación para evitar los mensajes de Postfix. Para obtener información detallada sobre la configuración de Postfix, consulte nuestra guía Cómo instalar y configurar Postfix en Ubuntu 18.04.

      A continuación, actualice pip3 e instale las últimas versiones de tres módulos de Python adicionales que requiere ERPNext:

      • sudo -H python3 -m pip install --upgrade setuptools cryptography psutil

      Ahora que ha instalado todas las dependencias globales necesarias, instalará todos los servicios y las bibliotecas que requiere ERPNext 12.

      Configuración de Node.js y Yarn

      ERPNext 12 funciona con la versión 8, o una más reciente, del entorno de servidor de Node.js. De hecho, a la fecha de redacción de este artículo, la secuencia de comandos oficial de ERPNext easy_install utiliza Node 8. Sin embargo, desde una perspectiva de seguridad, es conveniente instalar una versión más reciente, dado que Node 8 llegó al final de su vida útil (EOL) en 2020 y, por lo tanto, no se lanzarán más parches de seguridad. A efectos de esta guía, se instalará Node.js versión 12 LTS junto con los administradores de paquetes correspondientes npm y yarn. Tenga en cuenta que el marco de trabajo de Frappe utiliza yarn para la instalación de dependencias. Si decide utilizar un método de instalación alternativo, asegúrese de que la versión 1.12+ de yarn quede instalada en su sistema.

      Añada el repositorio de NodeSource a su sistema:

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

      Ahora, puede revisar el contenido de la secuencia de comandos descargada:

      • sudo nano nodesurce_setup.sh

      Una vez que esté satisfecho, puede ejecutar la secuencia de comandos:

      • sudo bash nodesource_setup.sh

      Esta secuencia de comandos actualizará automáticamente la lista apt. Ahora, puede instalar nodejs en su servidor:

      A continuación, instale yarn de modo general usando el paquete npm incluido:

      Ahora que tiene Node instalado, puede proceder con la configuración de wkhtmltopdf para su plataforma.

      ERPNext utiliza la herramienta de código abierto wkhtmltopdf para convertir contenido de HTML a PDF utilizando el motor de representación Qt WebKit. Esta característica se utiliza principalmente para imprimir facturas, cotizaciones y otros informes. ERPNext 12 requiere una versión específica de wkhtmltopdf: 0.12.5 con Qt corregido.

      Para instalar wkhtmltopdf, comience por cambiar a un directorio adecuado para descargar el paquete, en este caso /tmp:

      Descargue la versión adecuada de wkhtmltopdf y el paquete correspondiente para Ubuntu 18.04 de 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 utilizando la herramienta dpkg:

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

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

      • sudo cp /usr/local/bin/wkhtmlto* /usr/bin/

      Cuando los archivos estén en su lugar, cambie sus permisos para que se puedan ejecutar:

      • sudo chmod a+x /usr/bin/wk*

      Ahora que wkhtmltopdf está instalado correctamente, añada Redis a la pila de su base de datos.

      Instalar Redis

      ERPNext 12 utiliza Redis para mejorar el rendimiento de MariaDB. Concretamente, ayuda con el caché.

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

      • sudo apt install redis-server

      A continuación, habilite Redis en el inicio:

      • sudo systemctl enable redis-server

      Ahora que ha añadido Redis a su pila, vamos a tomarnos un momento para resumir lo que ha logrado hasta ahora. Hasta este punto, ha instalado todos los componentes principales que necesita ERPNext 12, que incluyen:

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

      Ya sea que esté instalando el sistema ERP para un entorno de desarrollo o de producción, está listo para continuar con el siguiente paso: instalar el marco de pila completa de Frappe y la aplicación web ERPNext 12.

      Paso 6: Instalar la CLI bench de Frappe

      Ahora que instaló todos los requisitos de pila de ERPNext, puede aprovechar la flexibilidad de la utilidad de línea de comandos bench de Frappe. La CLI bench se diseñó con el objetivo de ayudar a los usuarios en el proceso de instalación, configuración y administración de aplicaciones basadas en el marco de trabajo Frappe, como ERPNext. En las siguientes secciones, instalará la CLI bench y, luego, la utilizará para completar el proceso de configuración de ERPNext 12.

      Asegúrese de que el usuario de Frappe (en este caso, sammy) tenga los derechos apropiados en su directorio home:

      • sudo chown sammy -R /home/sammy

      Ahora, clone el repositorio frappe/bench y colóquelo su directorio de inicio. Recuerde sustituir sammy con su nombre de usuario del sistema:

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

      Instale la CLI bench:

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

      En esta guía, se asume que está instalando ERPNext 12 para escenarios de prueba o producción y, por lo tanto, está utilizando la rama master. Pero si tiene la intención de desarrollar aplicaciones o módulos de ERPNext personalizados, la rama develop podría ser una mejor opción. En cualquier caso, está listo para instalar el marco de trabajo Frappe. Este será su último paso antes de instalar ERPNext.

      Configurar el entorno del marco de trabajo Frappe

      En esta sección, creará un entorno de Frappe utilizando la CLI bench.

      Durante la instalación de Frappe, puede exceder el límite del monitor de archivos de Ubuntu, que está establecido en 8192 por defecto. Para evitar este problema, establezca un límite superior utilizando el siguiente comando:

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

      A continuación, inicie Frappe Framework 12. Sustituya a Sammy por su nombre de usuario del sistema:

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

      Durante la ejecución, puede ver un error sobre su ruta y varias advertencias. Deje que el proceso continúe hasta el final. Cuando haya terminado, verá un resultado similar al siguiente, lo que indica que su entorno se creó correctamente:

      Output

      ... Done in 82.23s. INFO:bench.utils:setting up backups no crontab for sammy SUCCESS: Bench /home/sammy/frappe-bench initialized

      Nota: el proceso bench init puede detenerse si se encuentra un error spawn ENOMEM. Este error se provoca cuando su sistema se queda sin memoria. Para continuar, debe solucionarlo instalando más memoria física o asignando espacio SWAP.

      Analicemos con mayor 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 relacionadas. En este ejemplo, se creará un nuevo directorio, denominado frappe-bench, para alojar todos los archivos necesarios.
      • -frappe-path apunta al repositorio de Frappe, que, en este caso, es el repositorio oficial de Github.
      • --frappe-branch es la versión de Frappe que se instalará. Como desea instalar ERPNext 12, la versión seleccionada es Frappe 12.
      • --python es la versión de Python que se utilizará. ERPNext 12 requiere Python 3.6 o superior. Sin embargo, las versiones anteriores siguen utilizando Python 2.7.

      Para obtener más información sobre los comandos de la CLI bench, consulte la Hoja de trucos de comandos de Bench.

      La flexibilidad que ofrece el marco de trabajo de Frappe va mucho más allá del uso de entornos aislados. También puede crear distintos sitios web e instalar aplicaciones en ellos.

      Paso 7: Instalar la aplicación web ERPNext 12

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

      Posiciónese en el directorio donde se inició Frappe.

      • cd /home/sammy/frappe-bench

      Descargue ERPNext 12 desde su repositorio utilizando la CLI bench:

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

      A continuación, cree el sitio nuevo, sustituyendo your_domain por el dominio que haya asociado con la IP de este servidor:

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

      Tomémonos un momento para revisar las opciones utilizadas en el comando anterior:

      • bench new-site crea un sitio nuevo basado en Frappe Framework.
      • your_domain es el nombre del sitio nuevo. Asegúrese de que el DNS de su dominio tenga un registro A apuntado a la IP de su servidor.
      • <^>erpnext_admin_password<^>** es la contraseña deseada para el usuario **administrador de ERPNext. Conserve esta contraseña en un lugar seguro; la necesitará en breve.
      • mariadb_password es la contraseña que creó al principio de la guía para el usuario de MariaDB sammy.

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

      • bench --site your_domain install-app erpnext

      Cuando la instalación se haya completado, tendrá una aplicación ERPNext 12 en funcionamiento. Ahora, vamos a probarla utilizando un comando bench:

      El comando anterior iniciará una consola de monitoreo en tiempo real que le mostrará varios mensajes relacionados con el servidor web y otros servicios. Abra un navegador web y diríjase a localhost:8000 (para instalaciones locales) o your_domain:8000 (si está utilizando un servidor remoto). Verá la pantalla de inicio de sesión de ERPNext (procederemos con el inicio de sesión y la configuración en un paso posterior, una vez que el sitio esté listo para producción).

      Después de consultar su implementación de prueba, regrese a su terminal y presione CTRL+C. De esta manera, detendrá ERPNext y saldrá de la consola de monitoreo.

      Si su objetivo principal es crear módulos o modificar ERPNext 12, puede detenerse en este punto. No se requieren más componentes para fines de desarrollo. Sin embargo, si necesita un sistema listo para producción que no requiera inicialización manual, deberá instalar y configurar algunos componentes adicionales. Este será su siguiente paso.

      Paso 8: Configurar ERPNext 12 para producción

      Aunque la aplicación ERPNext 12 está lista, el sistema en su conjunto aún no está completamente preparado para la producción. Para garantizar la fiabilidad y la seguridad de ERPNext, deberá habilitar algunos servicios adicionales:

      • Fail2ban proporciona una capa de protección adicional contra los intentos de fuerza bruta de usuarios y bots maliciosos.
      • Nginx funciona principalmente como proxy web, redireccionando todo el tráfico del puerto 8000 al puerto 80 (HTTP) o 443 (HTTPS)
      • Supervisor garantiza que los procesos clave de ERPNext se ejecuten constantemente y los reinicia según sea necesario.

      Hasta este punto, ha instalado y configurado ERPNext 12 de forma manual, lo que le ha permitido personalizar el proceso para adaptarlo cualquier caso de uso en particular. Sin embargo, durante el resto de la configuración de producción, puede aprovechar la conveniencia de la CLI bench y dejar que automatice la instalación y la configuración de estos servicios restantes.

      Asegúrese de estar posicionado en el directorio de trabajo de Frappe:

      • cd /home/sammy/frappe-bench

      Ahora, utilice el siguiente comando para finalizar la configuración de ERPNext 12 para producción:

      • sudo bench setup production sammy --yes

      El comando anterior instala y configura Nginx, Supervisor y Fail2Ban y establece a sammy como propietario del entorno de producción.

      Estos son los archivos de configuración que crea el comando bench:

      • Dos archivos de configuración de Nginx ubicados en /etc/nginx/nginx.conf y /etc/nginx/conf.d/frappe-bench.conf
      • Una proxy jail de Fail2Ban ubicada en /etc/fail2ban/jail.d/nginx-proxy.conf y un filtro situado en /etc/fail2ban/filter.d/nginx-proxy.conf

      Estas configuraciones predeterminadas bastarán para este tutorial, pero puede explorar y ajustar estos archivos para adaptarlos a sus requisitos. Puede detener todos los servicios con el siguiente comando:

      • sudo supervisorctl stop all

      Y, luego, cuando esté listo, puede reiniciar sus servicios:

      • sudo supervisorctl start all

      Ahora, está listo para probar su instalación.

      Probar la instalación de ERPNext 12

      Primero, verifique que los servicios de producción clave se ejecutan utilizando el siguiente comando systemctl y, luego, lo conducen a grep:

      • systemctl list-unit-files | grep 'fail2ban|nginx|supervisor'

      Verá un resultado similar a este:

      Output

      fail2ban.service enabled nginx.service enabled supervisor.service enabled

      Una vez que haya confirmado que todo funciona adecuadamente, puede probar ERPNext 12 en su servidor activo. Abra el navegador que prefiera y vaya al dominio en el que esté alojada su aplicación ERPNext 12.

      Después de unos segundos, debería ver la pantalla de inicio de sesión de ERPNext 12. Utilice el nombre de usuario Administrator y la contraseña erpnext_admin_password que creó anteriormente.

      Pantalla de inicio de sesión de ERPNext

      En la siguiente pantalla, verá un menú desplegable en el que puede seleccionar el idioma de la IU para la aplicación:

      Selección de idioma

      Tras la selección de idiomas, ERPNext le solicitará que indique su país, zona horaria y moneda:

      Seleccione su región

      Una vez que haya completado la información de su región, podrá crear su primer usuario de ERPNext. La información que proporcione se utilizará en las credenciales de inicio de sesión del usuario.

      Primer usuario de ERPNext

      En la siguiente pantalla, se le preguntará sobre lo que ERPNext denomina Dominios. Si no está seguro de cuál es su dominio, seleccione Distribución y haga clic en el botón Siguiente.

      Seleccione sus dominios

      A continuación, deberá proporcionar el nombre de la empresa y una abreviatura.

      Nombre de la empresa

      En la última pantalla, ERPNext le pedirá que indique la actividad de su empresa, el nombre de su banco, el tipo de plan de cuentas y el período del año fiscal. Podrá ingresar otros bancos más adelante. Por ahora, complete todos los campos que desee y, luego, haga clic en el botón Completar la configuración.

      Información financiera

      A continuación, verá una barra de progreso.

      Configurar ERPNext

      Una vez que terminado el proceso de configuración, verá el panel de control principal de ERPNext 12.

      Panel de control de ERPNext 12

      Ha instalado y configurado por completo una aplicación ERPNext 12.

      Conclusión

      Ahora que ha instalado correctamente su aplicación ERPNext 12, es posible que desee comenzar a implementar el sistema para las necesidades de su empresa. Una buena manera de comenzar a hacerlo es hacer clic en el botón Primeros pasos del panel de control de ERPNext. ERPNext lo ayudará a configurar la plataforma para todas sus necesidades empresariales y de comercio electrónico.

      Primeros pasos

      Es posible que también desee aumentar la velocidad de ERPNext. Si es así, puede consultar información sobre los ajustes de rendimiento de ERPNext, que lo orientará sobre las mejores prácticas y cómo depurar problemas relacionados con el rendimiento.



      Source link

      Comment installer une pile ERPNext sur Ubuntu 18.04


      L’auteur a choisi Software in the Public Interest pour recevoir un don dans le cadre du programme Write for DOnations.

      Introduction

      ERPNext est une suite de planification des ressources d’entreprise (ERP) qui tire parti de la puissance et de la flexibilité des technologies open-source. Elle excelle dans la gestion des processus opérationnels de base tels que la finance, les ventes, les ressources humaines, la fabrication, les achats, les services, les besoins du helpdesk, et plus encore. Parmi les avantages de la mise en œuvre d’un système comme ERPNext, on peut citer :

      • Une meilleure productivité en automatisant les processus commerciaux répétitifs
      • Une amélioration de l’efficacité informatique en partageant une base de données pour tous les départements de la société
      • Une meilleure prise de décisions grâce à une vision intégrale de la relation entre les unités commerciales

      ERPNext repose sur Frappe, un cadre d’application web full-stack écrit en Python qui tire pleinement parti de l’environnement d’exécution Node/JavaScript et utilise MariaDB comme backend de base de données. L’un des nombreux avantages des applications reposant sur Frappe, comme ERPNext, est l’utilitaire de ligne de commande bench. L’ILC bench permet aux administrateurs de gagner du temps en automatisant des tâches telles que l’installation, la mise à jour, la configuration et la gestion de plusieurs sites Frappe/ERPNext.

      Dans ce tutoriel, vous installerez et configurez une pile ERPNext sur un serveur tournant sous Ubuntu 18.04. Cela vous permettra de configurer votre pile pour divers environnements de développement ou de production en fonction de vos besoins, et cela vous préparera à construire une architecture plus complexe et tolérante aux défauts.

      Conditions préalables

      Note : Lorsque vous choisissez les spécifications de votre serveur, n’oubliez pas que les systèmes ERP sont gourmands en ressources. Ce guide préconise un serveur de 4 Go de RAM, ce qui est suffisant pour les cas d’utilisation de base, mais les exigences matérielles spécifiques peuvent varier en fonction du nombre d’utilisateurs et de la taille de votre entreprise.

      • Un nom de domaine entièrement enregistré avec un enregistrement A pointant vers votre serveur. Si vous utilisez un droplet DigitalOcean, vous pouvez suivre ce guide pour configurer correctement votre DNS. Ce tutoriel utilisera your_domain.

      Étape 1 — Configuration du pare-feu

      Bien que la configuration d’un pare-feu pour le développement soit facultative, pour la production il s’agit d’une pratique de sécurité obligatoire.

      Vous devrez ouvrir les ports suivants sur votre serveur ERPNext :

      • 80/tcp et 443/tcp pour HTTP et HTTPS, respectivement
      • 3306/tcp pour la connexion à MariaDB (recommandé uniquement si vous avez besoin d’un accès à la base de données à distance)
      • 143/tcp et 25/tcp pour IMAP et STMP, respectivement
      • 22/tcp pour SSH (si vous n’avez pas encore activé OpenSSH)
      • 8000/tcp pour les tests de développement avant de déployer votre site

      Pour ouvrir plusieurs ports à la fois, vous pouvez utiliser la commande suivante :

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

      Vous pouvez également autoriser des connexions à partir d’adresses IP spécifiques sur des ports spécifiques en utilisant cette commande :

      • sudo ufw allow from server_IP to any port port_number

      Après avoir ouvert tous les ports nécessaires, activez le pare-feu :

      Après avoir activé le pare-feu, confirmez l’état de vos ports ouverts :

      Pour plus d’informations concernant la configuration du pare-feu, veuillez lire notre guide Comment configurer un pare-feu avec UFW sur Ubuntu 18.04.

      La mise en place d’un pare-feu approprié est la première des deux étapes préliminaires. Vous allez maintenant configurer le mappage du clavier et l’encodage des caractères sur votre serveur.

      Étape 2 — Configuration des sites

      Il est fortement recommandé de configurer le mappage du clavier pour la console ainsi que la langue et l’encodage des caractères sur votre hôte. Ceci est nécessaire pour éviter les problèmes éventuels lors du processus d’installation d’ERPNext 12. Remarquez que cette configuration n’a rien à voir avec la langue de l’interface utilisateur sur votre plateforme ERPNext actuelle, mais avec la configuration locale du système.

      Tout d’abord, mettez à jour votre serveur :

      Configurez maintenant le keymap, la langue et l’encodage des caractères :

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

      L’utilitaire localectl est utilisé par Ubuntu 18.04 et d’autres distributions Linux pour contrôler et modifier les paramètres locaux et la disposition du clavier à l’échelle du système, avant que l’utilisateur ne se connecte, ce qui est exactement ce dont ERPNext 12 a besoin.

      Vous devrez également ajouter les lignes suivantes à votre fichier /etc/environment. Utilisez nano ou votre éditeur de texte préféré pour ouvrir le fichier :

      • sudo nano /etc/environment

      Maintenant ajoutez le contenu suivant :

      /etc/environment

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

      Enregistrez et fermez le fichier.

      Redémarrez votre serveur pour appliquer tous les changements :

      Patientez quelques minutes pendant que votre serveur redémarre, puis réintégrez le ssh. Vous êtes maintenant prêt à installer votre base de données.

      Étape 3 — Installation de MariaDB 10.4

      Vous allez maintenant ajouter MariaDB à la pile de votre serveur. ERPNext 12 requiert MariaDB 10.2+, mais la version incluse dans le dépôt officiel d’Ubuntu 18.04 est 10.1, ce qui signifie que vous devrez installer une version supérieure. Pour les besoins de ce guide, vous utiliserez la dernière version stable de MariaDB, qui, au moment de la rédaction de ce document, est la version 10.4.

      Pour installer MariaDB 10.4 sur Ubuntu 18.04, vous devrez ajouter la clé de signature et le dépôt appropriés. Vous pouvez trouver ces informations sur l’assistant de dépôt de la Fondation MariaDB. Pour visualiser la page, collez cette URL dans votre navigateur web. Maintenant, sous 1. Choose a Distro, cliquez sur Ubuntu. Une deuxième colonne intitulée 2. Choose a Release (Choisir une version) apparaîtra. Sous ce titre, cliquez sur 18.04 LTS “bionic”. Une troisième colonne intitulée 3.Choose a Version apparaîtra alors. Sous ce titre, cliquez sur 10.4 stable. Une quatrième colonne intitulée 4.Choose a Mirror apparaîtra alors. Choisissez un miroir en fonction de votre emplacement, puis MariaDB remplira les commandes appropriées pour votre installation personnalisée.

      Assistant de dépôt MariaDB

      Exécutez les trois commandes remplies, ce qui ajoutera correctement le dépôt et la clé MariaDB. Vos propres commandes ressembleront à ceci :

      • sudo apt-get install software-properties-common && sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc' && sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.klaus-uwe.me/mariadb/repo/10.4/ubuntu bionic main'

      Une fois que vous avez fini d’ajouter le référentiel, installez MariaDB :

      • sudo apt install mariadb-server

      Après avoir installé mariadb-server, installez les packages suivants :

      • sudo apt install libmysqlclient-dev python3-mysqldb

      ERPNext 12 est une application Python et nécessite donc la bibliothèque python3-mysqldb pour la gestion de la base de données. Concernant libmysqlclient-dev, mariadb-client, et libmariadbclient18 : ces paquets permettent aux utilisateurs de communiquer avec le service MariaDB. ntpdate et libdate-manip-perl sont utilisés par ERPNext pour la synchronisation horaire du serveur.

      Ensuite, ajoutez une couche de sécurité basique supplémentaire au serveur MariaDB en exécutant le script mysql_secure_installation :

      • sudo mysql_secure_installation

      Le script mysql_secure_installation vous posera plusieurs questions :

      • La première invite vous demandera le mot de passe root, mais comme aucun de mot de passe n’a été configuré, appuyez sur ENTER.
      • Ensuite, vous devrez décider d’utiliser ou non l’authentification Unix. Répondez Y pour accepter cette méthode d’authentification.
      • Lorsqu’il vous sera demandé de modifier le mot de passe root de MariaDB, répondez N. L’utilisation du mot de passe par défaut avec l’authentification Unix est la configuration recommandée pour les systèmes basés sur Ubuntu, car le compte root est étroitement lié aux tâches de maintenance automatisées du système.
      • Les questions restantes concernent la suppression de l’utilisateur anonyme de la base de données, la restriction du compte root pour vous connecter à distance sur localhost, la suppression de la base de données de test et le rechargement des tables de privilèges. Vous pouvez répondre Y à toutes ces questions en toute sécurité.

      Après avoir terminé le script mysql_secure_installation, MariaDB commencera à fonctionner en utilisant sa configuration par défaut. L’installation standard ERPNext utilise le root user de MariaDB, pour toutes les opérations de la base de données. Bien que cette approche soit pratique sur les configurations de serveur unique, elle n’est pas considérée comme une bonne pratique en matière de sécurité. Par conséquent, dans la section suivante, vous apprendrez à éviter ce problème en créant un nouvel utilisateur avec des privilèges spéciaux.

      Création d’un Super utilisateur admin de MariaDB

      ERPNext prévoit d’utiliser le root user de MariaDB pour gérer les connexions aux bases de données, mais ce n’est pas toujours idéal. Pour contourner cette limitation et laisser un utilisateur non-root gérer MariaDB, vous allez maintenant créer manuellement une base de données portant le nom de l’utilisateur. Ensuite, vous serez en mesure d’attribuer des privilèges spéciaux au nouvel utilisateur pour conduire les opérations de la base de données d’ERPNext.

      Ouvrez l’invite MariaDB :

      Créez maintenant une nouvelle base de données nommée d’après l’utilisateur que vous souhaitez affecter aux connexions MariaDB. Ce tutoriel utilisera sammy mais vous êtes libre de choisir votre propre nom :

      Confirmez que la base de données a été créée en utilisant cette instruction SQL :

      Vous obtiendrez une sortie semblable à ceci :

      Output

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

      Créez maintenant l’utilisateur MariaDB sammy avec des privilèges similaires à root, puis donnez à l’utilisateur le mot de passe fort de votre choix. Conservez le mot de passe dans un endroit sûr, vous en aurez besoin plus tard :

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

      Confirmez maintenant la création de l’utilisateur et les privilèges du nouvel utilisateur :

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

      Vous verrez un résultat similaire à ce qui suit :

      Output

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

      Maintenant videz les privilèges pour appliquer tous les changements :

      Une fois que vous avez terminé, quittez la session :

      Maintenant que vous avez créé un utilisateur de la base de données, il ne vous reste plus qu’à régler MariaDB pour vous assurer le fonctionnement correct d’ERPNext 12. Heureusement, l’équipe ERPNext fournit un excellent modèle de configuration que vous utiliserez comme point de départ pour votre implémentation. Dans la section suivante, vous apprendrez à configurer correctement la base de données MariaDB en utilisant ce modèle.

      Étape 4 — Configuration de MariaDB pour ERPNext

      Une fois MariaDB installé et sécurisé, il est temps de le mettre au point pour les connexions ERPNext.

      Tout d’abord, arrêtez mariadb.service :

      • sudo systemctl stop mariadb

      Utilisez maintenant nano ou votre éditeur de texte préféré pour créer un fichier de configuration MariaDB appelé settings.cnf :

      • sudo nano /etc/mysql/conf.d/settings.cnf

      Ajoutez maintenant le modèle de configuration d’ERPNext :

      /etc/mysql/conf.d/settings.cnf

      [mysqld]
      
      # GENERAL #
      user                           = mysql
      default-storage-engine         = InnoDB
      socket                         = /var/lib/mysql/mysql.sock
      pid-file                       = /var/lib/mysql/mysql.pid
      
      # MyISAM #
      key-buffer-size                = 32M
      myisam-recover                 = FORCE,BACKUP
      
      # SAFETY #
      max-allowed-packet             = 256M
      max-connect-errors             = 1000000
      innodb                         = FORCE
      
      # DATA STORAGE #
      datadir                        = /var/lib/mysql/
      
      # BINARY LOGGING #
      log-bin                        = /var/lib/mysql/mysql-bin
      expire-logs-days               = 14
      sync-binlog                    = 1
      
      # REPLICATION #
      server-id                      = 1
      
      # CACHES AND LIMITS #
      tmp-table-size                 = 32M
      max-heap-table-size            = 32M
      query-cache-type               = 0
      query-cache-size               = 0
      max-connections                = 500
      thread-cache-size              = 50
      open-files-limit               = 65535
      table-definition-cache         = 4096
      table-open-cache               = 10240
      
      # INNODB #
      innodb-flush-method            = O_DIRECT
      innodb-log-files-in-group      = 2
      innodb-log-file-size           = 512M
      innodb-flush-log-at-trx-commit = 1
      innodb-file-per-table          = 1
      innodb-buffer-pool-size        = 5462M
      innodb-file-format             = barracuda
      innodb-large-prefix            = 1
      collation-server               = utf8mb4_unicode_ci
      character-set-server           = utf8mb4
      character-set-client-handshake = FALSE
      max_allowed_packet             = 256M
      
      # LOGGING #
      log-error                      = /var/lib/mysql/mysql-error.log
      log-queries-not-using-indexes  = 0
      slow-query-log                 = 1
      slow-query-log-file            = /var/lib/mysql/mysql-slow.log
      
      [mysql]
      default-character-set = utf8mb4
      
      [mysqldump]
      max_allowed_packet=256M
      
      !includedir /etc/mysql/mariadb.conf.d/
      

      Enregistrez et fermez le fichier. Pour obtenir des informations plus détaillées sur ces configurations, consultez ce fichier modèle sur le référentiel Github d’ERPNext. C’est un point de départ utile pour explorer ces options.

      Ensuite, créez un autre fichier appelé erpnext.cnf :

      • sudo nano /etc/mysql/mariadb.conf.d/erpnext.cnf

      Ajoutez le contenu suivant au fichier :

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

      [mysqld]
      pid-file        = /var/run/mysqld/mysqld.pid
      socket          = /var/run/mysqld/mysqld.sock
      bind-address    = 0.0.0.0
      

      Le premier fichier,/etc/mysql/conf.d/settings.cnf, complète et remplace également quelques valeurs incluses dans la configuration par défaut de MariaDB située dans /etc/mysql/my.cnf. Ce fichier vous donne un modèle de conservation qui améliore considérablement les performances de la base de données pour ERPNext. N’oubliez pas toutefois que si ce modèle est un excellent point de départ, rien ne vous empêche d’améliorer encore plus les performances de MariaDB en ajustant ces paramètres à vos besoins.

      Le deuxième fichier, /etc/mysql/mariadb.conf.d/erpnext.cnf, permet également de remplacer certaines valeurs par des informations spécifiques concernant la connexion à votre base de données.

      Test de la connexion MariaDB

      Comme ERPNext dépend de la connexion à la base de données pour presque toutes ses opérations internes, il est bon de tester la connexion avant de continuer.

      Démarrez mariadb.service :

      • sudo systemctl start mariadb

      Pour tester la connexion, vous pouvez utiliser la commande suivante. N’oubliez pas de remplacer sammy et mariadb_password par vos propres identifiants :

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

      Vous verrez un résultat montrant le contenu de l’aide de base de MariaDB et plusieurs paramètres. Cela signifie que votre connexion a réussi :

      Output

      mysql Ver 15.1 Distrib 10.4.13-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 Copyright (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 1000000 secure-auth FALSE show-warnings FALSE plugin-dir (No default value) default-auth (No default value) binary-mode FALSE connect-expired-password FALSE

      Si vous devez apporter des ajustements aux paramètres de MariaDB ou corriger des erreurs, n’oubliez pas de recharger le service en utilisant la commande suivante :

      • sudo systemctl restart mariadb

      Une fois que vous avez terminé, activez MariaDB :

      • sudo systemctl enable mariadb

      Maintenant que vous avez testé la connexion à la base de données, vous pouvez continuer à installer votre application ERPNext.

      Étape 5 — Configuration ERPNext 12

      Maintenant que le backend de votre base de données est prêt, vous pouvez continuer à configurer votre application web ERPNext. Dans cette section, vous apprendrez à installer et configurer tous les composants requis par ERPNext 12, puis à installer l’application elle-même.

      Commencez par préparer le serveur avec tous les paquets système requis par ERPNext 12. Installez les dépendances dans tout le système en utilisant la commande suivante :

      • sudo DEBIAN_FRONTEND=noninteractive apt install -y curl build-essential mariadb-client 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 libssl1.0-dev python3-mysqldb libdate-manip-perl logwatch

      La variable DEBIAN_FRONTEND=noninteractive a été transmise à la commande d’installation afin d’éviter les invites Postfix. Pour obtenir des informations détaillées sur la configuration de Postfix, lisez notre guide Comment installer et configurer Postfix sur Ubuntu 18.04

      Ensuite, mettez à jour pip3 et installez les dernières versions de trois modules Python supplémentaires requis par ERPNext :

      • sudo -H python3 -m pip install --upgrade setuptools cryptography psutil

      Maintenant que vous avez installé toutes les dépendances générales nécessaires, vous allez installer tous les services et les bibliothèques nécessaires à ERPNext 12.

      Configuration de Node.js et Yarn

      ERPNext 12 peut fonctionner avec la version 8+ de l’environnement serveur Node.js. En réalité, au moment de la rédaction de ce texte, le script officiel easy_install d’ERPNext utilise Node 8. Mais du point de vue de la sécurité, il est conseillé d’installer une version plus récente, car Node 8 a atteint sa fin de vie (EOL) en 2020 et ne bénéficiera donc plus de correctifs de sécurité. Pour les besoins de ce guide, la version 12 LTS de Node.js sera installée en même temps que les gestionnaires de paquets npm et yarn correspondants. Veuillez noter que le framework Frappe utilise yarn pour installer les dépendances. Si vous décidez d’utiliser une autre méthode d’installation, vérifiez que la version 1.12+ de yarn fonctionne sur votre système.

      Ajoutez le référentiel NodeSource à votre système :

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

      Vous pouvez maintenant inspecter le contenu du script téléchargé :

      • sudo nano nodesurce_setup.sh

      Une fois que vous êtes satisfait, vous pouvez exécuter le script :

      • sudo bash nodesource_setup.sh

      Ce script mettra à jour automatiquement la liste apt. Vous pouvez maintenant installer nodejs sur votre serveur :

      Ensuite, installez yarn globalement en utilisant le paquet npm inclus :

      Maintenant que vous avez installé Node, vous pouvez continuer à configurer wkhtmltopdf pour votre plate-forme.

      ERPNext utilise l’outil open source wkhtmltopdf pour convertir le contenu HTML en PDF, en utilisant le moteur de rendu Qt WebKit. Cette fonction est principalement utilisée pour l’impression de factures, de devis et d’autres rapports. Dans le cas d’ERPNext 12, une version spécifique de wkhtmltopdf est requise, 0.12.5 avec Qt patché.

      Pour installer wkhtmltopdf, commencez par passer à un répertoire approprié pour télécharger le paquet, dans ce cas /tmp :

      Téléchargez la version wkhtmltopdf appropriée et le paquet pour Ubuntu 18.04 depuis la page du projet :

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

      Installez maintenant le paquet en utilisant l’outil dpkg :

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

      Ensuite, copiez tous les exécutables pertinents dans votre répertoire /usr/bin/ :

      • sudo cp /usr/local/bin/wkhtmlto* /usr/bin/

      Une fois les fichiers en place, modifiez leurs autorisations pour les rendre exécutables :

      • sudo chmod a+x /usr/bin/wk*

      Maintenant que wkhtmltopdf est correctement installé, nous ajouterons Redis à notre pile de base de données.

      Installation de Redis

      ERPNext 12 utilise Redis pour améliorer les performances de MariaDB. Plus précisément, il aide à la mise en cache.

      Tout d’abord, installez Redis depuis le référentiel officiel Ubuntu 18.04 :

      • sudo apt install redis-server

      Ensuite, activez Redis au démarrage :

      • sudo systemctl enable redis-server

      Maintenant que vous avez ajouté Redis à votre pile, prenons un moment pour résumer ce que vous avez accompli jusqu’à présent. Jusqu’à présent, vous avez installé tous les principaux composants nécessaires à ERPNext 12, dont :

      • Un backend de base de données MariaDB
      • L’environnement serveur JavaScript Node.js
      • Le gestionnaire de paquets Yarn
      • Un cache de la base de donnée de Redis
      • Le générateur de documents PDF wkhtmltopdf

      Que vous installiez le système ERP pour le développement ou pour la production, vous êtes maintenant prêt pour la prochaine étape, qui consiste à installer le framework full-stack Frappe et l’application web ERPNext 12 actuelle.

      Étape 6 — Configuration de l’ILC Bench de Frappe

      Maintenant que vous avez mis en place toutes les exigences de pile d’ERPNext, vous pouvez exploiter la flexibilité de l’utilitaire de ligne de commande bench de Frappe. L’ILC bench a été conçue dans le but d’aider les utilisateurs dans le processus d’installation, de mise en place et de gestion d’applications comme ERPNext, qui reposent sur le Framework Frappe. Dans les sections suivantes, vous allez installer l’ILC bench et l’utiliser ensuite pour terminer le processus de configuration d’ERPNext 12.

      Assurez-vous que l’utilisateur de Frappe (dans ce cas sammy) dispose des droits appropriés sur son répertoire home :

      • sudo chown sammy -R /home/sammy

      Maintenant, clonez le référentiel frappe/bench vers votre répertoire de base. N’oubliez pas de remplacer sammy par votre nom d’utilisateur système :

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

      Installez l’ILC bench :

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

      Ce guide suppose que vous installez ERPNext 12 pour des scénarios de test/production et que vous utilisez donc la branche master. Mais si votre intention est de développer des applications ou des modules ERPNext personnalisés, la branche develop pourrait être préférable. Dans les deux cas, vous êtes maintenant prêt à installer le Framework de Frappe. Ce sera la dernière étape avant d’installer ERPNext lui-même.

      Configuration de l’environnement du framework de Frappe

      Dans cette section, vous allez créer un environnement Frappe en utilisant l’ILC bench.

      Pendant l’installation de Frappe, vous pouvez dépasser la limite de surveillance des fichier d’Ubuntu, qui par défaut est fixée à 8192. Pour éviter ce problème, définissez une limite supérieure en utilisant la commande suivante :

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

      Ensuite, initialisez Frappe framework 12. Remplacez Sammy par votre nom d’utilisateur système :

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

      Au cours de l’exécution, vous pouvez voir une erreur concernant votre chemin d’accès, ainsi que plusieurs avertissements. Laissez le processus se poursuivre jusqu’à la fin. Une fois terminé, vous verrez un résultat similaire à celui qui suit, indiquant que votre environnement a été créé avec succès :

      Output

      ... Done in 82.23s. INFO:bench.utils:setting up backups no crontab for sammy SUCCESS: Bench /home/sammy/frappe-bench initialized

      Note : le processus bench init pourrait s’arrêter si une erreur spawn ENOMEM était rencontrée. Cette erreur se produit lorsque votre système manque de mémoire. Vous devez corriger le problème avant de continuer, soit en installant plus de mémoire physique, soit en attribuant l’espace SWAP.

      Examinons de plus près la commande utilisée pour créer l’environnement :

      • /home/sammy/frappe-bench est le chemin où le framework Frappe, les sites web et les applications connexes seront installés. Un nouveau répertoire, appelé frappe-bench dans cet exemple, sera créé pour accueillir tous les fichiers nécessaires.
      • --frappe-path pointe vers le référentiel de Frappe, qui dans ce cas est le référentiel officiel de Github.
      • --frappe-branch est la version Frappe à installer. Comme vous souhaitez installer ERPNext 12, la version choisie est Frappe 12.
      • --python est la version Python qui sera utilisée. ERPNext 12 requiert Python 3.6+. Les versions antérieures, cependant, utilisent toujours Python 2.7.

      Pour plus d’informations sur les commandes ILC bench, veuillez vous référer à la fiche d’aide des commandes de Bench.

      La flexibilité offerte par le framework Frappe va bien au-delà de l’utilisation d’environnements isolés. Vous pouvez également créer différents sites web et y installer des applications.

      Étape 7 — Configuration de l’application web ERPNext 12

      Dans cette section, vous allez configurer un site reposant sur Frappe, puis installer l’application ERPNext 12 sur celui-ci.

      Passez dans le répertoire où Frappe a été initialisé.

      • cd /home/sammy/frappe-bench

      Maintenant, téléchargez ERPNext 12 depuis son référentiel en utilisant l’ILC bench :

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

      Ensuite, créez le nouveau site, en remplaçant your_domain par le domaine que vous avez associé à l’IP de ce serveur :

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

      Prenons un moment pour examiner les options utilisées dans la commande ci-dessus :

      • bench new-site crée un nouveau site reposant sur le framework Frappe.
      • your_domain est le nom du nouveau site. Assurez-vous que le DNS de votre domaine a un enregistrement A pointant vers l’IP de votre serveur.
      • erpnext_admin_passwordest le mot de passe souhaité pour l’utilisateur Administrator d’ERPNext. Conservez ce mot de passe dans un endroit sûr, vous en aurez besoin sous peu.
      • mariadb_password est le mot de passe que vous avez créé au début du guide de l’utilisateur sammy de MariaDB.

      Ensuite, installez l’application ERPNext sur le site :

      • bench --site your_domain install-app erpnext

      Une fois l’installation terminée, vous disposerez d’une application ERPNext 12 fonctionnelle. Maintenant, testons-la à l’aide d’une commande bench :

      La commande ci-dessus lancera une console de surveillance en temps réel vous montrant divers messages concernant le serveur web et d’autres services. Ouvrez un navigateur web et naviguez vers localhost:8000 (pour les installations locales) ou your_domain:8000 (si vous utilisez un serveur distant). Vous verrez l’écran de connexion ERPNext (nous procéderons à la connexion et à la configuration dans une étape ultérieure, une fois que notre site sera prêt pour la production).

      Après avoir consulté votre déploiement de test, retournez à votre terminal et appuyez sur CTRL+C. Cela arrêtera ERPNext et permettra de quitter la console de surveillance.

      Si votre objectif principal est de créer des modules ou de modifier ERPNext 12, vous pouvez alors vous arrêter à ce stade. Aucun autre composant n’est nécessaire pour le développement. Cependant, si vous avez besoin d’un système prêt pour la production qui ne requiert pas d’initialisation manuelle, vous devrez alors installer et configurer quelques composants supplémentaires. C’est votre prochaine étape.

      Étape 8 — Configuration d’ERPNext 12 pour la production

      Bien que l’application ERPNext 12 soit prête, le système dans son ensemble n’est pas encore complètement prêt pour la production. Pour garantir la fiabilité et la sécurité d’ERPNext, vous devrez activer quelques services supplémentaires :

      • Fail2ban fournit une couche supplémentaire de protection contre les tentatives de recours abusif des utilisateurs et des bots malveillants.
      • Nginx fonctionne principalement comme un proxy web, redirigeant tout le trafic depuis le port 8000 vers le port 80 (HTTP) ou le port 443 (HTTPS)
      • Supervisor veille à ce que les processus clés d’ERPNext soient constamment opérationnels, en les redémarrant au besoin.

      Jusqu’à ce stade, vous avez installé et configuré manuellement ERPNext 12, ce qui vous a permis de personnaliser le processus pour qu’il corresponde à n’importe quel cas d’utilisation particulier. Néanmoins, pour le reste de la configuration de la production, vous pouvez tirer parti de la commodité de l’ILC bench, afin d’automatiser l’installation et la configuration de ces services restants.

      Assurez-vous que vous êtes bien dans le répertoire de travail de Frappe :

      • cd /home/sammy/frappe-bench

      Maintenant, utilisez la commande suivante pour terminer la configuration d’ERPNext 12 pour la production :

      • sudo bench setup production sammy --yes

      La commande ci-dessus installera et configurera aNginx, Supervisor, et Fail2Ban, et définira sammy comme propriétaire de l’environnement de production.

      Les fichiers de configuration créés par la commande bench  sont les suivants :

      • Deux fichiers de configuration Nginx situés dans /etc/nginx/nginx.conf et /etc/nginx/conf.d/frappe-bench.conf
      • Un proxy jail Fail2Ban situé dans /etc/fail2ban/jail.d/nginx-proxy.conf et un filtre situé dans /etc/fail2ban/filter.d/nginx-proxy.conf

      Ces configurations par défaut suffiront pour ce tutoriel, mais n’hésitez pas à explorer et ajuster ces fichiers pour qu’ils correspondent à vos besoins. Vous pouvez arrêter tous les services en exécutant :

      • sudo supervisorctl stop all

      Et ensuite, une fois que vous êtes prêt, vous pouvez redémarrer vos services :

      • sudo supervisorctl start all

      Maintenant vous êtes prêt pour tester votre installation.

      Test de votre installation ERPNext 12

      Tout d’abord, vérifiez que les principaux services de production fonctionnent en utilisant la commande systemctl suivante, puis en la transmettant à grep :

      • systemctl list-unit-files | grep 'fail2ban|nginx|supervisor'

      Vous verrez un résultat similaire à ce qui suit :

      Output

      fail2ban.service enabled nginx.service enabled supervisor.service enabled

      Après avoir confirmé que tout fonctionne comme prévu, vous pouvez tester ERPNext 12 en direct sur votre serveur. Ouvrez votre navigateur préféré et naviguez jusqu’au domaine où vous hébergez votre application ERPNext 12.

      Après quelques secondes, vous devriez voir l’écran de connexion d’ERPNext 12. Utilisez Administrator pour le nom d’utilisateur et erpnext_admin_password que vous avez créé précédemment pour le mot de passe.

      Écran de connexion d'ERPNext

      Dans l’écran suivant, vous verrez un menu déroulant où vous pouvez sélectionner la langue de l’interface utilisateur pour l’application :

      Sélection de la langue

      Après la sélection de la langue, ERPNext vous demandera d’entrer votre pays, votre fuseau horaire et votre devise :

      Sélectionnez votre région

      Une fois que vous aurez complété les informations sur votre région, vous pourrez créer le premier utilisateur ERPNext. Les informations que vous fournissez seront utilisées comme identifiants de connexion de l’utilisateur.

      Premier utilisateur ERPNext

      Dans l’écran suivant, vous serez questionné sur ce qu’ERPNext appelle Domains. Si vous n’êtes pas sûr de savoir quel est votre domaine, sélectionnez Distribution et cliquez sur le bouton Next.

      Sélectionnez vos domaines

      Ensuite, vous devrez fournir un nom de société et une abréviation.

      Nom de la société

      Dans le dernier écran, ERPNext vous demandera d’indiquer l’activité de votre société, le nom de sa banque, le type de plan comptable et la période de l’exercice. Vous pourrez entrer des banques supplémentaires plus tard. Pour l’instant, remplissez tous les champs comme vous le souhaitez, puis cliquez sur le bouton Complete Setup.

      Informations financières

      Ensuite, vous verrez un barre de progression.

      Configuration d'ERPNext

      Une fois le processus de configuration terminé, le tableau de bord principal d’ERPNext 12 apparaît.

      Tableau de bord d'ERPNext 12

      Vous avez maintenant entièrement installé et configuré une application ERPNext 12.

      Conclusion

      Maintenant que vous avez correctement installé votre application ERPNext 12, vous pouvez commencer à mettre en œuvre le système pour vos besoins commerciaux. Un bon point de départ consiste à cliquer sur le bouton Getting Started sur le tableau de bord d’ERPNext. ERPNext vous aidera alors à configurer la plate-forme pour tous vos besoins commerciaux et de commerce électronique.

      Mise en route

      Vous pouvez également souhaiter améliorer la vitesse d’ERPNext. Si c’est le cas, vous pouvez lire les informations sur le réglage de performance ERPNext, qui vous guideront sur les meilleures pratiques et sur la manière de résoudre les problèmes liés aux performances.



      Source link

      Como instalar uma pilha ERPNext no Ubuntu 18.04


      O autor selecionou a Software in the Public Interest para receber uma doação como parte do programa Write for DOnations.

      Introdução

      O ERPNext é uma suíte de Planejamento de Recursos Empresariais (ERP) que aproveita o poder e a flexibilidade das tecnologias de código aberto. Ele se destaca no gerenciamento de processos de negócio fundamentais, como finanças, vendas, recursos humanos, fabricação, compras, serviços, necessidades de assistência técnica e muito mais. Entre os benefícios da implementação de um sistema como o ERPNext estão:

      • Melhor produtividade, automatizando processos de negócio repetitivos
      • Melhoria da eficiência de TI através do compartilhamento de um banco de dados para todos os departamentos dentro da empresa
      • Melhor tomada de decisão graças a uma visão integral de como as unidades de negócios se relacionam entre si

      O ERPNext é baseado no Frappe, um framework Web full-stack de aplicativos escrito em Python que aproveita ao máximo o ambiente de tempo de execução Node/JavaScript e usa o MariaDB como seu banco de dados de back-end. Uma das muitas vantagens dos aplicativos baseados no Frappe, como o ERPNext, é o utilitário de linha de comando bench. O CLI do bench economiza tempo dos administradores automatizando tarefas como instalar, atualizar, configurar e gerenciar vários sites do Frappe/ERPNext.

      Neste tutorial, você irá instalar e configurar uma pilha ERPNext em um servidor executando o Ubuntu 18.04. Isso permitirá que você configure sua pilha para vários ambientes de desenvolvimento ou produção dependendo das suas necessidades. Além disso, isso irá prepará-lo para construir uma arquitetura mais complexa e tolerante a falhas.

      Pré-requisitos

      Nota: ao escolher as especificações do seu servidor, tenha em mente que os sistemas ERP consomem muitos recursos. Este guia exige um servidor com 4 GB de RAM, que será suficiente para casos de uso básicos. No entanto, os requisitos específicos de hardware podem variar dependendo do número de usuários e do tamanho do seu negócio.

      • Um nome de domínio totalmente registrado com um registro A apontado para seu servidor. Se você estiver usando um Droplet da DigitalOcean, então você pode seguir este guia para configurar corretamente seu DNS. Este tutorial utilizará o your_domain durante todo o processo.

      Passo 1 — Configurando o firewall

      Embora configurar um firewall para o desenvolvimento seja opcional, para a produção, isso é uma prática de segurança obrigatória.

      Você precisará abrir as seguintes portas em seu servidor ERPNext:

      • 80/tcp e 443/tcp para o HTTP e HTTPS respectivamente
      • 3306/tcp para a conexão do MariaDB (recomendado apenas se precisar de acesso remoto ao banco de dados)
      • 143/tcp e 25/tcp para o IMAP e STMP respectivamente
      • 22/tcp para o SSH (se você ainda não tiver ativado o OpenSSH)
      • 8000/tcp para testes de desenvolvimento antes de implantar seu site

      Para abrir várias portas ao mesmo tempo, utilize o seguinte comando:

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

      De maneira alternativa, você pode permitir conexões vindas de endereços IP específicos em portas específicas usando este comando:

      • sudo ufw allow from server_IP to any port port_number

      Depois de abrir todas as portas necessárias,o ative o firewall:

      Depois de ativar o firewall, confirme o status de suas portas abertas:

      Para mais informações sobre a configuração do firewall, leia nosso guia How To Set Up a Firewall with UFW on Ubuntu 18.04.

      Configurar um firewall adequado é o primeiro dos dois passos preliminares. Agora, você irá configurar o mapeamento de teclado e a codificação de caracteres no seu servidor.

      Passo 2 — Configurando localidades

      É altamente recomendado que você configure o mapeamento de teclado para o console, bem como a linguagem e a codificação de caracteres no seu host. Isso é necessário para evitar possíveis problemas durante o processo de instalação do ERPNext 12. Observe que essa configuração não tem nada a ver com a linguagem UI na sua plataforma ERPNext em si, mas com a configuração de localidades do sistema.

      Primeiro, atualize seu servidor:

      Agora, configure o keymap, a linguagem e a codificação de caracteres:

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

      O utilitário localectl é usado pelo Ubuntu 18.04 e outras distribuições Linux para controlar e alterar as configurações de localidade e de layout de teclado em todo o sistema antes do usuário fazer login, que é exatamente o que o ERPNext 12 necessita.

      Você também precisará adicionar as seguintes linhas ao seu arquivo /etc/environment. Use o nano ou seu editor de texto preferido para abrir o arquivo:

      • sudo nano /etc/environment

      Agora, adicione o conteúdo a seguir:

      /etc/environment

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

      Salve e feche o arquivo.

      Reinicialize seu servidor para aplicar todas as alterações:

      Dê ao seu servidor alguns minutos para reinicializar e então fazer um ssh nele. Agora, você está pronto para instalar seu banco de dados.

      Passo 3 — Instalando o MariaDB 10.4

      Agora, você irá adicionar o MariaDB à sua pilha de servidor. O ERPNext 12 requer o MariaDB 10.2+, mas a versão incluída no repositório oficial do Ubuntu 18.04 é a 10.1, o que significa que você precisará instalar uma versão superior. Para os propósitos deste guia, você irá usar a versão mais recente do MariaDB, que no momento da escrita deste artigo é a versão 10.4.

      Para instalar o MariaDB 10.4 no Ubuntu 18.04, você precisará adicionar a chave de assinatura e o repositório apropriados. Você pode encontrar essas informações no assistente do repositório da Fundação MariaDB. Visite esta URL em seu navegador Web. Agora, sob 1. Choose a Distro, clique em Ubuntu. Uma segunda coluna intitulada 2. Choose a Release irá aparecer. Abaixo deste título, clique em 18.04 LTS “bionic”. Uma terceira coluna intitulada 3.Choose a Version então aparecerá. Abaixo deste clique em 10.4 stable. Uma terceira coluna intitulada 4.Choose a Mirror então aparecerá. Escolha um espelho baseado em sua localização e então o MariaDB irá preencher os comandos adequados para sua instalação personalizada.

      MariaDB repo wizard

      Execute os três comandos preenchidos, que adicionarão corretamente o repositório e a chave do MariaDB. Seus próprios comandos serão parecidos com este:

      • sudo apt-get install software-properties-common && sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc' && sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.klaus-uwe.me/mariadb/repo/10.4/ubuntu bionic main'

      Depois de terminar de adicionar o repositório, instale o MariaDB:

      • sudo apt install mariadb-server

      Depois de instalar o mariadb-server, instale os seguintes pacotes:

      • sudo apt install libmysqlclient-dev python3-mysqldb

      O ERPNext 12 é uma aplicação Python e, portanto, ele requer a biblioteca python3-mysqldb para o gerenciamento do banco de dados. Quanto ao libmysqlclient-dev, mariadb-client, e libmariadbclient18: esses pacotes permitem aos usuários se comunicar com o serviço MariaDB. O ntpdate e o libdate-manip-perl são usados pelo ERPNext para a sincronização de tempo do servidor.

      Em seguida, adicione uma camada básica de segurança ao servidor MariaDB executando o script mysql_secure_installation:

      • sudo mysql_secure_installation

      O script mysql_secure_installation solicitará que você responda a várias perguntas:

      • O primeiro prompt irá perguntar-lhe sobre a senha do root. Como ainda não existe nenhuma senha configurada, pressione ENTER.
      • Em seguida, você terá que decidir usar a autenticação do Unix ou não. Responda Y para aceitar este método de autenticação.
      • Quando perguntado sobre a alteração da senha do root do MariaDB, responda N. Usar a senha padrão juntamente com a autenticação do Unix é a configuração recomendada para sistemas baseados no Ubuntu, pois a conta root está intimamente relacionada com tarefas de manutenção automatizadas do sistema.
      • As perguntas restantes têm a ver com remover o usuário anônimo do banco de dados, restringir a conta root para fazer login remotamente no localhost, remover o banco de dados de teste e recarregar as tabelas de privilégio. É seguro responder Y a todas essas perguntas.

      Depois de completar o script mysql_secure_installation, o MariaDB será iniciado usando sua configuração padrão. A instalação padrão do ERPNext usa o usuário root do MariaDB’s para todas as operações de banco de dados. Embora essa abordagem possa ser conveniente em configurações com um único servidor, ela não é considerada uma boa prática de segurança. Dessa forma,na próxima seção, você irá aprender como evitar este problema criando um novo usuário com privilégios especiais.

      Como criar um usuário super administrador do MariaDB

      O ERPNext espera usar o usuário root do MariaDB para o gerenciamento de conexões de banco de dados, mas isso nem sempre é ideal. Para superar essa limitação e deixar um usuário não-root gerenciar o MariaDB, você terá que criar manualmente um banco de dados com o nome do usuário. Depois disso, será capaz de atribuir privilégios especiais ao novo usuário para que ele conduza as operações de banco de dados do ERPNext.

      Abra o prompt do MariaDB:

      Agora, crie um novo banco de dados com o nome do usuário que você deseja atribuir para as conexões do MariaDB. Este tutorial irá usar sammy, mas você está livre para escolher seu próprio nome:

      Confirme se o banco de dados foi criado usando esta declaração SQL:

      Você verá um resultado parecido com este:

      Output

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

      Agora, crie o usuário sammy do MariaDB com privilégios semelhantes ao root e então dê a ele uma senha forte da sua escolha. Mantenha a senha em um lugar seguro; você precisará dela mais tarde:

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

      Agora, confirme tanto a criação do usuário quanto dos privilégios do novo usuário:

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

      Você verá uma saída como esta:

      Output

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

      Em seguida, libere os privilégios para aplicar todas as alterações:

      Depois de terminar, saia da sessão:

      Agora que você criou um usuário do banco de dados, precisa apenas ajustar o MariaDB para garantir uma operação adequada do ERPNext 12. Felizmente, a equipe do ERPNext fornece um excelente modelo de configuração que será usado como um ponto de partida para sua implementação. Na próxima seção, você irá aprender como configurar corretamente o banco de dados do MariaDB usando esse modelo.

      Passo 4 — Configurando o MariaDB para o ERPNext

      Com o MariaDB instalado e protegido, é hora de ajustá-lo para as conexões do ERPNext.

      Primeiro, interrompa o mariadb.service:

      • sudo systemctl stop mariadb

      Agora, use o nano ou seu editor de texto favorito para criar um arquivo de configuração do MariaDB chamado settings.cnf:

      • sudo nano /etc/mysql/conf.d/settings.cnf

      Agora, adicione o modelo de configuração do ERPNext:

      /etc/mysql/conf.d/settings.cnf

      [mysqld]
      
      # GENERAL #
      user                           = mysql
      default-storage-engine         = InnoDB
      socket                         = /var/lib/mysql/mysql.sock
      pid-file                       = /var/lib/mysql/mysql.pid
      
      # MyISAM #
      key-buffer-size                = 32M
      myisam-recover                 = FORCE,BACKUP
      
      # SAFETY #
      max-allowed-packet             = 256M
      max-connect-errors             = 1000000
      innodb                         = FORCE
      
      # DATA STORAGE #
      datadir                        = /var/lib/mysql/
      
      # BINARY LOGGING #
      log-bin                        = /var/lib/mysql/mysql-bin
      expire-logs-days               = 14
      sync-binlog                    = 1
      
      # REPLICATION #
      server-id                      = 1
      
      # CACHES AND LIMITS #
      tmp-table-size                 = 32M
      max-heap-table-size            = 32M
      query-cache-type               = 0
      query-cache-size               = 0
      max-connections                = 500
      thread-cache-size              = 50
      open-files-limit               = 65535
      table-definition-cache         = 4096
      table-open-cache               = 10240
      
      # INNODB #
      innodb-flush-method            = O_DIRECT
      innodb-log-files-in-group      = 2
      innodb-log-file-size           = 512M
      innodb-flush-log-at-trx-commit = 1
      innodb-file-per-table          = 1
      innodb-buffer-pool-size        = 5462M
      innodb-file-format             = barracuda
      innodb-large-prefix            = 1
      collation-server               = utf8mb4_unicode_ci
      character-set-server           = utf8mb4
      character-set-client-handshake = FALSE
      max_allowed_packet             = 256M
      
      # LOGGING #
      log-error                      = /var/lib/mysql/mysql-error.log
      log-queries-not-using-indexes  = 0
      slow-query-log                 = 1
      slow-query-log-file            = /var/lib/mysql/mysql-slow.log
      
      [mysql]
      default-character-set = utf8mb4
      
      [mysqldump]
      max_allowed_packet=256M
      
      !includedir /etc/mysql/mariadb.conf.d/
      

      Salve e feche o arquivo. Para obter informações mais detalhadas sobre essas configurações, revise este arquivo modelo no repositório Github do ERPNext. Ele é um ponto de partida útil para explorar essas opções.

      Em seguida, crie outro arquivo chamado erpnext.cnf:

      • sudo nano /etc/mysql/mariadb.conf.d/erpnext.cnf

      Adicione o conteúdo a seguir ao arquivo:

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

      [mysqld]
      pid-file        = /var/run/mysqld/mysqld.pid
      socket          = /var/run/mysqld/mysqld.sock
      bind-address    = 0.0.0.0
      

      O primeiro arquivo, /etc/mysql/conf.d/settings.cnf complementa e também sobrepõe alguns valores incluídos na configuração padrão do MariaDB localizada em /etc/mysql/my.cnf. Este arquivo oferece um modelo curado que melhora muito o desempenho de banco de dados para o ERPNext. No entanto, tenha em mente que, embora esse modelo seja um ótimo ponto de partida, nada impede que você melhore o desempenho do MariaDB ainda mais ajustando esses parâmetros para atender às suas necessidades.

      O segundo arquivo, o /etc/mysql/mariadb.conf.d/erpnext.cnf, também sobrepõe alguns valores introduzindo informações específicas sobre a sua conexão de banco de dados.

      Testando a conexão do MariaDB

      Como o ERPNext depende da conexão de banco de dados para quase todas as suas operações internas, é uma boa ideia testar a conexão antes de continuar.

      Inicie o mariadb.service:

      • sudo systemctl start mariadb

      Para testar a conexão, use o seguinte comando. Lembre-se de substituir sammy e mariadb_password por suas próprias credenciais:

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

      Você verá um resultado mostrando o conteúdo básico de ajuda do MariaDB, bem como diversos parâmetros. Isso significa que sua conexão foi bem sucedida:

      Output

      mysql Ver 15.1 Distrib 10.4.13-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 Copyright (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 1000000 secure-auth FALSE show-warnings FALSE plugin-dir (No default value) default-auth (No default value) binary-mode FALSE connect-expired-password FALSE

      Se precisar fazer qualquer ajuste nas configurações do MariaDB, ou corrigir qualquer erro, lembre-se de recarregar o serviço usando o seguinte comando:

      • sudo systemctl restart mariadb

      Depois de terminar, ative o MariaDB:

      • sudo systemctl enable mariadb

      Agora que você testou a conexão do banco de dados, continue com a instalação do seu aplicativo ERPNext.

      Passo 5 — Configurando o ERPNext 12

      Agora que o banco de dados está pronto, continue configurando seu aplicativo Web ERPNext. Nesta seção, você irá aprender como instalar e configurar todos os componentes necessários pelo ERPNext 12 e então instalar o próprio aplicativo.

      Comece preparando o servidor com todos os pacotes de sistema exigidos pelo ERPNext 12. Instale as dependências do sistema usando o seguinte comando:

      • sudo DEBIAN_FRONTEND=noninteractive apt install -y curl build-essential mariadb-client 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 libssl1.0-dev python3-mysqldb libdate-manip-perl logwatch

      A variável DEBIAN_FRONTEND=noninteractive foi passada para o comando de instalação para evitar os prompts do Postfix. Para informações detalhadas sobre a configuração do Postfix, leia nosso guia How To Install and Configure Postfix on Ubuntu 18.04.

      Em seguida, atualize o pip3 e então, instale as versões mais recentes de três módulos Python adicionais exigidos pelo ERPNext:

      • sudo -H python3 -m pip install --upgrade setuptools cryptography psutil

      Agora que você instalou todas as dependências globais necessárias, irá instalar todos os serviços e bibliotecas exigidos pelo ERPNext 12.

      Configurando o Node.js e o Yarn

      O ERPNext 12 pode trabalhar com a versão 8+ do ambiente de servidor Node.js. Na verdade, no momento da escrita deste artigo, o script oficial easy_install do ERPNext usa o Node 8. No entanto, do ponto de vista da segurança, é aconselhável instalar uma versão mais recente porque o Node 8 atingiu seu End Of Life (EOL) em 2020 e, portanto, não receberá mais nenhum patch de segurança. Para os fins deste guia, o Node.js versão 12 LTS será instalado juntamente com os gerenciadores de pacotes correspondentes, npm e o yarn. Note que o framework Frappe usa o yarn para instalar dependências. Se você decidir usar um método alternativo de instalação, certifique-se de que você tenha a versão 1.12+ do yarn em execução no seu sistema.

      Adicione o repositório NodeSource ao seu sistema:

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

      Agora, você pode inspecionar o conteúdo do script baixado:

      • sudo nano nodesurce_setup.sh

      Quando estiver satisfeito, execute o script:

      • sudo bash nodesource_setup.sh

      Esse script irá atualizar automaticamente a lista apt. Agora, instale o nodejs em seu servidor:

      Em seguida, instale o yarn globalmente usando o pacote npm incluído:

      Agora que você instalou o Node, siga adiante para configurar o wkhtmltopdf para sua plataforma.

      O ERPNext usa a ferramenta wkhtmltopdf de código aberto para converter conteúdo HTML em PDF usando o mecanismo de renderização Qt WebKit. Esse recurso é usado principalmente para imprimir faturas, cotações e outros relatórios. No caso do ERPNext 12, uma versão específica do wkhtmltopdf é necessária, a 0.12.5 com o Qt implementado.

      Para instalar o wkhtmltopdf, comece indo para um diretório adequado para baixar o pacote. Neste caso, o /tmp:

      Baixe a versão e o pacote apropriados do wkhtmltopdf para o Ubuntu 18.04 da página do projeto:

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

      Agora, instale o pacote usando a ferramenta dpkg:

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

      Em seguida, copie todos os executáveis relevantes para seu diretório /usr/bin/:

      • sudo cp /usr/local/bin/wkhtmlto* /usr/bin/

      Assim que os arquivos estiverem no lugar, mude suas permissões para torná-los executáveis:

      • sudo chmod a+x /usr/bin/wk*

      Agora que o wkhtmltopdf está instalado corretamente, adicionaremos o Redis à pilha do nosso banco de dados.

      Instalando o Redis

      O ERPNext 12 usa o Redis para melhorar o desempenho do MariaDB. Especificamente, ele ajuda com o cache.

      Primeiro, instale o Redis a partir do repositório oficial do Ubuntu 18.04:

      • sudo apt install redis-server

      Em seguida, ative o Redis na inicialização:

      • sudo systemctl enable redis-server

      Agora que você adicionou o Redis à sua pilha, vamos dedicar um momento para resumir o que você fez até agora. Até este ponto, você instalou todos os componentes principais necessários para o ERPNext 12, que incluem:

      • Um backend de banco de dados MariaDB
      • O ambiente de servidor JavaScript Node.js
      • O gerenciador de pacotes Yarn
      • Um cache banco de dados Redis
      • O gerador de documentos PDF wkhtmltopdf

      Se você estiver instalando o sistema ERP para o desenvolvimento ou para a produção, agora está pronto para o próximo passo, que é a instalação do framework full-stack Frappe e o aplicativo Web ERPNext 12 em si.

      Passo 6 — Instalando o Bench CLI do Frappe

      Agora que você instalou todos os requisitos de pilha do ERPNext, libere a flexibilidade do utilitário de linha de comando bench do Frappe. O bench CLI foi projetado com o propósito de ajudar os usuários no processo de instalar, configurar e gerenciar aplicativos como o ERPNext que são baseados no Frappe Framework. Nas próximas seções, você irá instalar o CLI bench e então usá-lo para completar o processo de configuração do ERPNext 12.

      Certifique-se de que o usuário do Frappe (neste caso sammy) tenha os direitos adequados em seu diretório home:

      • sudo chown sammy -R /home/sammy

      Agora, clone o repositório frappe/bench para seu diretório home. Lembre-se de substituir sammy pelo nome de usuário do seu sistema:

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

      Instale o bench CLI:

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

      Este guia assume que você esteja instalando o ERPNext 12 para cenários de teste/produção e, consequentemente,que você esteja usando a ramificação master. Mas se a sua intenção for desenvolver aplicativos ou módulos do ERPNext personalizados, a ramificação develop pode ser uma opção mais adequada. Para ambos os casos, você está agora preparado para instalar o Frappe Framework. Esse será o passo final antes de instalar o próprio ERPNext.

      Configurando o ambiente do Frappe Framework

      Nesta seção, você irá criar um ambiente do Frappe usando o bench CLI.

      Durante a instalação do Frappe, você pode exceder o limite de inspeção de arquivos do Ubuntu, que por padrão é definido como 8192. Para evitar este problema, defina um limite superior usando o seguinte comando:

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

      Em seguida, inicialize o Frappe Framework 12. Substitua Sammy pelo nome de usuário do seu sistema:

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

      Durante a execução, um erro sobre seu caminho pode aparecer, juntamente com vários avisos. Deixe o processo continuar até o fim. Depois que ele for finalizado, você verá um resultado semelhante ao seguinte, indicando que seu ambiente foi criado com sucesso:

      Output

      ... Done in 82.23s. INFO:bench.utils:setting up backups no crontab for sammy SUCCESS: Bench /home/sammy/frappe-bench initialized

      Nota: o processo bench init pode ser interrompido se um erro spawn ENOMEM for encontrado. Esse erro é causado quando seu sistema fica sem memória. Você deve corrigir o problema antes de continuar, seja instalando mais memória física ou alocando um espaço SWAP.

      Vamos dar uma olhada no comando usado para criar o ambiente:

      • /home/sammy/frappe-bench é o caminho onde o Frappe Framework, os sites e aplicativos associados serão instalados. Um novo diretório, chamado frappe-bench neste exemplo, será criado para acomodar todos os arquivos necessários.
      • --frappe-path aponta para o repositório do Frappe, que neste caso é o repositório oficial do Github.
      • --frappe-branch é a versão do Frappe a ser instalada. Como você quer instalar o ERPNext 12, a versão escolhida é o Frappe 12.
      • --python é a versão do Python que será usada. O ERPNext 12 requer o Python 3.6+. No entanto, as versões anteriores ainda usam o Python 2.7.

      Para obter mais informações sobre comandos bench CLI, consulte o Manual dos comandos bench.

      A flexibilidade oferecida pelo Frappe Framework vai muito além do uso de ambientes isolados. Você também pode criar sites diferentes e instalar aplicativos neles.

      Passo 7 — Instalando o aplicativo Web ERPNext 12

      Nesta seção, você irá construir um site baseado no Frappe, e então instalar o aplicativo ERPNext 12 nele.

      Vá para o diretório onde o Frappe foi inicializado.

      • cd /home/sammy/frappe-bench

      Agora, faça o download do ERPNext 12 a partir do seu repositório usando o bench CLI:

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

      Em seguida, crie o novo site, substituindo your_domain pelo domínio que você associou ao IP deste servidor:

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

      Vamos reservar um momento para revisar as opções usadas no comando acima:

      • bench new-site cria um novo site baseado no Frappe Framework.
      • your_domain é o nome para o novo site. Certifique-se de que o DNS do seu domínio tenha um registro A apontando para o IP do seu servidor.
      • erpnext_admin_password é a senha desejada para o usuário Administrator do ERPNext. Mantenha essa senha em um lugar seguro — você precisará dela em breve.
      • mariadb_password é a senha que você criou no início do guia para o usuário sammy do MariaDB.

      Depois disso, instale o aplicativo ERPNext no site:

      • bench --site your_domain install-app erpnext

      Assim que a instalação for concluída, você terá uma aplicação ERPNext 12 funcionando. Agora, vamos testá-lo usando um comando bench:

      O comando acima irá iniciar um console de monitoramento em tempo real mostrando várias mensagens sobre o servidor Web e outros serviços. Abra um navegador Web e vá até localhost:8000 (para instalações locais) ou your_domain:8000 (se você estiver usando um servidor remoto). Você verá a tela de login do ERPNext (abordaremos o login e a configuração em um passo posterior, assim que fizermos nosso site ficar pronto para a produção).

      Depois de visitar sua implantação teste, retorne ao seu terminal e pressione CTRL+C. Isso irá parar o ERPNext e sair do console de monitoramento.

      Se seu objetivo principal for criar módulos ou modificar o ERPNext 12, então pode parar aqui. Não há mais componentes necessários para fins de desenvolvimento. No entanto, se o que você precisa é um sistema pronto para a produção que não requer uma inicialização manual, então será necessário instalar e configurar alguns componentes adicionais. Esse é o seu próximo passo.

      Passo 8 — Configurando o ERPNext 12 para a produção

      Embora a aplicação ERPNext 12 esteja pronta, o sistema como um todo ainda não está completamente preparado para a produção. Para garantir a confiabilidade e a segurança do ERPNext, será necessário habilitar alguns serviços adicionais:

      • O Fail2ban fornece uma camada extra de proteção contra tentativas de força bruta de usuários e bots maliciosos.
      • O Nginx será usado principalmente como um proxy Web, redirecionando todo o tráfego da porta 8000 para a porta 80 (HTTP) ou porta 443 (HTTPS)
      • Supervisor este serviço garante que os processos chave do ERPNext estejam em funcionamento constante, reiniciando-os conforme necessário.

      Até este ponto, você instalou e configurou o ERPNext 12 manualmente, o que lhe permitiu personalizar o processo para funcionar em qualquer caso de uso particular. No entanto, para o resto da configuração de produção, aproveite a conveniência do bench CLI e deixe-o automatizar a instalação e configuração desses serviços restantes.

      Certifique-se de estar no diretório de trabalho do Frappe:

      • cd /home/sammy/frappe-bench

      Agora, use o seguinte comando para terminar a configuração do ERPNext 12 para produção:

      • sudo bench setup production sammy --yes

      O comando acima irá instalar e configurar o Nginx, Supervisor e Fail2Ban e definir sammy como proprietário do ambiente de produção.

      Os arquivos de configuração criados pelo comando bench são:

      • Dois arquivos de configuração do Nginx localizados em /etc/nginx/nginx.conf e /etc/nginx/conf.d/frappe-bench.conf
      • Uma prisão de proxy do Fail2Ban localizada em /etc/fail2ban/jail.d/nginx-proxy.conf e um filtro localizado em /etc/fail2ban/filter.d/nginx-proxy.conf

      Essas configurações padrão serão suficientes para este tutorial, mas é possível explorar e ajustar esses arquivos para atender às suas necessidades. Pare todos os serviços executando:

      • sudo supervisorctl stop all

      Assim que tudo estiver pronto, reinicie seus serviços:

      • sudo supervisorctl start all

      Agora, você está pronto para testar sua instalação.

      Testando sua instalação do ERPNext 12

      Em primeiro lugar, verifique se os principais serviços de produção estão em execução usando o seguinte comando systemctl e então fazendo pipe dele para o grep:

      • systemctl list-unit-files | grep 'fail2ban|nginx|supervisor'

      Você verá uma saída como esta:

      Output

      fail2ban.service enabled nginx.service enabled supervisor.service enabled

      Depois de confirmar que tudo está funcionando como esperado, você pode testar o ERPNext 12 ao vivo em seu servidor. Abra seu navegador favorito e navegue até o domínio onde você está hospedando sua aplicação ERPNext 12.

      Depois de alguns segundos, a tela de login do ERPNext 12 deve aparecer. Use Administrator para o nome de usuário e erpnext_admin_password que você criou anteriormente para a senha.

      Tela de login do ERPNext

      Na próxima tela, você verá um menu suspenso onde pode selecionar o idioma da interface do usuário para o aplicativo:

      Seleção de idiomas

      Após a seleção de idiomas, o ERPNext irá questioná-lo sobre seu país, fuso horário e moeda:

      Selecione sua região

      Depois de completar as informações sobre a sua região, você será capaz de criar o primeiro usuário do ERPNext. As informações que você fornecer serão usadas como as credenciais de login do usuário.

      Primeiro usuário do ERPNext

      Na próxima tela, você será questionado sobre o que o ERPNext chama de Domains (domínios). Se não tiver certeza sobre qual é o seu domínio, selecione Distribution e clique no botão Next.

      Selecionar seus domínios

      Em seguida, será necessário fornecer um nome e abreviação da empresa.

      Nome da empresa

      Na última tela, o ERPNext irá perguntar o que sua empresa faz, o nome do seu banco, o tipo de gráficos de contas e o período do ano fiscal. Você será capaz de inserir bancos adicionais mais tarde. Por enquanto, preencha todos os campos como quiser e clique no botão Complete Setup.

      Informações financeiras

      Em seguida, você verá uma barra de progresso.

      Configurando o ERPNext

      Assim que o processo de configuração for concluído, o painel principal do ERPNext 12 será exibido.

      Painel do ERPNext 12

      Agora, você terminou de instalar e configurar totalmente um aplicativo ERPNext 12.

      Conclusão

      Agora que você instalou corretamente seu aplicativo ERPNext 12, pode ser desejável iniciar a implementação do sistema para as necessidades do seu negócio. Um bom ponto de partida é clicando no botão Getting Started no painel do ERPNext. O ERPNext irá então ajudá-lo a configurar a plataforma para todas as suas necessidades de negócios e e-commerce.

      Getting Started

      Pode ser que você também queira aumentar a velocidade do ERPNext. Se for esse o caso, então você pode ler sobre Ajuste de Desempenho do ERPNext, que irá guiá-lo pelas práticas recomendadas e em como depurar problemas relacionados ao desempenho.



      Source link