Flectra es un software de CRM y ERP gratuito y de código abierto que brinda mucha flexibilidad y personalización que le permite satisfacer las necesidades únicas de su negocio.
Flectra está construido utilizando el lenguaje de programación Python y PostgreSQL como base de datos. Este software tiene como objetivo ayudar a casi todos, ya sea una pequeña empresa emergente o una gran corporación. Flectra tiene una interfaz simple y fácil de usar y un diseño modular que le permite agregar o quitar herramientas para que funcione como lo necesita.
Flectra es una bifurcación de Odoo Community y su objetivo principal era implementar muchas funciones de Odoo Enterprise y mantenerlo abierto para que todos lo usaran.
En este tutorial, explicaremos cómo instalar Flectra en un VPS Ubuntu 20.04 usando Nginx como proxy inverso. El proxy inverso le permitirá acceder a su instancia de Flectra desde un nombre de dominio mientras usa el número de puerto predeterminado. Comencemos.
Requisitos
- Un VPS Ubuntu 20.04 recién instalado con acceso raíz habilitado o un usuario con privilegios sudo. Incluimos acceso raíz en todos nuestros VPS.
- Mínimo 2 GB de RAM. Para ello, utilizaremos nuestro plan SSD 2 VPS.
Paso 1:inicie sesión a través de SSH y actualice su sistema
Primero, deberá iniciar sesión en su Ubuntu 20.04 VPS a través de SSH como usuario raíz:
ssh root@IP_ADDRESS -p PORT_NUMBER
Reemplace los valores en rojo con la dirección IP y el número de puerto SSH para su VPS o servidor. El número de puerto SSH predeterminado casi siempre es 22.
A continuación, ejecute los siguientes comandos para actualizar todos los paquetes instalados en su VPS:
apt-get update -y apt-get upgrade -y
Una vez que todos los paquetes estén actualizados, reinicie su sistema para asegurarse de que todos los paquetes estén usando la última versión.
Paso 2:instalar las dependencias requeridas
Para comenzar, deberá instalar el paquete Python y algunas otras dependencias de Flectra en su sistema. Puede instalarlos todos usando el siguiente comando:
apt-get install gcc python3-venv build-essential python3-pillow python3-wheel python3-lxml python3-dev python3-pip python3-setuptools npm nodejs git gdebi libldap2-dev libsasl2-dev libxml2-dev libxslt1-dev libjpeg-dev libpq-dev -y
Una vez que todas las dependencias estén instaladas, deberá instalar wkhtmltopdf
herramienta en su sistema.
Puede descargarlo e instalarlo con el siguiente comando:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb apt install ./wkhtmltox_0.12.5-1.bionic_amd64.deb
Una vez instalado, puede continuar con el siguiente paso.
Paso 3:instalar PostgreSQL
Flectra requiere PostgreSQL para almacenar sus datos en una base de datos. Puede instalarlo con el siguiente comando:
apt-get install postgresql -y
Una vez completada la instalación, use la utilidad PostgreSQL y cree un usuario para Flectra con el siguiente comando. Nombramos a nuestro usuario flectra
, pero puedes usar el nombre que quieras:
su - postgres -c "createuser -s flectra"
Paso 4:instalar Flectra
Primero, cree un usuario separado para Flectra con el siguiente comando. El nombre de este usuario debe ser el mismo que su usuario de PostgreSQL:
useradd -m -U -r -d /opt/flectra -s /bin/bash flectra
Una vez creado el usuario, inicie sesión con su usuario de Flectra y descargue la fuente de Flectra del repositorio oficial de Git:
su - flectra git clone --depth=1 --branch=1.0 https://gitlab.com/flectra-hq/flectra.git flectra
Después de eso, crea un entorno virtual Flectra con el siguiente comando:
python3 -m venv flectra-venv
A continuación, active el entorno virtual con el siguiente comando:
source flectra-venv/bin/activate
De forma predeterminada, Ubuntu 20.04 viene con la versión 3.8.2 de Python. Por lo tanto, deberá actualizar requirements.txt
archivo para evitar el psucopg2
error al instalar Flectra 1.7.
Puede evitar este error modificando el requirements.txt
predeterminado. archivo:
nano flectra/requirements.txt
Encuentra las siguientes líneas:
psycopg2==2.7.3.1; sys_platform != 'win32' psycopg2==2.8.3; sys_platform == 'win32'
Y actualícelos con las siguientes líneas:
psycopg2==2.8.5; sys_platform != 'win32' psycopg2==2.8.5; sys_platform == 'win32'
Guarde y cierre el archivo, luego instale la wheel
módulo con el siguiente comando:
pip3 install wheel
A continuación, instale todos los módulos de Python necesarios con el siguiente comando:
pip3 install -r flectra/requirements.txt
Una vez que todos los módulos estén instalados, desactívelos desde el entorno virtual con el siguiente comando:
deactivate
Luego, salga del usuario de Flectra usando el siguiente comando:
exit
Paso 5:configurar Flectra
A continuación, deberá crear una estructura de directorios para que Flectra almacene complementos, archivos de configuración y registros.
Puedes crearlo con el siguiente comando:
mkdir /opt/flectra/flectra-custom-addons mkdir /var/log/flectra touch /var/log/flectra/flectra.log mkdir /etc/flectra
A continuación, cambie la propiedad de los directorios anteriores a Flectra como se muestra a continuación:
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-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
Asegúrate de configurar your-password
a una buena y fuerte contraseña. Guarde y cierre el archivo cuando haya terminado.
Paso 6:cree un archivo de servicio de Systemd para Flectra
Flectra está más o menos configurado, sin embargo, actualmente no tenemos forma de administrarlo como un servicio. Para solucionar esto, crearemos un archivo de servicio systemd para administrar el servicio Flectra. Cree un nuevo archivo de servicio usando este comando:
nano /etc/systemd/system/flectra.service
Luego 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. Luego, vuelva a cargar la lista de demonios de systemd con el siguiente comando:
systemctl daemon-reload
A continuación, inicie el servicio Flectra y habilítelo para que se inicie en el arranque con el siguiente comando:
systemctl start flectra systemctl enable flectra
Ahora puede verificar el puerto en el que Flectra está escuchando usando el siguiente comando:
netstat -plntu | grep 7073
Deberías obtener el siguiente resultado:
tcp 0 0 0.0.0.0:7073 0.0.0.0:* LISTEN 110833/python3
Flectra ahora está configurado y funcionando.
Paso 7:configurar Nginx como proxy inverso para Flectra
Flectra ahora se está ejecutando, sin embargo, solo es accesible en nuestra dirección IP usando el puerto 7073. Esto puede estar bien para algunos, pero sería ideal si se pudiera acceder directamente a Flectra usando un nombre de dominio con el puerto predeterminado (80). Para hacer esto, configuraremos Nginx como un proxy inverso. Instale el servidor web Nginx usando el siguiente comando:
apt-get install nginx -y
Una vez instalado, cree un nuevo archivo de configuración de host virtual Nginx:
nano /etc/nginx/sites-available/example.conf
Agregue las siguientes líneas. Asegúrate de reemplazar example.com
con su propio nombre de dominio registrado:
#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; }
Guarde y cierre el archivo, luego active el archivo de host virtual Nginx usando el siguiente comando:
ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/
Finalmente, reinicie el servicio Nginx para aplicar los cambios:
systemctl restart nginx
Paso 8:acceda a la interfaz de usuario web de Flectra
Ahora, abra su navegador web y escriba la URL http://flectra.example.com
. Será redirigido a la siguiente página:
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. Se le redirigirá al panel de control de Flectra, como se muestra a continuación:
¡Eso es todo! Ahora tiene una instalación de Flectra en funcionamiento en su Ubuntu 20.04 VPS. Ahora puede comenzar a usarlo y mejorar la productividad de su negocio.
La instalación de Flectra no es muy difícil ni requiere mucho tiempo, sin embargo, es fácil perder un paso o estropear algo. Esta es la razón por la que usar uno de nuestros servicios de alojamiento VPS Flectra administrado es una gran idea:nuestros administradores configurarán e instalarán rápidamente Flectra en su VPS Ubuntu 20.04 con facilidad, y todo lo que tiene que hacer es preguntar. Además, nuestro equipo de soporte totalmente administrado también puede ayudarlo a mantener y optimizar su servidor siempre que lo necesite, todo sin costo adicional.
Si este tutorial le ha ayudado a instalar Flectra en su servidor Ubuntu 20.04 o VPS, le agradeceríamos mucho que compartiera este artículo con sus amigos en las redes sociales utilizando los accesos directos para compartir o describiendo su experiencia de instalación en nuestra sección de comentarios. Gracias.