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:
-
La_tua_password, che deve essere sostituito con la password scelta e personalizzata dall’amministratore di sistema. -
crm.dominio.it, che deve essere sostituito con il proprio dominio di secondo livello (es. gestionale.azienda.it) o, se si preferisce, con un dominio di primo livello (es. azienda.it).
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-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
4. Verificare lo stato di Fail2ban
sudo systemctl status fail2ban
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
info@dominio.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:
support@gtechgroup.it




