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 loro esigenze aziendali e possono facilmente aggiungere più strumenti per ridimensionare la propria attività. In parole povere, 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.
Per iniziare
Innanzitutto, dovrai aggiornare i 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 seguente riga:
SELINUX=disabled
Salva e chiudi il file, quindi riavvia il server per applicare le modifiche.
Installa le dipendenze 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, esegui 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
Una volta terminato, 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
Quindi, avvia il servizio PostgreSQL e abilitalo all'avvio al riavvio del sistema con il seguente comando:
systemctl start postgresql
systemctl enable postgresql
Successivamente, verifica lo stato del servizio PostgreSQL con il comando seguente:
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:assicurati che il nome utente sia lo stesso dell'utente PostgreSQL.
Quindi, 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
Quindi, crea un ambiente virtuale per Flectra con il seguente comando:
python3 -m venv my-flectra
Successivamente, attiva l'ambiente virtuale con il seguente comando:
source my-flectra/bin/activate
Quindi, 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
Quindi, esci dall'utente Flectra usando 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
Quindi, cambia la proprietà delle directory sopra in flectra usando 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
Quindi, 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
Quindi, avvia il servizio Flectra e abilitalo all'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 usando il seguente comando:
dnf install nginx -y
Dopo aver installato Nginx, avvia il servizio Nginx e abilitalo all'avvio al riavvio del sistema:
systemctl start nginx
systemctl enable nginx
Quindi, 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.tuo-dominio.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 su Crea database pulsante. Dovresti vedere il dashboard di Flectra come mostrato nella schermata seguente:
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.