Odoo è una suite di strumenti software per la gestione aziendale che include, ad esempio, CRM, e-commerce, fatturazione, contabilità, produzione, magazzino, gestione dei progetti e gestione dell'inventario. Odoo 14 è stato rilasciato il 3 ottobre 2020.
Ubuntu 22.04 è l'ultima versione a lungo termine (LTS) rilasciata da Canonical Ltd. la società dietro il software Ubuntu e progetti correlati.
In questo tutorial configureremo Odoo 14 utilizzando un ambiente virtuale per isolare la nostra applicazione ed evitare conflitti all'interno del livello di sistema.
Iniziamo con l'installazione.
1 Aggiornamento del sistema
sudo apt update -y && apt upgrade -y
2 Installazione delle dipendenze
Dopo aver aggiornato il sistema, dobbiamo installare tutte le dipendenze necessarie.
sudo apt install python3-dev nodejs git build-essential node-less npm python3-pip python3-venv python3-wheel python3-setuptools libjpeg-dev libpq-dev liblcms2-dev libwebp-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev libharfbuzz-dev libfribidi-dev libxcb1-dev libpq-dev libldap2-dev libsasl2-dev libxslt1-dev zlib1g-dev libxml2-dev
3 Installazione e configurazione del database
Il database di backend predefinito di Odoo è PostgreSQL.
Installiamo PostgreSQL.
sudo apt install postgresql -y
Dopo l'installazione è necessario creare un utente del database.
sudo su - postgres -c "createuser -s odoo14"
4 Creazione di un utente di sistema
Creiamo un utente di sistema per la nostra istanza.
sudo useradd -m -d /opt/odoo14 -U -r -s /bin/bash odoo14
5 Installazione di wkhtmltopdf
Wkhtmltopdf è un pacchetto che converte l'HTML in formato PDF utilizzando il motore di rendering Qt WebKit. Questo pacchetto è necessario per stampare report PDF per fattura di vendita, report di vendita e altro.
Ubuntu 22.04 ha il pacchetto wkhtmltopdf nei suoi repository ma questo pacchetto non supporta intestazione e piè di pagina. Utilizzeremo quindi il pacchetto wkhtmltox(wkhtmltopdf) di Github.
Ma prima di scaricare e installare il pacchetto wkhtmltox dobbiamo installare libssl1.1 prima perché wkhtmltox dipende da questo libssl versione.
Il libssl la versione in Ubuntu 22.04 è stata aggiornata alla versione 3, quindi è necessario aggiungere il sorgente di Ubuntu 21.10 per forzare l'installazione su libssl versione 1 .
echo "deb http://security.ubuntu.com/ubuntu impish-security main" | sudo tee /etc/apt/sources.list.d/impish-security.list
Aggiorna il sistema.
sudo apt-get update
Installa libssl versione 1.
sudo apt-get install libssl1.1 -y
UPDATE: If the impish repository failed to update, you can download the libssl1.1 package manually and install it.
Per installarlo manualmente, segui questi passaggi.
sudo wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
Scarichiamo e installiamo il pacchetto wkhtmltox da Github.
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
sudo chmod +x wkhtmltox_0.12.6-1.focal_amd64.deb
sudo apt install ./wkhtmltox_0.12.6-1.focal_amd64.deb
Crea un collegamento simbolico.
ln -s /usr/local/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
Controlla se l'installazione è andata a buon fine.
wkhtmltopdf --version
Output:
wkhtmltopdf 0.12.6 (with patched qt)
6 Installazione e configurazione di Odoo 14
Prima di procedere con l'installazione è necessario passare all'utente Odoo14.
su - odoo14
Clona il repository da Github.
git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo14/odoo
Cambia la directory nella directory di Odoo14.
cd /opt/odoo14
Crea un ambiente virtuale.
python3 -m venv venv
Attiva l'ambiente virtuale.
source venv/bin/activate
Poiché la versione Python predefinita di Ubuntu 22.04 è la 3.10, dobbiamo assicurarci che i moduli Python siano elencati in requirements.txt sono compatibili con Python 3.10. Modifichiamo la versione di alcuni moduli nel requirements.txt .
Ora apri il file require.txt usando il tuo editor di testo preferito.
nano /opt/odoo15/odoo/requirements.txt
Modifica il tuo attuale Requirements.txt con i moduli evidenziati.
Babel==2.9.1
chardet==3.0.4
decorator==4.3.0
docutils==0.14
ebaysdk==2.1.5
freezegun==0.3.11; python_version < '3.8'
freezegun==0.3.15; python_version >= '3.8'
gevent==1.1.2 ; sys_platform != 'win32' and python_version < '3.7'
gevent==1.5.0 ; python_version == '3.7'
gevent>=20.9.0 ; python_version >= '3.8'
gevent==1.4.0 ; sys_platform == 'win32' and python_version < '3.7'
greenlet==0.4.10 ; python_version < '3.7'
greenlet==0.4.15 ; python_version == '3.7'
greenlet>=0.4.17 ; python_version > '3.7'
idna==2.6
Jinja2==2.10.1; python_version < '3.8'
# bullseye version, focal patched 2.10
Jinja2==2.11.2; python_version >= '3.8'
libsass==0.17.0
lxml==3.7.1 ; sys_platform != 'win32' and python_version < '3.7'
lxml==4.3.2 ; sys_platform != 'win32' and python_version == '3.7'
lxml==4.6.5 ; sys_platform != 'win32' and python_version > '3.7'
lxml ; sys_platform == 'win32'
Mako==1.0.7
MarkupSafe==1.1.0
num2words==0.5.6
ofxparse==0.19
passlib==1.7.1
Pillow==5.4.1 ; python_version <= '3.7' and sys_platform != 'win32'
Pillow==6.1.0 ; python_version <= '3.7' and sys_platform == 'win32'
Pillow==8.1.1 ; python_version > '3.7'
polib==1.1.0
psutil==5.6.6
psycopg2==2.7.7; sys_platform != 'win32' and python_version < '3.8'
psycopg2==2.8.5; sys_platform == 'win32' or python_version >= '3.8'
pydot==1.4.1
python-ldap==3.1.0; sys_platform != 'win32'
PyPDF2==1.26.0
pyserial==3.4
python-dateutil==2.7.3
pytz==2019.1
pyusb==1.0.2
qrcode==6.1
reportlab==3.5.13; python_version < '3.8'
reportlab==3.5.55; python_version >= '3.8'
requests==2.21.0
zeep==3.2.0
python-stdnum==1.8
vobject==0.9.6.1
Werkzeug==0.16.1
XlsxWriter==1.1.2
xlwt==1.3.*
xlrd==1.1.0; python_version < '3.8'
xlrd==1.2.0; python_version >= '3.8'
pypiwin32 ; sys_platform == 'win32'
Dopo aver modificato il file Requirements.txt salva il file ed esci.
Installa la ruota del modulo Python.
(venv) $ pip3 install wheel
Installa i moduli Python in Requirement.txt.
(venv) pip3 install -r odoo/requirements.txt
Disattiva l'ambiente virtuale.
(venv) deactivate
Crea una directory dei componenti aggiuntivi personalizzata.
mkdir /opt/odoo14/custom-addons
Quindi esci.
exit
Crea un file di configurazione.
sudo nano /etc/odoo14.conf
Inserisci il contenuto qui sotto.
[options]
; This is the password that allows database operations:
admin_passwd = admin_password
db_host = False
db_port = False
db_user = odoo14
db_password = False
xmlrpc_port = 8069
logfile = /var/log/odoo14/odoo.log
addons_path = /opt/odoo14/odoo/addons,/opt/odoo14/custom-addons
Si prega di modificare la "password_admin ” alla tua password preferita, quindi salva e chiudi il file.
Ora crea una directory di registro.
mkdir /var/log/odoo14
chown odoo14:root /var/log/odoo14
7 Creare un servizio Systemd
Per gestire facilmente la nostra istanza creiamo un servizio systemd.
sudo nano /etc/systemd/system/odoo14.service
Inserisci il contenuto qui sotto.
[Unit]
Description=Odoo14
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo14
PermissionsStartOnly=true
User=odoo14
Group=odoo14
ExecStart=/opt/odoo14/venv/bin/python3 /opt/odoo14/odoo/odoo-bin -c /etc/odoo14.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Salva e chiudi il file e ricarica il demone systemd per applicare le modifiche.
sudo systemctl daemon-reload
Abilita e avvia il servizio systemd.
sudo systemctl enable --now odoo14
Controlla lo stato.
systemctl status odoo14
Ecco, dovresti essere in grado di accedere alla tua istanza all'indirizzo http://ipaddress:8069 .
Se hai bisogno di un proxy inverso, puoi consultare la nostra guida su come configurare Odoo con Apache o Nginx come proxy inverso. Se hai bisogno del certificato SSL puoi consultare il nostro articolo su Let's Encrypt.
8 Conclusione
In questo tutorial hai imparato come installare Odoo 14 su Ubuntu 22.04 ed è molto impegnativo a causa di problemi di compatibilità, ma siamo in grado di farlo. Se ti piace questo articolo, ti potrebbe piacere anche il nostro articolo su Odoo 14 su Ubuntu 20.04.