ERPNiguiente es un marco ERP completamente robusto destinado a pequeñas y medianas empresas. Cubre una amplia variedad de funciones, que incluyen contabilidad, CRM, inventario, ventas, compras, fabricación, proyectos, recursos humanos y nómina, sitio web, comercio electrónico y más, todo lo cual lo hace profundamente adaptable y ampliable.
ERPNext está desarrollado en Python y depende de Frappe Framework. Utiliza Node.js para el front-end, Nginx para el servidor web, Redis para el almacenamiento en caché y MariaDB para la base de datos.
ERPNext es de código abierto bajo la licencia pública general GNU v3.
En este artículo, le mostraremos cómo instalar ERPNext en CentOS 8 en uno de nuestros servidores de alojamiento ERPNext optimizados.
Requisitos previos:
Asegúrese de que su servidor cumpla con los siguientes requisitos.
- 2 GB de RAM o superior
- 2 o más núcleos de CPU
- Instalación nueva de CentOS 8
- Acceso raíz completo
Preparar y Actualizar el Sistema e Instalar las Dependencias
Inicie sesión en su servidor a través de SSH:
ssh username@server_ip
Antes de comenzar con la instalación de ERPNext, es una buena idea actualizar los paquetes del sistema a sus últimas versiones.
sudo yum update -y
Instale el repositorio de paquetes adicionales:
sudo yum install -y epel-release
Podemos configurar ERPNext en dos entornos, desarrollo y producción. Para el entorno de desarrollo, no habrá no Nginx installed
y necesita iniciar ERPNext manualmente. Para un entorno de producción, Nginx is installed
y el proceso será administrado por supervisor
. Aprenderá más sobre el supervisor más adelante en este tutorial.
Al instalar en un entorno de producción, debemos asegurarnos de uninstall Apache
primero, ya que la secuencia de comandos del instalador configurará Nginx. También se recomienda uninstall MariaDB
para evitar conflictos durante la instalación tanto para la producción como para el desarrollo. Para un entorno de desarrollo, es seguro dejar Apache instalado y ejecutándose, ya que Nginx no se instalará.
Para detener y desinstalar Apache (required for production set up only)
:
sudo systemctl stop httpd sudo yum remove -y httpd httpd-tools apr apr-util
Para detener y desinstalar MariaDB (recommended for both development and production setup)
:
sudo systemctl stop mariadb sudo yum remove -y mariadb mariadb-server sudo rm -rf /var/lib/mysql /etc/my.cnf
Instale los paquetes necesarios junto con MariaDB, Nginx, NodeJS, redis:
sudo yum install -y gcc make git mariadb mariadb-server nginx supervisor python3 python3-devel python2 python2-devel redis nodejs
Instalar el Administrador de paquetes de Yarn:
sudo npm install -g yarn
Deshabilitar SELinux
Para evitar configurar un conjunto de reglas complejo de SELinux, tendríamos que deshabilitarlo. Deshabilitar SELinux en CentOS 7 es una tarea bastante fácil. Puedes hacerlo con un comando:
echo 0 > /selinux/enforce
Como alternativa, puede utilizar el siguiente comando:
setenforce 0
Ahora, verifique el estado nuevamente y asegúrese de que esté deshabilitado.
Tenga en cuenta que esto deshabilitará SELinux solo temporalmente. Si desea deshabilitarlo permanentemente, deberá realizar los siguientes pasos:
Abra el /etc/sysconfig/selinux
archivo para editar con un editor de texto de su elección. Usaremos vim
en el siguiente ejemplo.
vim /etc/sysconfig/selinux
Una vez que abra el archivo, cambie la siguiente línea:
SELINUX=enforcing
a
SELINUX=disabled
Luego guarde y cierre el archivo.
Instalar ERPNext
Creando ERPNext usuario
Una vez que hayamos instalado los paquetes requeridos podemos comenzar con la instalación de ERPNext.
Necesitaríamos un usuario que estará dedicado a la instancia ERPNext y tendrá acceso sudo:
sudo useradd -m erp -G wheel
La configuración predeterminada de sudo requiere que ingresemos la contraseña cuando emitimos el comando. Puedes evitar eso con:
sudo sed -i 's/^#\s*\(%wheel\s\+ALL=(ALL)\s\+NOPASSWD:\s\+ALL\)/\1/' /etc/sudoers
Necesitamos establecer parámetros de kernel adicionales:
echo "vm.overcommit_memory = 1" | sudo tee -a /etc/sysctl.conf echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" | sudo tee -a /etc/rc.d/rc.local sudo chmod 755 /etc/rc.d/rc.local
Necesitamos hacer un reinicio para que la configuración del kernel pueda tener efecto.
Configurar MariaDB (fork MySQL) para ERPNext
A diferencia de otras aplicaciones ERP, ERPNext admite MariaDB para almacenar la parte persistente de los datos. Previamente instalamos la última versión disponible de MariaDB para CentOS 8 y ahora necesitamos configurarlo para ERPNext.
Cree un archivo de configuración para ERPNext para MariaDB:
cat <<EOF >/etc/my.cnf.d/erpnext.cnf
[mysqld]
innodb-file-format=barracuda innodb-file-per-table=1 innodb-large-prefix=1 character-set-client-handshake =FALSE character-set-server =utf8mb4 collation-server =utf8mb4_unicode_ci
[mysql]
conjunto de caracteres predeterminado =utf8mb4 EOF
Habilite e inicie el servicio MariaDB:
sudo systemctl enable mariadb sudo systemctl start mariadb
Inicie el script de instalación segura de MariaDB (asegúrese de recordar la contraseña raíz de MariaDB). Además, utilice siempre contraseñas seguras si se le solicita:
sudo mysql_secure_installation
Instalar ERPNext
Instalaremos ERPNext bajo el nuevo usuario que hemos creado, erp.
Cambie al usuario ERPNext y cambie el directorio de trabajo a su directorio de inicio:
su - erp
Instale frappe-bench con pip3 e inicialice la versión 12:
pip3 install --user frappe-bench bench init frappe-bench --frappe-branch version-12
Cuando finalice la inicialización, recibirá el siguiente mensaje:
SUCCESS: Bench frappe-bench initialized
Con el frappe-bench inicializado podemos crear un nuevo sitio frappe para nuestra instancia ERPNext.
Necesitamos iniciar el servidor de desarrollo frappe:
cd frappe-bench sed -i '/web:/ s/$/ --noreload/' Procfile bench start >/tmp/bench_log &
Necesitamos crear un nuevo sitio con nuestro nombre de dominio/subdominio:
bench new-site erp.rosehosting.com
Recibiremos un mensaje para la contraseña de MySQL que hemos ingresado anteriormente. Introduzca la contraseña raíz de MySQL.
Ahora estamos listos para descargar e instalar ERPNext a través de Bench.
Primero descargue la última versión de ERPNext con banco:
bench get-app erpnext --branch version-12
Una vez descargado instalarlo:
bench install-app erpnext
Ahora estamos listos para comenzar y usar ERPNext
Iniciando ERPNext
En la configuración de un entorno de desarrollo, se requiere iniciar la aplicación ERPNext manualmente. La aplicación ERPNext escucha en el puerto 8000.
Desarrollo
su - erp cd frappe-bench bench start >/tmp/bench_log &
Ahora puede acceder a su configuración en:
http://[domain]:8000 Login: Administrator Password: The one that you input during installation
Producción
En algún momento querríamos ERPNext en modo de producción.
Para eso necesitaríamos crear archivos de producción para supervisor y nginx:
su - erp cd frappe-bench bench setup supervisor bench setup nginx
Agregue un enlace de los archivos de configuración recién creados a sus respectivos servicios:
sudo ln -s `pwd`/config/supervisor.conf /etc/supervisord.d/frappe-bench.ini sudo ln -s `pwd`/config/nginx.conf /etc/nginx/conf.d/frappe-bench.conf
Cambie el propietario del proceso nginx para que sea erp editando /etc/nginx/conf/nginx.conf
y cambiando la directiva de usuario a:
user erp erp;
Supervisor es un sistema de control de procesos que le permite monitorear y controlar procesos en sistemas que ejecutan Linux. Cuando el supervisor se está ejecutando, iniciará automáticamente la aplicación en el arranque y manejará las fallas del proceso. El script del instalador configuró automáticamente el supervisor para su aplicación ERPNext.
Ahora puede habilitar e iniciar supervisor y Nginx:
sudo systemctl enable supervisord sudo systemctl start supervisord sudo systemctl enable nginx sudo systemctl start nginx
Ahora puede iniciar sesión en su sitio web de producción without using port 8000
ya que el servidor web Nginx ya está configurado como proxy inverso para el puerto 8000.
Después de iniciar sesión, debería poder finalizar la configuración inicial de su aplicación ERPNext.
Por supuesto, no tiene que instalar ERPNext en CentOS 8 si tienes un VPS ERPNext con nosotros. Simplemente puede pedirle a nuestro equipo de soporte que instale ERPNext en CentOS 8 por usted. Están disponibles las 24 horas del día, los 7 días de la semana y podrán ayudarlo con la instalación.
PD . Si disfrutó leyendo esta publicación de blog sobre cómo instalar ERPNext en CentOS 8, siéntase libre de compartirla en las redes sociales utilizando los accesos directos a continuación, o simplemente deje un comentario. Gracias.