Flectra es una herramienta de gestión empresarial de código abierto, poderosa y personalizable que lo ayuda a hacer crecer su negocio a través de su poderoso diseño modular que cubre todos los aspectos esenciales de la mayoría de las empresas.
Flectra integra las capacidades de los sistemas CRM y ERP en un solo paquete. Flectra lo ayuda a modificar y adaptar su sistema para satisfacer las necesidades únicas de su negocio. Esto lo convierte en el paquete de aplicaciones empresariales definitivo que le brinda una plataforma de gestión empresarial escalable que le brinda toda la libertad para hacer que el software funcione para usted y la configuración de su empresa.
Flectra ofrece varias características que cubren casi todos los casos de uso, incluidos comercio electrónico, contabilidad, gestión de ventas, sitios web, marketing, gestión de inventario, MRP, informes, hojas de tiempo y mucho más.
En este tutorial, le mostraremos cómo instalar Flectra en un VPS CentOS 8 utilizando Nginx como proxy inverso.
Requisitos
- Un VPS CentOS 8 con acceso raíz habilitado o un usuario con privilegios sudo.
- Un mínimo de 2 GB de RAM. Para ello, utilizaremos nuestro plan SSD 2 VPS.
Paso 1:Primeros pasos
Primero, deberá iniciar sesión en su CentOS 8 VPS a través de SSH como usuario raíz:
ssh root@IP_ADDRESS -p PORT_NUMBER
Cambie los valores en rojo a los valores correctos para su VPS.
A continuación, ejecute el siguiente comando para actualizar todos los paquetes instalados en su VPS:
dnf update -y
Una vez que todos los paquetes estén actualizados, es necesario deshabilitar SELinux en su sistema. Puede desactivarlo editando el archivo de configuración que se encuentra en /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.
Paso 2:Instale las dependencias requeridas
A continuación, deberá instalar Python y otras dependencias de Flectra en su sistema. Puede instalarlos todos de una sola vez 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 Node.js
módulo:
npm install -g less
A continuación, también deberá instalar el wkhtmltopdf
paquete en su sistema (representa documentos html como PDF) Puede descargarlo con el siguiente comando:
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
A continuación, instale el archivo descargado con el siguiente comando:
dnf localinstall wkhtmltox-0.12.5-1.centos7.x86_64.rpm
Una vez que haya terminado, puede continuar con el siguiente paso.
Paso 3:Instalar PostgreSQL
A continuación, deberá instalar PostgreSQL para que funcione como back-end de la base de datos. Puede instalarlo con el siguiente comando:
dnf install -y postgresql-server
Una vez instalado, 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 en el arranque con los siguientes comandos:
systemctl start postgresql systemctl enable postgresql
A continuación, inicie sesión en el shell de PostgreSQL y cree un nuevo usuario de PostgreSQL con el siguiente comando. Estamos usando el nombre flectra
, pero puedes usar el nombre que quieras:
su - postgres -c "createuser -s flectra"
Paso 4:Instalar Flectra
Finalmente, después de configurar todo el software requerido, ahora podemos instalar Flectra en nuestro sistema. Cree un usuario separado para Flectra usando el siguiente comando. Estamos usando el nombre flectra
porque los nombres entre este y PostgreSQL tienen que coincidir. Asegúrese de que el nombre de usuario que elija sea el mismo que el usuario de PostgreSQL que creó anteriormente:
useradd -m -U -r -d /opt/flectra -s /bin/bash flectra
Luego inicie sesión con el usuario de Flectra y descargue Flectra del repositorio de Git:
su - flectra git clone --depth=1 --branch=1.0 https://gitlab.com/flectra-hq/flectra.git flectra
Después de eso, cree un entorno virtual para Flectra, lo llamaremos flectra-venv
, pero puedes usar el nombre que quieras:
python3 -m venv flectra-venv
Ahora, active el entorno virtual con el siguiente comando:
source flectra-venv/bin/activate
Luego, instale todos los módulos de Python con el siguiente comando. Python leerá el archivo e instalará todo lo que Flectra necesita:
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
Finalmente, salga del usuario de Flectra usando el siguiente comando:
exit
Paso 5:Configurar Flectra
Flectra ya está instalado, pero todavía tenemos que configurarlo. Primero, deberá crear varios directorios para complementos, archivos de configuración y registros de Flectra. Puede crearlos con el siguiente comando. Elegimos estas ubicaciones comunes, pero puede crear estas carpetas y archivos en cualquier lugar que desee:
mkdir /opt/flectra/flectra-custom-addons mkdir /var/log/flectra mkdir /etc/flectra touch /var/log/flectra/flectra.log
A continuación, cambie la propiedad de los directorios anteriores a flectra:
chown -R flectra:flectra /opt/flectra/flectra-custom-addons chown -R flectra:flectra /var/log/flectra/ chown -R flectra:flectra /etc/flectra
Una vez hecho esto, cree un archivo de configuración de Flectra con el siguiente comando:
nano /etc/flectra/flectra.conf
Agregue las siguientes líneas:cambie el admin_passwd
campo para contener la contraseña que desea utilizar para la cuenta de administrador. Además, cambie las rutas de los archivos/carpetas si elige ubicaciones diferentes a las de este tutorial:
[options] admin_passwd = your-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.
Paso 6:Cree un archivo Systemd para Flectra
A continuación, cree un archivo de servicio systemd para que Flectra administre el servicio Flectra.
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/flectra-venv/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 una vez que haya terminado. Luego, vuelva a cargar el demonio systemd con el siguiente comando. Esto es necesario para que systemd pueda reconocer y aceptar el servicio recién agregado:
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
También puedes verificar el estado de tu servicio Flectra con el siguiente comando:
systemctl status flectra
Deberías obtener el siguiente resultado:
● flectra.service - flectra Loaded: loaded (/etc/systemd/system/flectra.service; disabled; vendor preset: disabled) Active: active (running) since Sun 2020-06-28 03:23:58 EDT; 7s ago Main PID: 25512 (python3) Tasks: 4 (limit: 12537) Memory: 90.8M CGroup: /system.slice/flectra.service └─25512 /opt/flectra/flectra-venv/bin/python3 /opt/flectra/flectra/flectra-bin -c /etc/flectra/flectra.conf Jun 28 03:23:58 centos8 systemd[1]: Started flectra. Jun 28 03:24:00 centos8 flectra[25512]: 2020-06-28 07:24:00,365 25512 INFO ? flectra: Flectra version 1.7 Jun 28 03:24:00 centos8 flectra[25512]: 2020-06-28 07:24:00,368 25512 INFO ? flectra: Using configuration file at /etc/flectra/flectra.conf Jun 28 03:24:00 centos8 flectra[25512]: 2020-06-28 07:24:00,368 25512 INFO ? flectra: addons paths: ['/opt/flectra/.local/share/Flectra/addons> Jun 28 03:24:00 centos8 flectra[25512]: 2020-06-28 07:24:00,369 25512 INFO ? flectra: database: flectra@default:default Jun 28 03:24:00 centos8 flectra[25512]: 2020-06-28 07:24:00,495 25512 INFO ? flectra.service.server: HTTP service (werkzeug) running on centos> Jun 28 03:24:00 centos8 flectra[25512]: 2020-06-28 07:24:00,719 25512 INFO ? flectra.addons.base.ir.ir_actions_report: Will use the Wkhtmltopd>
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 25967/python3
Paso 6:Configure Nginx como proxy inverso para Flectra
Su instalación de Flectra ahora está completa y configurada, pero actualmente debe usar la dirección IP de su VPS seguida del puerto 7073 para acceder a él. Si bien eso funciona, el caso de uso habitual es querer que sea accesible a través de un nombre de dominio sin necesidad de un número de puerto. Por eso, es una buena idea configurar Nginx como un proxy inverso para servir a Flectra a través del puerto 80.
Primero, instale el servidor web Nginx usando el siguiente comando:
dnf install nginx -y
Una vez instalado, 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.example.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; }
Asegúrate de reemplazar flectra.example.com
con el nombre de su nombre de dominio registrado. Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio Nginx para aplicar los cambios:
systemctl restart nginx
Paso 7:Acceda a la interfaz web de Flectra
En este punto, Flectra está instalado y configurado, y ahora Nginx lo sirve a través de un proxy inverso. Ahora, abra su navegador web y escriba la URL http://flectra.example.com
(por supuesto, su dominio será diferente a este). Será redirigido a la siguiente página de configuración:
Proporcione su contraseña maestra, detalles de la base de datos, correo electrónico y contraseña y haga clic en Crear base de datos botón. Luego será redirigido al tablero de Flectra, como se muestra a continuación:
¡Eso es todo al respecto! Ahora puede instalar los módulos que mejor se adapten a su negocio y ser productivo con Flectra.
Si bien este artículo le permite instalar Flectra por su cuenta, no tiene que instalar Flectra en CentOS 8 si usa uno de nuestros servicios de alojamiento VPS de Flectra, en cuyo caso simplemente puede pedirle a nuestro equipo de administradores expertos de Linux que instale y configure Flectra para ti. Nuestro equipo de soporte totalmente administrado está disponible las 24 horas, los 7 días de la semana y se ocupará de su solicitud de inmediato, junto con cualquier otra cosa que pueda necesitar.
PD . Si le gustó esta publicación sobre cómo instalar Flectra en CentOS 8, compártala con sus amigos a través de las redes sociales utilizando los accesos directos para compartir a continuación, o simplemente deje una respuesta en la sección de comentarios. Gracias.