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