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

Detalles de la base de datos

Flectra es un software de gesti贸n empresarial de c贸digo abierto y de pr贸xima 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 ofrece muchas 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 previos

  • Un servidor que ejecute CentOS 8 con un m铆nimo de 4 GB de RAM.
  • Una contrase帽a de root est谩 configurada en su servidor.

Empezando

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

Cambia la siguiente l铆nea:

SELINUX=disabled

Guarde y cierre el archivo y 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 sitio oficial. descargar p谩gina:

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. Puedes 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 separado 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 del 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:Publicidad

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. Puedes 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 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 al 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:

Detalles de la base de datos

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 el Crear base de datos bot贸n. Deber铆a ver el tablero de Flectra como se muestra en la siguiente pantalla:

FlectraCRM y ERP

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 m谩s informaci贸n sobre Flectra, puedes leer el Flectra documentaci贸n oficial.

Deja una respuesta

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