Introduzione
Flectra è un software CRM ed ERP gratuito e open source che offre molta flessibilità e personalizzazione che ti consentono di soddisfare le esigenze uniche della tua azienda.
Inoltre Flectra è il sistema informativo aziendale di nuova generazione che ti aiuta a far crescere la tua attività, con un potente design modulare che copre tutti gli aspetti essenziali di un'azienda.
Flectra è un fork della community di Odoo e il suo obiettivo principale era implementare molte funzionalità di Odoo Enterprise mantenendole aperte a tutti.
Pacchetti di aggiornamento
Esegui i seguenti comandi per aggiornare tutti i pacchetti installati sul tuo VPS:
sudo apt-get update -y && sudo apt-get upgrade -y
Installa le dipendenze richieste
Dovrai installare il pacchetto Python e altre dipendenze di Flectra nel tuo sistema. Esegui questo comando:
sudo 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
Inoltre dovrai installare lo strumento wkhtmltopdf nel tuo sistema.
Puoi scaricarlo e installarlo con il seguente comando:
qadry@unixcop:~$ wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
--2021-08-20 05:44:26-- https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
Resolving github.com (github.com)... 140.82.121.4
Connecting to github.com (github.com)|140.82.121.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-releases.githubusercontent.com/131323182/10e1d800-ab93-11ea-862e-4f209c09ebf0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210820%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210820T124427Z&X-Amz-Expires=300&X-Amz-Signature=17fe5ac9c52a75f405aa1915db96e68c7af0126b1e3f3b5f5de32bb2c9060ae2&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=131323182&response-content-disposition=attachment%3B%20filename%3Dwkhtmltox_0.12.6-1.focal_amd64.deb&response-content-type=application%2Foctet-stream [following]
--2021-08-20 05:44:27-- https://github-releases.githubusercontent.com/131323182/10e1d800-ab93-11ea-862e-4f209c09ebf0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210820%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210820T124427Z&X-Amz-Expires=300&X-Amz-Signature=17fe5ac9c52a75f405aa1915db96e68c7af0126b1e3f3b5f5de32bb2c9060ae2&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=131323182&response-content-disposition=attachment%3B%20filename%3Dwkhtmltox_0.12.6-1.focal_amd64.deb&response-content-type=application%2Foctet-stream
Resolving github-releases.githubusercontent.com (github-releases.githubusercontent.com)... 185.199.110.154, 185.199.109.154, 185.199.108.154, ...
Connecting to github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.110.154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 15721382 (15M) [application/octet-stream]
Saving to: ‘wkhtmltox_0.12.6-1.focal_amd64.deb.1’
wkhtmltox_0.12.6-1.focal_amd64.deb.1 100%[=======================================================================>] 14.99M 367KB/s in 42s
2021-08-20 05:45:10 (364 KB/s) - ‘wkhtmltox_0.12.6-1.focal_amd64.deb.1’ saved [15721382/15721382]
qadry@unixcop:~$
Installa PostgreSQL
Flectra PostgreSQL per memorizzare i suoi dati in un database. installalo con il seguente comando:
sudo apt-get install postgresql -y
Usa PostgreSQL e crea un utente per Flectra. Ho chiamato l'utente flectra , ma puoi usare il nome che preferisci:
su - postgres -c "createuser -s flectra"
Installa Flectra
In primo luogo, crea un utente separato per Flectra. Il nome di questo utente dovrebbe essere lo stesso del tuo utente PostgreSQL:
useradd -m -U -r -d /opt/flectra -s /bin/bash flectra
Devi accedere con il tuo utente Flectra e scaricare il sorgente Flectra dal repository Git ufficiale:
root@unixcop:~# su - flectra
flectra@unixcop:~$ git clone --depth=1 --branch=1.0 https://gitlab.com/flectra-hq/flectra.git flectra
Cloning into 'flectra'...
remote: Enumerating objects: 26592, done.
remote: Counting objects: 100% (26592/26592), done.
remote: Compressing objects: 100% (18809/18809), done.
Receiving objects: 60% (15931/26592), 5.26 MiB | 943.00 KiB/s
Quindi crea un ambiente virtuale Flectra con python con il comando seguente:
python3 -m venv flectra-venv
Attiva anche l'ambiente virtuale.
Nota: Per impostazione predefinita, Ubuntu 20.04 viene fornito con la versione 3.8.2 di Python. Quindi dovrai aggiornare requirements.txt per prevenire l'errore psucopg2 durante l'installazione di Flectra
Puoi prevenire questo errore con due soluzioni:
(1):
Apri il file con l'editor di testo che hai
(flectra-venv) flectra@unixcop:~$ vim flectra/requirements.txt
Quindi puoi saltare tutti gli errori eliminando tutto il contenuto del file requisiti.txt e aggiungendovi questo contenuto.
Babel==2.3.4
decorator==4.0.10
docutils==0.12
ebaysdk==2.1.5
feedparser==5.2.1
gevent==1.1.2 ; sys_platform != 'win32' and python_version < '3.7'
gevent==1.5.0 ; python_version >= '3.7'
greenlet==0.4.10 ; python_version < '3.7'
greenlet==0.4.14 ; python_version >= '3.7'
html2text==2016.9.19
Jinja2==2.10.1
lxml==3.7.1 ; sys_platform != 'win32' and python_version < '3.7'
lxml==4.6.3 ; sys_platform != 'win32' and python_version >= '3.8'
lxml ; sys_platform == 'win32'
Mako==1.0.4
MarkupSafe==0.23
mock==2.0.0
num2words==0.5.6
ofxparse==0.16
passlib==1.6.5
Pillow==4.0.0 ; python_version < '3.7'
Pillow==6.1.0 ; python_version >= '3.7'
psutil==4.3.1; sys_platform != 'win32' and python_version >= '3.7'
psutil==5.6.3; sys_platform == 'win32'
psycopg2==2.8.5; sys_platform != 'win32' and python_version >= '3.7'
psycopg2==2.8.5; sys_platform != 'win32' and python_version >= '3.8'
psycopg2==2.8.5; sys_platform == 'win32'
pydot==1.2.3
pyldap==2.4.28; sys_platform != 'win32'
pyparsing==2.1.10
PyPDF2==1.26.0
pyserial==3.1.1
python-dateutil==2.5.3
# vatnumber requirement. Last version compatible
python-stdnum<=1.14
pytz==2016.7
pyusb==1.0.0
PyYAML==3.12 ; python_version < '3.7'
PyYAML==3.13 ; python_version >= '3.7'
qrcode==5.3
reportlab==3.3.0
requests==2.20.0
suds-jurko==0.6
vatnumber==1.2
vobject==0.9.3
Werkzeug==0.11.15 ; sys_platform != 'win32'
Werkzeug==0.16.0 ; sys_platform == 'win32'
XlsxWriter==0.9.3
xlwt==1.3.*
xlrd==1.0.0
pypiwin32 ; sys_platform == 'win32'
oauthlib==2.0.7
pycrypto==2.6.1
validate-email==1.3
unittest2==1.1.0
numpy==1.14.3
Questo contenuto mostrato sopra è quello predefinito del file, ma l'ho modificato con attenzione e ho skkiped tutti gli errori che mi si presentavano durante l'installazione (Errori come:compatibilità della versione e righe duplicate ... ecc.)
Se vuoi completare l'installazione senza errori, ti consiglio questa soluzione.
(2):
La seconda soluzione modificando il file Requirements.txt predefinito:
vim flectra/requirements.txt
Trova le seguenti righe:
psycopg2==2.7.3.1; sys_platform != 'win32'
psycopg2==2.8.3; sys_platform == 'win32'
Sostituiscili con le seguenti righe:
psycopg2==2.8.5; sys_platform != 'win32'
psycopg2==2.8.5; sys_platform == 'win32'
Se hai un errore con righe duplicate o qualcosa del genere, puoi eliminarli, quindi salvare il file ed uscire.
Successivamente installa il modulo ruota con il comando:
(flectra-venv) flectra@unixcop:~$ pip3 install wheel
Infine installa tutti i moduli Python richiesti con:
(flectra-venv) flectra@unixcop:~$ pip3 install -r flectra/requirements.txt
Una volta installati tutti i moduli, disattivali dall'ambiente virtuale
(flectra-venv) flectra@unixcop:~$ deactivate
Quindi, esci dall'utente Flectra
flectra@unixcop:~$ exit
logout
root@unixcop:~#
Configura Flectra
Dobbiamo creare una struttura di directory per Flectra per memorizzare componenti aggiuntivi, file di configurazione e registri.
Crealo con questi comandi:
mkdir /opt/flectra/flectra-custom-addons
mkdir /var/log/flectra
touch /var/log/flectra/flectra.log
mkdir /etc/flectra
Cambia la proprietà delle directory sopra in Flectra come mostrato:
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
vim /etc/flectra/flectra.conf
E aggiungi le seguenti righe:
options]
admin_passwd = unixcop@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.
Crea un file di servizio Systemd per Flectra
Creeremo un file di servizio systemd per gestire il servizio Flectra. Crea un nuovo file di servizio con questo comando:
vim /etc/systemd/system/flectra.service
Quindi aggiungi le seguenti righe:
[Unit]
Description=flectra
[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
Quindi ricaricare l'elenco dei demoni di systemd. e avvia il servizio Flectra e abilitalo per l'avvio all'avvio.
systemctl daemon-reload
systemctl start flectra
systemctl enable flectra
Verifica la porta su cui è in ascolto Flectra utilizzando il comando seguente:
root@unixcop:~# netstat -plntu | grep 7073
tcp 0 0 0.0.0.0:7073 0.0.0.0:* LISTEN 23821/python3
root@unixcop:~#
Ora apri il tuo browser web e digita http://IP_address:7073 Verrai reindirizzato alla seguente pagina:
Nota:
Ho sostituito IP indirizzo con flectra.unixcop.com in /etc/hosts
# echo "192.168.13.130 flectra.unixcop.com" > /etc/hosts
Se segui questo passaggio, apri il browser e digita:
flectra.unixcop.com:7073
Quindi fornisci la tua password principale che hai aggiunto in flectra.conf file , dettagli del database, e-mail e password e fare clic sul pulsante Crea database. Verrai reindirizzato alla dashboard di Flectra, come mostrato di seguito:
Installa Nginx come proxy inverso per Flectra
Flectra è ora in esecuzione, tuttavia è accessibile solo al nostro indirizzo IP utilizzando la porta 7073. Questo potrebbe andare bene per alcuni, ma sarebbe l'ideale se Flectra potesse essere direttamente accessibile utilizzando un nome di dominio con la porta predefinita (80). Per fare ciò, imposteremo Nginx come proxy inverso. Installa il server web Nginx usando il seguente comando:
sudo apt-get install nginx -y
crea un nuovo host virtuale Nginx
vim /etc/nginx/sites-available/example.conf
Aggiungi le seguenti righe.
#flectra server
upstream flectra {
server 127.0.0.1:7073;
}
server {
listen 80;
server_name flectra.unixcop.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;
}
Assicurati di sostituire flectra.unixcop.com con il tuo nome di dominio
Quindi attiva il file host virtuale Nginx.
ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/
Il passaggio finale per riavviare il servizio nginx
systemctl restart nginx
Accedi all'interfaccia utente Web di Flectra
Ora apri il tuo browser quindi digita:
flectra.unixcop.com
Flectra è stato installato, quindi puoi iniziare a usarlo e migliorare la produttività della tua attività.
Questo è tutto!!