Chi Siamo Area Clienti Promo del Mese Dicono di Noi FAQ Blog
Odoo

Guida completa all’installazione di Odoo 18 su Ubuntu 24.04 LTS

Gianluca Gentile
Gianluca Gentile
· 14 min di lettura

Odoo è una delle piattaforme ERP open source più diffuse e apprezzate a livello internazionale. Grazie alla sua architettura modulare, permette di gestire in modo centralizzato e integrato processi aziendali complessi come contabilità, vendite, acquisti, CRM, gestione progetti, magazzino e risorse umane.

L’installazione di Odoo su un server Linux richiede una serie di passaggi fondamentali che includono la configurazione del sistema operativo, del database PostgreSQL, dell’ambiente Python e dei servizi di supporto come Nginx e Certbot per garantire l’accesso sicuro via HTTPS.

In questa guida completa, aggiornata al 2025, vedremo come installare Odoo 18 su Ubuntu 24.04 LTS seguendo un processo chiaro e strutturato step by step, così da ottenere un ambiente stabile, sicuro e pronto all’uso in produzione.

Durante le spiegazioni troverai alcuni esempi in cui vengono utilizzati valori generici come:

Questa guida è stata pensata per offrire una procedura dettagliata e completa, utile sia a sistemisti che a sviluppatori, per garantire che l’installazione sia corretta fin dall’inizio e che Odoo possa funzionare senza problemi su un dominio personalizzato.

STEP 1 – Aggiornamento del sistema

Il primo passaggio per installare Odoo 18 su Ubuntu 24.04 LTS è aggiornare il sistema operativo. Un ambiente aggiornato riduce i rischi di incompatibilità e garantisce la disponibilità delle ultime patch di sicurezza.

Per aggiornare i pacchetti esistenti, utilizziamo i comandi apt update e apt upgrade.

1. Aggiornare la lista dei pacchetti

sudo apt update

Questo comando aggiorna la lista dei pacchetti disponibili dai repository di Ubuntu. È fondamentale eseguirlo prima di qualsiasi installazione, per essere certi di avere accesso alle versioni più recenti dei software.

2. Aggiornare i pacchetti installati

sudo apt upgrade -y
Con questo comando vengono installati tutti gli aggiornamenti disponibili. L’opzione -y conferma automaticamente l’operazione, così il processo non richiede ulteriori interazioni.

Con il sistema aggiornato e sicuro, possiamo passare alla fase successiva, dedicata alla configurazione della sicurezza di base con SSH e Fail2ban.

STEP 2 – Configurazione sicurezza di base (SSH + Fail2ban)

Dopo aver aggiornato il sistema, è importante configurare un livello minimo di sicurezza per proteggere il server. Due componenti fondamentali sono il server SSH, che consente l’accesso remoto sicuro, e Fail2ban, che blocca automaticamente i tentativi di accesso non autorizzati.

1. Installare il server SSH

sudo apt install openssh-server -y

Con questo comando si installa il servizio OpenSSH, che permette di collegarsi al server da remoto in modo sicuro. È lo strumento essenziale per gestire la VPS una volta operativa.

2. Installare Fail2ban

sudo apt install fail2ban -y

Fail2ban analizza i log del sistema e, in caso di numerosi tentativi di accesso falliti, blocca automaticamente l’indirizzo IP dell’attaccante. Questo riduce notevolmente i rischi di attacchi brute force.

3. Abilitare e avviare Fail2ban

sudo systemctl enable --now fail2ban

Questo comando attiva Fail2ban immediatamente e garantisce che venga avviato automaticamente ad ogni riavvio del server.

4. Verificare lo stato di Fail2ban

sudo systemctl status fail2ban

Se il servizio è attivo, il sistema mostrerà la voce active (running). Per uscire dalla schermata di stato basta premere il tasto q.

STEP 3 – Installazione delle dipendenze di sistema

Per poter installare e utilizzare correttamente Odoo 18 su Ubuntu 24.04 LTS, è necessario installare una serie di pacchetti e librerie che garantiscono il corretto funzionamento del software.
Queste dipendenze includono strumenti di sviluppo, librerie di supporto per database, gestione delle immagini e compilazione dei file CSS e JavaScript.

1. Installare i pacchetti principali

Il primo passo consiste nell’installare Python, pip e gli strumenti di compilazione di base:

sudo apt install git python3-pip python3-dev python3-venv python3-wheel build-essential -y

2. Installare librerie aggiuntive

Queste librerie sono necessarie per la gestione di XML, LDAP e protocolli di sicurezza:

sudo apt install libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev libssl-dev libffi-dev -y

3. Installare librerie per immagini e database

Servono a Odoo per lavorare con file grafici, PDF e database PostgreSQL:

sudo apt install libjpeg-dev libpq-dev liblcms2-dev libblas-dev libatlas-base-dev -y

4. Installare Node.js e npm

Odoo utilizza Node.js e npm per compilare i file JavaScript e CSS:

sudo apt install nodejs npm -y

5. Creare un link simbolico per Node.js

Alcuni pacchetti cercano il comando node invece di nodejs. Creiamo quindi un link simbolico:

sudo ln -s /usr/bin/nodejs /usr/bin/node

6. Installare less e plugin CSS

Questi strumenti permettono a Odoo di compilare correttamente i file CSS dei temi:

sudo npm install -g less less-plugin-clean-css

A questo punto tutte le dipendenze di sistema necessarie a Odoo sono installate correttamente e il server è pronto per la configurazione di wkhtmltopdf, indispensabile per la generazione dei report in PDF.

STEP 4 – Installazione di wkhtmltopdf

Uno dei componenti fondamentali per l’utilizzo di Odoo 18 è wkhtmltopdf.
Questo strumento consente la generazione di documenti PDF direttamente dal sistema ERP, ad esempio fatture, preventivi e report personalizzati.

Su Ubuntu 24.04 LTS la versione consigliata e compatibile è la 0.12.6.1-3 (Jammy), che include il supporto a Qt patchato.
Di seguito riportiamo i passaggi dettagliati per l’installazione.

1. Installare i pacchetti di font richiesti

Prima di installare wkhtmltopdf è necessario aggiungere i pacchetti di font richiesti dal sistema:

sudo apt install xfonts-75dpi xfonts-base -y

2. Scaricare il pacchetto wkhtmltopdf compatibile

Scarichiamo la versione stabile e compatibile per Ubuntu 24.04:

wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb

3. Installare il pacchetto

Procediamo con l’installazione del pacchetto .deb appena scaricato:

sudo dpkg -i wkhtmltox_0.12.6.1-3.jammy_amd64.deb

4. Risolvere le dipendenze mancanti

In caso di errori dovuti a dipendenze non soddisfatte, eseguire:

sudo apt --fix-broken install -y

5. Verificare l’installazione

Per confermare che wkhtmltopdf sia installato correttamente, digitare:

wkhtmltopdf --version

Il risultato atteso è simile al seguente:
wkhtmltopdf 0.12.6.1 (with patched qt).
Se compare questa versione, l’installazione è stata completata correttamente.

Con wkhtmltopdf installato correttamente, Odoo sarà in grado di generare report e documenti PDF senza problemi.
Il prossimo passo sarà l’installazione e configurazione di PostgreSQL, il database utilizzato da Odoo.

STEP 5 – Installazione e configurazione di PostgreSQL

Il database utilizzato da Odoo è PostgreSQL, un sistema robusto e performante.
È necessario configurarlo correttamente per permettere a Odoo di funzionare senza problemi e garantire la sicurezza dei dati.

1. Installare PostgreSQL

Per installare il database eseguire il comando:

sudo apt install postgresql -y

2. Abilitare PostgreSQL all’avvio

Assicuriamoci che il servizio sia avviato subito e che parta automaticamente ad ogni riavvio della VPS:

sudo systemctl enable --now postgresql

3. Impostare la password dell’utente postgres

Entriamo nella console PostgreSQL con l’utente di default postgres:

sudo -u postgres psql

All’interno della console eseguire il comando:

ALTER USER postgres WITH PASSWORD 'LA_TUA_PASSWORD';
\q

4. Creare l’utente odoo per il database

Ora creiamo un utente PostgreSQL dedicato a Odoo con i permessi necessari:

sudo -u postgres psql -c "CREATE USER odoo WITH PASSWORD 'LA_TUA_PASSWORD CREATEDB;"

In questo modo abbiamo un utente sicuro e separato che Odoo utilizzerà per gestire i propri database.

Con PostgreSQL installato e configurato correttamente, possiamo passare allo step successivo: la creazione dell’utente Linux che eseguirà Odoo come servizio.

STEP 6 – Creazione dell’utente Linux Odoo

Per motivi di sicurezza, Odoo deve essere eseguito con un utente dedicato e non con l’utente root.
In questo modo eventuali problemi o vulnerabilità non comprometteranno l’intero sistema.

1. Creare l’utente odoo

Creiamo un utente di sistema chiamato odoo, con la propria home directory in /opt/odoo:

sudo adduser --system --home=/opt/odoo --group --shell=/bin/bash odoo

2. Impostare la password

Assegniamo una password sicura all’utente appena creato:

sudo passwd odoo

Password scelta per questa guida: LA_TUA_PASSWORD

3. Creare la cartella per gli addons personalizzati

Gli addons personalizzati saranno posizionati in una cartella separata rispetto a quelli nativi:

sudo mkdir /opt/odoo/custom-addons

4. Assegnare i permessi all’utente odoo

Concediamo all’utente odoo la gestione completa della propria cartella addons:

sudo chown odoo:odoo /opt/odoo/custom-addons

Abbiamo ora un utente Linux dedicato e pronto a eseguire Odoo in modo isolato dal resto del sistema.
Il passo successivo sarà scaricare i sorgenti di Odoo 18 dal repository ufficiale.

STEP 7 – Download e installazione dei sorgenti Odoo 18

Una volta creato l’utente dedicato, possiamo scaricare i sorgenti ufficiali di Odoo 18 dal repository GitHub.
Questa operazione ci permette di avere la versione più aggiornata e stabile disponibile.

1. Accedere come utente odoo

Entriamo nell’ambiente dell’utente odoo creato in precedenza:

sudo su - odoo -s /bin/bash

2. Clonare il repository Odoo 18

Scarichiamo la versione stabile di Odoo 18 direttamente da GitHub:

git clone --depth 1 --branch 18.0 https://github.com/odoo/odoo /opt/odoo/odoo-server

Il parametro --depth 1 scarica solo l’ultima versione disponibile, riducendo il peso del download,
mentre --branch 18.0 garantisce di lavorare sul ramo corretto.

3. Verificare il contenuto della cartella

Possiamo confermare che il download è andato a buon fine controllando i file presenti:

ls -l /opt/odoo/odoo-server

In questa directory troveremo i file principali come odoo-bin, requirements.txt e la cartella addons.

4. Uscire dall’utente odoo

Una volta scaricati i sorgenti, usciamo dall’ambiente dell’utente dedicato per tornare all’utente principale:

exit

A questo punto abbiamo a disposizione i file sorgenti di Odoo 18 e possiamo prepararci alla configurazione dell’ambiente Python dedicato.

STEP 8 – Creazione ambiente Python (virtualenv) e installazione delle dipendenze

Per garantire stabilità e compatibilità, Odoo deve essere eseguito in un ambiente Python isolato.
A questo scopo utilizzeremo virtualenv, che ci permette di gestire le dipendenze senza interferire con i pacchetti globali del sistema.

1. Accedere come utente odoo

Torniamo a lavorare con l’utente dedicato:

sudo su - odoo -s /bin/bash

2. Spostarsi nella cartella dei sorgenti Odoo

Entriamo nella directory contenente i file scaricati:

cd /opt/odoo/odoo-server

3. Creare un ambiente virtuale Python

Creiamo un ambiente virtuale dedicato a Odoo:

python3 -m venv odoo-venv

4. Attivare l’ambiente virtuale

Per utilizzare il virtualenv appena creato, attiviamolo con il comando:

source odoo-venv/bin/activate

5. Installare il pacchetto wheel

Prima di procedere all’installazione delle dipendenze è consigliato installare wheel:

pip3 install wheel

6. Installare tutte le dipendenze richieste

Le librerie necessarie sono elencate nel file requirements.txt. Installiamole tutte con:

pip3 install -r requirements.txt

7. Disattivare l’ambiente virtuale

Una volta completata l’installazione, usciamo dal virtualenv:

deactivate

8. Tornare all’utente principale

Infine, lasciamo l’utente odoo per tornare all’utente principale del server:

exit

Ora Odoo dispone di tutte le librerie Python necessarie per funzionare correttamente.
Il passo successivo sarà configurare il file odoo.conf con le credenziali del database e i percorsi degli addons.

STEP 9 – Creazione e configurazione del file /etc/odoo/odoo.conf

Il file odoo.conf è il cuore della configurazione di Odoo.
Contiene tutte le informazioni necessarie per collegarsi al database PostgreSQL, gestire gli addons e avviare il servizio in modo corretto.

1. Creare la cartella di configurazione

Creiamo una cartella dedicata ai file di configurazione di Odoo:

sudo mkdir /etc/odoo

2. Creare il file di configurazione

Apriamo il file odoo.conf con l’editor nano:

sudo nano /etc/odoo/odoo.conf

All’interno del file inseriamo il seguente contenuto:

[options]
admin_passwd = LA_TUA_PASSWORD
db_host = localhost
db_port = 5432
db_user = odoo
db_password = LA_TUA_PASSWORD
addons_path = /opt/odoo/odoo-server/addons,/opt/odoo/custom-addons
logfile = /var/log/odoo/odoo.log
proxy_mode = True
list_db = True
http_port = 8069
workers = 4

3. Impostare i permessi corretti

Il file contiene password sensibili, quindi deve essere leggibile solo da root e dall’utente Odoo:

sudo chown odoo:odoo /etc/odoo/odoo.conf
sudo chmod 640 /etc/odoo/odoo.conf

4. Creare la cartella dei log

Aggiungiamo una directory dedicata ai file di log di Odoo:

sudo mkdir /var/log/odoo
sudo chown odoo:odoo /var/log/odoo

Con questa configurazione, Odoo è pronto per essere gestito come un servizio di sistema tramite systemd.

STEP 10 – Creazione del servizio systemd per avviare Odoo

Per garantire che Odoo venga eseguito automaticamente ad ogni avvio del server, è necessario configurarlo come servizio di sistema tramite systemd.
In questo modo sarà possibile avviarlo, arrestarlo e monitorarlo con i classici comandi di gestione dei servizi in Linux.

1. Creare il file del servizio

Apriamo un nuovo file di configurazione per il servizio Odoo:

sudo nano /etc/systemd/system/odoo.service

All’interno inseriamo il seguente contenuto:

[Unit]
Description=Odoo 18 ERP
After=postgresql.service

[Service]
Type=simple
User=odoo
ExecStart=/opt/odoo/odoo-server/odoo-venv/bin/python3 /opt/odoo/odoo-server/odoo-bin -c /etc/odoo/odoo.conf
Restart=on-failure

[Install]
WantedBy=multi-user.target

2. Ricaricare systemd

Ricarichiamo la configurazione dei servizi per far riconoscere a systemd il nuovo file:

sudo systemctl daemon-reload

3. Avviare Odoo

Eseguiamo il servizio per la prima volta:

sudo systemctl start odoo

4. Abilitare l’avvio automatico

Configuriamo Odoo per avviarsi automaticamente con il server:

sudo systemctl enable odoo

5. Controllare lo stato del servizio

Verifichiamo che Odoo sia attivo e funzionante:

sudo systemctl status odoo

Se il servizio è in esecuzione correttamente, lo stato mostrerà active (running).
A questo punto Odoo è raggiungibile sulla porta 8069 e pronto per essere messo dietro un proxy con Nginx.

STEP 11 – Configurazione Nginx e Certbot per HTTPS

Per rendere Odoo accessibile tramite un dominio personalizzato con connessione sicura HTTPS, configureremo il server web Nginx come reverse proxy
e utilizzeremo Certbot per ottenere un certificato SSL gratuito da Let’s Encrypt.

1. Installare Nginx e Certbot

Installiamo il server Nginx e Certbot con il plugin per l’integrazione diretta:

sudo apt install nginx certbot python3-certbot-nginx -y

2. Creare il file di configurazione per Odoo

Creiamo una configurazione dedicata al dominio scelto, ad esempio crm.dominio.it:

sudo nano /etc/nginx/sites-available/odoo

Inseriamo il seguente contenuto:

server {
    server_name crm.dominio.it;

    access_log /var/log/nginx/odoo.access.log;
    error_log /var/log/nginx/odoo.error.log;

    proxy_buffers 16 64k;
    proxy_buffer_size 128k;

    location / {
        proxy_pass http://127.0.0.1:8069;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
    }
}

3. Abilitare il sito e disattivare la configurazione predefinita

sudo ln -s /etc/nginx/sites-available/odoo /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default

4. Verificare la configurazione Nginx

Controlliamo che non ci siano errori di sintassi:

sudo nginx -t

5. Ricaricare Nginx

Applichiamo le modifiche:

sudo systemctl reload nginx

6. Generare il certificato SSL con Certbot

Infine, richiediamo e installiamo automaticamente il certificato SSL per il dominio:

sudo certbot --nginx -dcrm.dominio.it

Seguiamo la procedura guidata, accettiamo i termini e scegliamo l’opzione per il redirect forzato a HTTPS.
A questo punto Odoo sarà disponibile in modo sicuro all’indirizzo:

https://crm.dominio.it

STEP 12 – Creazione del primo database Odoo tramite interfaccia web

Una volta che Odoo è installato, configurato e raggiungibile tramite HTTPS, il passo successivo è la creazione del primo database,
necessario per iniziare a utilizzare la piattaforma ERP.

1. Accedere all’interfaccia web

Apriamo un browser e colleghiamoci all’indirizzo configurato per Odoo:

https://crm.dominio.it

2. Inserire la master password

Per procedere alla creazione di un nuovo database viene richiesta la master password, definita nel file
/etc/odoo/odoo.conf alla voce admin_passwd.
Nella nostra configurazione la password è:

CrystalMoonLight55@

3. Configurare il database

Compiliamo i campi richiesti con i seguenti dati:

  • Database Name: un nome a scelta, ad esempio gestionale
  • Email Admin: l’indirizzo email dell’amministratore, ad esempio in**@*****io.it
  • Password Admin: una password sicura per l’utente amministratore di Odoo
  • Language: Italiano
  • Country: Italy

4. Creare il database

Clicchiamo su Create Database per avviare la procedura di configurazione.
Odoo creerà automaticamente le tabelle e i dati di base necessari per il funzionamento del sistema.

A questo punto l’istanza di Odoo è pronta e accessibile tramite l’account amministratore appena creato.
Da qui sarà possibile installare moduli, configurare gli utenti e personalizzare la piattaforma secondo le esigenze aziendali.

Abbiamo realizzato questa guida all’installazione di Odoo 18 inizialmente per uso interno, ma abbiamo deciso di condividerla anche con clienti, partner e amici che vogliono avvicinarsi a questa potente piattaforma ERP.

Esistono diversi approcci per installare e configurare Odoo e le possibilità di personalizzazione sono davvero ampie. Quella che hai appena letto è la nostra procedura base, pensata per garantire stabilità e sicurezza fin dall’inizio.

Se durante l’installazione riscontri difficoltà o hai bisogno di una configurazione più avanzata, il nostro team è a tua disposizione. Puoi contattarci in qualsiasi momento scrivendo a:
 su*****@********up.it

#ERP open source #guida Odoo #installazione Odoo #Odoo 18 #Ubuntu 24.04