Ricerca nel sito web

Come installare il software di gestione aziendale Flectra con Nginx su CentOS 8


Su questa pagina

  1. Prerequisiti
  2. Per iniziare
  3. Installa le dipendenze di Python
  4. Installa PostgreSQL
  5. Installa Flectra
  6. Configura Flectra
  7. Crea un file di servizio Systemd per Flectra
  8. Configura Nginx per Flectra
  9. Accedi all'interfaccia utente web di Flectra
  10. Conclusione

Flectra è un software di gestione aziendale open source e di nuova generazione che combina i sistemi CRM ed ERP in un unico pacchetto. Il suo scopo è consentire agli utenti di modificare il sistema in base alle proprie esigenze aziendali e possono facilmente aggiungere più strumenti per ridimensionare la propria attività. In termini semplici, Flectra ti offre una piattaforma completa in modo che tu possa facilmente modificare o configurare secondo le tue esigenze. Flectra offre molte funzionalità come contabilità, e-commerce, gestione dell'inventario, marketing, gestione dei progetti, CRM, reportistica, gestione delle ferie e molte altre.

In questo tutorial, ti mostreremo come installare Flectra con Nginx su CentOS 8.

Prerequisiti

  • Un server che esegue CentOS 8 con un minimo di 4 GB di RAM.
  • Una password di root è configurata nel tuo server.

Iniziare

Innanzitutto, dovrai aggiornare i tuoi pacchetti di sistema all'ultimo. Puoi farlo con il seguente comando:

dnf update -y

Dopo aver aggiornato tutti i pacchetti, si consiglia di disabilitare SELinux nel proprio sistema. Puoi disabilitarlo modificando il file /etc/selinux/config:

nano /etc/selinux/config

Modifica la riga seguente:

SELINUX=disabled

Salva e chiudi il file, quindi riavvia il server per applicare le modifiche.

Installa le dipendenze di Python

Successivamente, dovrai installare Python e altre dipendenze di Flectra nel tuo sistema. Puoi installarli tutti eseguendo il seguente comando:

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

Una volta installati tutti i pacchetti, eseguire il seguente comando per installare il modulo Node.js:

npm install -g less

Successivamente, dovrai anche installare il pacchetto wkhtmltopdf nel tuo sistema. Puoi scaricarlo dalla loro pagina di download ufficiale:

Una volta scaricato, installa il file scaricato con il seguente comando:

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

Al termine, puoi procedere al passaggio successivo.

Installa PostgreSQL

Flectra utilizza PostgreSQL come database back-end. Quindi dovrai installarlo nel tuo server. Puoi installarlo con il seguente comando:

dnf install postgresql-server -y

Dopo aver installato il server PostgreSQL, inizializzare il database con il seguente comando:

postgresql-setup --initdb --unit postgresql

Dovresti ottenere il seguente output:

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

Successivamente, avvia il servizio PostgreSQL e abilitalo per l'avvio al riavvio del sistema con il seguente comando:

systemctl start postgresql
systemctl enable postgresql

Successivamente, verifica lo stato del servizio PostgreSQL con il seguente comando:

systemctl status postgresql-12

Dovresti ottenere il seguente output:

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

Successivamente, dovrai creare un nuovo utente PostgreSQL per Flectra. Puoi crearlo con il seguente comando:

su - postgres -c "createuser -s flectra"

Una volta terminato, puoi procedere al passaggio successivo.

Installa Flectra

Prima di installare Flectra, dovrai creare un utente separato per Flectra. Puoi crearlo usando il seguente comando:

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

Nota: assicurarsi che il nome utente sia lo stesso dell'utente PostgreSQL.

Successivamente, accedi con l'utente Flectra e scarica Flectra dal repository Git con il seguente comando:

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

Successivamente, crea un ambiente virtuale per Flectra con il seguente comando:

python3 -m venv my-flectra

Quindi, attiva l'ambiente virtuale con il seguente comando:

source my-flectra/bin/activate

Successivamente, installa tutti i moduli Python eseguendo il seguente comando:

pip3 install -r flectra/requirements.txt

Una volta installati tutti i moduli, disattivare l'ambiente virtuale con il seguente comando:

deactivate

Successivamente, esci dall'utente Flectra utilizzando il seguente comando:

exit

Configura Flectra

Innanzitutto, dovrai creare alcune directory per i componenti aggiuntivi di Flectra, il file di configurazione e il registro. Puoi crearli con il seguente comando:

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

Successivamente, modifica la proprietà delle directory di cui sopra in flectra utilizzando il seguente comando:

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

Successivamente, crea un file di configurazione Flectra con il seguente comando:

nano /etc/flectra/flectra.conf

Aggiungi le seguenti righe:

[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

Salva e chiudi il file quando hai finito.

Crea file di servizio Systemd per Flectra

Successivamente, dovrai creare un file di servizio systemd per Flectra per gestire il servizio Flectra. Puoi crearlo con il seguente comando:

nano /etc/systemd/system/flectra.service

Aggiungi le seguenti righe:

[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

Salva e chiudi il file quando hai finito. Quindi, ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Successivamente, avvia il servizio Flectra e abilitalo per l'avvio al riavvio del sistema con il seguente comando:

systemctl start flectra
systemctl enable flectra

Ora puoi controllare lo stato del servizio Flectra con il seguente comando:

systemctl status flectra

Se tutto va bene, dovresti ottenere il seguente output:

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

Ora Flectra è in esecuzione e in ascolto sulla porta 7073. Puoi verificarlo con il seguente comando:

netstat -plntu | grep 7073

Dovresti vedere il seguente output:

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

Configura Nginx per Flectra

Successivamente, dovrai configurare Nginx come proxy inverso per Flectra. Quindi puoi accedere a Flectra utilizzando la porta 80.

Innanzitutto, installa il server Web Nginx utilizzando il seguente comando:

dnf install nginx -y

Dopo aver installato Nginx, avvia il servizio Nginx e abilitalo per l'avvio al riavvio del sistema:

systemctl start nginx
systemctl enable nginx

Successivamente, crea un nuovo file di configurazione dell'host virtuale Nginx per Flectra:

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

Aggiungi le seguenti righe:

#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;
}

Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio Nginx per applicare le modifiche:

systemctl restart nginx

A questo punto, il server Web Nginx è configurato per servire Flectra. Ora puoi procedere al passaggio successivo.

Accedi all'interfaccia utente web di Flectra

Ora, apri il tuo browser web e digita l'URL http://flectra.your-domain.com. Verrai reindirizzato alla seguente schermata:

Fornisci la tua password principale che hai definito nel file di configurazione, i dettagli del database, l'e-mail, la password e fai clic sul pulsante Crea database. Dovresti vedere la dashboard di Flectra come mostrato nella seguente schermata:

Conclusione

Congratulazioni! hai installato con successo Flectra con Nginx su CentOS 8. Ora puoi ospitare il tuo sistema informativo aziendale Flectra e far crescere la tua attività con il potente design modulare di Flectra e tonnellate di componenti aggiuntivi. Per ulteriori informazioni su Flectra, puoi leggere la documentazione ufficiale di Flectra.