GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar el software de gestión empresarial Flectra con Nginx en CentOS 8

Flectra es un software de gestión empresarial de código abierto y de última generación que combina los sistemas CRM y ERP en un solo paquete. Su objetivo es permitir que los usuarios modifiquen el sistema según sus necesidades comerciales y puedan agregar fácilmente más herramientas para escalar su negocio. En términos simples, Flectra le brinda una plataforma integral para que pueda modificar o configurar fácilmente según sus requisitos. Flectra proporciona una gran cantidad de funciones, como contabilidad, comercio electrónico, gestión de inventario, marketing, gestión de proyectos, CRM, informes, gestión de licencias y muchas más.

En este tutorial, le mostraremos cómo instalar Flectra con Nginx en CentOS 8.

Requisitos

  • Un servidor que ejecuta CentOS 8 con un mínimo de 4 GB de RAM.
  • Una contraseña de root está configurada en su servidor.

Cómo empezar

Primero, deberá actualizar los paquetes de su sistema a la última versión. Puedes hacerlo con el siguiente comando:

dnf update -y

Después de actualizar todos los paquetes, se recomienda deshabilitar SELinux en su sistema. Puede desactivarlo editando el archivo /etc/selinux/config:

nano /etc/selinux/config

Cambie la siguiente línea:

SELINUX=disabled

Guarde y cierre el archivo, luego reinicie su servidor para aplicar los cambios.

Instalar dependencias de Python

A continuación, deberá instalar Python y otras dependencias de Flectra en su sistema. Puede instalarlos todos ejecutando el siguiente comando:

dnf install python36 python36-devel git gcc wget nodejs libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel -y

Una vez que todos los paquetes estén instalados, ejecute el siguiente comando para instalar el módulo Node.js:

npm install -g less

A continuación, también deberá instalar el paquete wkhtmltopdf en su sistema. Puedes descargarlo desde su página oficial de descargas:

Una vez descargado, instale el archivo descargado con el siguiente comando:

dnf localinstall wkhtmltox-0.12.6-1.centos8.x86_64.rpm

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar PostgreSQL

Flectra utiliza PostgreSQL como base de datos. Por lo tanto, deberá instalarlo en su servidor. Puede instalarlo con el siguiente comando:

dnf install postgresql-server -y

Después de instalar el servidor PostgreSQL, inicialice la base de datos con el siguiente comando:

postgresql-setup --initdb --unit postgresql

Deberías obtener el siguiente resultado:

 * Initializing database in '/var/lib/pgsql/data'
 * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log

A continuación, inicie el servicio PostgreSQL y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start postgresql
systemctl enable postgresql

A continuación, verifique el estado del servicio de PostgreSQL con el siguiente comando:

systemctl status postgresql-12

Deberías obtener el siguiente resultado:

? postgresql-12.service - PostgreSQL 12 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-12.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-08-13 04:39:31 EDT; 7s ago
     Docs: https://www.postgresql.org/docs/12/static/
  Process: 1176 ExecStartPre=/usr/pgsql-12/bin/postgresql-12-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 1182 (postmaster)
    Tasks: 8 (limit: 12537)
   Memory: 17.3M
   CGroup: /system.slice/postgresql-12.service
           ??1182 /usr/pgsql-12/bin/postmaster -D /var/lib/pgsql/12/data/
           ??1183 postgres: logger   
           ??1185 postgres: checkpointer   
           ??1186 postgres: background writer   
           ??1187 postgres: walwriter   
           ??1188 postgres: autovacuum launcher   
           ??1189 postgres: stats collector   
           ??1190 postgres: logical replication launcher   

Aug 13 04:39:31 centos8 systemd[1]: Starting PostgreSQL 12 database server...
Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.136 EDT [1182] LOG:  starting PostgreSQL 12.3 on x86_64-pc-linux-gnu, compiled b>
Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.137 EDT [1182] LOG:  listening on IPv6 address "::1", port 5432
Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.137 EDT [1182] LOG:  listening on IPv4 address "127.0.0.1", port 5432
Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.139 EDT [1182] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.142 EDT [1182] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.161 EDT [1182] LOG:  redirecting log output to logging collector process
Aug 13 04:39:31 centos8 postmaster[1182]: 2020-08-13 04:39:31.161 EDT [1182] HINT:  Future log output will appear in directory "log".
Aug 13 04:39:31 centos8 systemd[1]: Started PostgreSQL 12 database server.

A continuación, deberá crear un nuevo usuario de PostgreSQL para Flectra. Puedes crearlo con el siguiente comando:

su - postgres -c "createuser -s flectra"

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar Flectra

Antes de instalar Flectra, deberá crear un usuario independiente para Flectra. Puedes crearlo usando el siguiente comando:

useradd -m -U -r -d /opt/flectra -s /bin/bash flectra

Nota:asegúrese de que el nombre de usuario debe ser el mismo que el usuario de PostgreSQL.

A continuación, inicie sesión con el usuario de Flectra y descargue Flectra desde el repositorio de Git con el siguiente comando:

su - flectra
git clone --depth=1 --branch=1.0 https://gitlab.com/flectra-hq/flectra.git flectra

A continuación, cree un entorno virtual para Flectra con el siguiente comando:

python3 -m venv my-flectra

A continuación, active el entorno virtual con el siguiente comando:

source my-flectra/bin/activate

A continuación, instale todos los módulos de Python ejecutando el siguiente comando:

pip3 install -r flectra/requirements.txt

Una vez que todos los módulos estén instalados, desactive el entorno virtual con el siguiente comando:

deactivate

Luego, salga del usuario de Flectra usando el siguiente comando:

exit

Configurar Flectra

Primero, deberá crear algunos directorios para los complementos de Flectra, el archivo de configuración y el registro. Puede crearlos con el siguiente comando:

mkdir /opt/flectra/flectra-custom-addons
mkdir /var/log/flectra
mkdir /etc/flectra
touch /var/log/flectra/flectra.log

Luego, cambie la propiedad de los directorios anteriores a flectra usando el siguiente comando:

chown -R flectra:flectra /opt/flectra/flectra-custom-addons
chown -R flectra:flectra /var/log/flectra/
chown -R flectra:flectra /etc/flectra

A continuación, cree un archivo de configuración de Flectra con el siguiente comando:

nano /etc/flectra/flectra.conf

Agregue las siguientes líneas:

[options]
admin_passwd = your-flectra-password
db_host = False
db_port = False
db_user = flectra
db_password = False
logfile = /var/log/flectra/flectra.log
logrotate = True
proxy_mode = True
addons_path = /opt/flectra/flectra/addons, /opt/flectra/flectra-custom-addons

Guarde y cierre el archivo cuando haya terminado.

Crear archivo de servicio de Systemd para Flectra

A continuación, deberá crear un archivo de servicio systemd para que Flectra administre el servicio Flectra. Puedes crearlo con el siguiente comando:

nano /etc/systemd/system/flectra.service

Agregue las siguientes líneas:

[Unit]
Description=flectra
#Requires=postgresql-10.6.service
#After=network.target postgresql-10.6.service

[Service]
Type=simple
SyslogIdentifier=flectra
PermissionsStartOnly=true
User=flectra
Group=flectra
ExecStart=/opt/flectra/my-flectra/bin/python3 /opt/flectra/flectra/flectra-bin -c /etc/flectra/flectra.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo cuando haya terminado. Luego, vuelva a cargar el demonio systemd con el siguiente comando:

systemctl daemon-reload

A continuación, inicie el servicio Flectra y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start flectra
systemctl enable flectra

Ahora puede verificar el estado del servicio Flectra con el siguiente comando:

systemctl status flectra

Si todo está bien, debería obtener el siguiente resultado:

? flectra.service - flectra
   Loaded: loaded (/etc/systemd/system/flectra.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-08-13 05:34:15 EDT; 1min 3s ago
 Main PID: 10917 (python3)
    Tasks: 4 (limit: 25028)
   Memory: 57.9M
   CGroup: /system.slice/flectra.service
           ??10917 /opt/flectra/my-flectra/bin/python3 /opt/flectra/flectra/flectra-bin -c /etc/flectra/flectra.conf

Aug 13 05:34:15 centos8 systemd[1]: Started flectra.

Ahora, Flectra se está ejecutando y escuchando en el puerto 7073. Puede verificarlo con el siguiente comando:

netstat -plntu | grep 7073

Debería ver el siguiente resultado:

tcp        0      0 0.0.0.0:7073            0.0.0.0:*               LISTEN      10917/python3

Configurar Nginx para Flectra

A continuación, deberá configurar Nginx como un proxy inverso para Flectra. Entonces puedes acceder a Flectra usando el puerto 80.

Primero, instale el servidor web Nginx usando el siguiente comando:

dnf install nginx -y

Después de instalar Nginx, inicie el servicio Nginx y habilítelo para que se inicie al reiniciar el sistema:

systemctl start nginx
systemctl enable nginx

A continuación, cree un nuevo archivo de configuración de host virtual Nginx para Flectra:

nano /etc/nginx/conf.d/flectra.conf

Agregue las siguientes líneas:

#flectra server
upstream flectra {
 server 127.0.0.1:7073;
}

server {
   listen 80;
   server_name flectra.your-domain.com;

proxy_read_timeout 720s;
 proxy_connect_timeout 720s;
 proxy_send_timeout 720s;

 # Add Headers for flectra proxy mode
 proxy_set_header X-Forwarded-Host $host;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-Forwarded-Proto $scheme;
 proxy_set_header X-Real-IP $remote_addr;

 # log
 access_log /var/log/nginx/flectra.access.log;
 error_log /var/log/nginx/flectra.error.log;

 # Redirect requests to flectra backend server
 location / {
   proxy_redirect off;
   proxy_pass http://flectra;
 }

 # common gzip
 gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
 gzip on;
}

Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio Nginx para aplicar los cambios:

systemctl restart nginx

En este punto, el servidor web Nginx está configurado para servir a Flectra. Ahora puede continuar con el siguiente paso.

Acceder a la interfaz de usuario web de Flectra

Ahora, abra su navegador web y escriba la URL http://flectra.your-domain.com. Será redirigido a la siguiente pantalla:

Proporcione su contraseña maestra que ha definido en el archivo de configuración, detalles de la base de datos, correo electrónico, contraseña y haga clic en Crear base de datos botón. Debería ver el panel de Flectra como se muestra en la siguiente pantalla:

Conclusión

¡Felicidades! Ha instalado correctamente Flectra con Nginx en CentOS 8. Ahora puede alojar su propio sistema de información comercial Flectra y hacer crecer su negocio con el poderoso diseño modular de Flectra y toneladas de complementos. Para obtener más información sobre Flectra, puede leer la documentación oficial de Flectra.


Cent OS
  1. Cómo instalar WordPress con Nginx en CentOS 7

  2. Cómo instalar phpMyAdmin con Nginx en CentOS 7 / RHEL 7

  3. Cómo instalar el software de gestión de proyectos MyCollab en CentOS 7

  4. Cómo instalar Sitemagic CMS en CentOS 7 – Con Nginx

  5. Cómo instalar Flectra en CentOS 8 con Nginx como proxy inverso

Cómo instalar Odoo 12 con PostgreSQL 11 en CentOS 7

Cómo instalar PostgreSQL con pgAdmin en CentOS 8

Cómo instalar Nginx con ngx_pagespeed en CentOS

Cómo instalar Nginx con PHP-FastCGI en CentOS 6

Cómo instalar Magento con Nginx en CentOS 7

Cómo instalar Laravel con Nginx en CentOS 8