Installare Odoo 19 su Ubuntu
Questa guida spiega come installare e configurare Odoo 19 su un server Ubuntu 24.04 LTS. Odoo 19 introduce numerosi miglioramenti funzionali e tecnici per semplificare i processi aziendali.
Odoo 19 è pronto per la fatturazione elettronica obbligatoria in Francia: dal 1° settembre 2026, le imprese soggette a IVA dovranno ricevere (e, in base alle dimensioni, emettere) fatture elettroniche in formato strutturato (Factur-X, UBL, CII) e, ove applicabile, PDF firmati con valore probatorio. Odoo consente di generare fatture PDF conformi e di integrare i flussi tramite piattaforme accreditate.
Ordina un Server
Per ospitare la tua istanza Odoo, HostMyServers offre diverse opzioni adatte:
- VPS Performance - Ideale per piccole strutture
- VPS NVMe - Ottimo rapporto qualità/prezzo
- Server Dedicati Eco - Per deployment con carico elevato
- Server Dedicati Performance - Prestazioni massime
Prerequisiti
- Accesso SSH come root o utente con sudo
- Sistema Ubuntu 24.04 LTS 64 bit
- Processore x64
- Minimo 2 GB RAM (4 GB consigliati per Odoo + PostgreSQL)
- Circa 10 GB spazio disco libero (SSD consigliato)
- Porta 8069 accessibile (interfaccia web Odoo)
Configurazione richiesta
| Componente | Minimo | Consigliato |
|---|---|---|
| RAM | 2 GB | 4-8 GB |
| CPU | 2 core | 4 core |
| Storage | 10 GB SSD | 20 GB SSD |
| Rete | 100 Mbps | 1 Gbps |
Odoo è in ascolto sulla porta 8069 (HTTP). Ricorda di aprire questa porta nel firewall.
Connessione al server
Assicurati di essere connesso al server Ubuntu prima di iniziare. A seconda dell'ambiente:
Connessione con utente e IP (porta predefinita)
Se il server utilizza la porta SSH standard (22):
ssh utente@indirizzo_ip_server
- utente: nome di accesso del server
- indirizzo_ip_server: indirizzo IP assegnato al tuo server
Connessione con porta personalizzata
Se il server utilizza una porta SSH diversa da 22:
ssh -p numero_porta utente@indirizzo_ip_server
Connessione con chiave PEM
Se è richiesta l'autenticazione con chiave PEM:
ssh -i /percorso/verso/tua/chiave.pem utente@indirizzo_ip_server
Scegli il metodo adatto alla tua configurazione. Una volta connesso, puoi procedere con l'installazione.
Aggiornamento del sistema
Aggiorna il server Ubuntu prima di installare Odoo 19:
sudo apt-get update
sudo apt-get upgrade -y
Sicurezza del server
Rafforza la sicurezza del server prima di continuare.
OpenSSH Server
Per la gestione remota:
sudo apt-get install -y openssh-server
Fail2Ban
Fail2Ban protegge dai tentativi di accesso a forza bruta bloccando temporaneamente gli IP coinvolti:
sudo apt-get install -y fail2ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
Verifica che Fail2Ban sia attivo:
sudo systemctl status fail2ban
Installazione pacchetti e librerie
Odoo 19 richiede diversi pacchetti di sistema. Installali con i seguenti comandi.
Pip e dipendenze Python
sudo apt-get install -y python3-pip
sudo apt-get install -y python3-dev libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential libssl-dev libffi-dev libpq-dev libjpeg-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev
Node.js e NPM
Node.js è utilizzato per alcune attività frontend di Odoo:
sudo apt-get install -y npm
Se il comando node non esiste, crea un collegamento simbolico:
sudo ln -sf /usr/bin/nodejs /usr/bin/node
Less e plugin CSS
Odoo utilizza Less come preprocessore CSS:
sudo npm install -g less less-plugin-clean-css
sudo apt-get install -y node-less
Installazione e configurazione PostgreSQL
Odoo 19 utilizza PostgreSQL per il database.
Installare PostgreSQL
sudo apt-get install -y postgresql
Creare l'utente database Odoo
Passa all'utente PostgreSQL e crea un utente dedicato:
sudo su - postgres
createuser --createdb --username postgres --no-createrole --superuser --pwprompt odoo19
exit
- createdb: consente all'utente di creare database
- odoo19: nome dell'utente PostgreSQL per Odoo
Scegli una password sicura per l'utente odoo19 e annotala per il file di configurazione.
Creazione utente di sistema Odoo
Crea un utente di sistema dedicato per eseguire Odoo:
sudo adduser --system --home=/opt/odoo19 --group odoo19
- --system: crea un utente di sistema (UID basso)
- --home=/opt/odoo19: directory di installazione di Odoo
- --group odoo19: gruppo con lo stesso nome
Recuperare Odoo 19 (Community) da GitHub
Installare Git
sudo apt-get install -y git
Clonare il repository Odoo 19
Connettiti come utente odoo19 e clona il repository nella home:
sudo su - odoo19 -s /bin/bash
cd /opt/odoo19
git clone https://github.com/odoo/odoo.git --depth 1 --branch 19.0 --single-branch .
exit
--branch 19.0 recupera il branch stabile Odoo 19. Per una versione di sviluppo, usa master.
Installazione pacchetti Python e dipendenze
Ambiente virtuale Python
sudo apt-get install -y python3-venv
sudo python3 -m venv /opt/odoo19/venv
Attivare l'ambiente e installare le dipendenze
sudo -s
cd /opt/odoo19
source venv/bin/activate
pip install -r requirements.txt
wkhtmltopdf (generazione PDF)
Odoo utilizza wkhtmltopdf per i report PDF. Scarica e installa il pacchetto appropriato:
# Dipendenza OpenSSL per alcune versioni di wkhtmltopdf
sudo wget -q http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb -O /tmp/libssl1.1.deb
sudo dpkg -i /tmp/libssl1.1.deb 2>/dev/null || true
# Font per i PDF
sudo apt-get install -y xfonts-75dpi
# Download wkhtmltopdf (versione Bionic compatibile con Ubuntu 24)
cd /tmp
sudo wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6.1-3.jammy_amd64.deb || sudo apt-get install -f -y
Se il pacchetto Jammy non è disponibile, puoi usare la versione Bionic:
sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo apt-get install -f -y
Disattivare l'ambiente virtuale
deactivate
exit
File di configurazione Odoo
Copiare il file di configurazione predefinito
sudo cp /opt/odoo19/debian/odoo.conf /etc/odoo19.conf
Modificare la configurazione
sudo nano /etc/odoo19.conf
Esempio di configurazione:
[options]
; Password per le operazioni sul database (creazione, backup, ecc.)
admin_passwd = TUA_PASSWORD_ADMIN
db_host = localhost
db_port = 5432
db_user = odoo19
db_password = TUA_PASSWORD_POSTGRESQL
addons_path = /opt/odoo19/addons
logfile = /var/log/odoo/odoo19.log
| Parametro | Descrizione |
|---|---|
admin_passwd | Password per l'interfaccia di gestione database (creazione, backup, ecc.) |
db_host | Host PostgreSQL (spesso localhost) |
db_user | Utente PostgreSQL creato per Odoo |
db_password | Password utente PostgreSQL |
addons_path | Percorso agli addon Odoo |
logfile | File di log |
Permessi e directory log
sudo mkdir -p /var/log/odoo
sudo chown odoo19:root /var/log/odoo
sudo chown odoo19: /etc/odoo19.conf
sudo chmod 640 /etc/odoo19.conf
Servizio systemd
Per gestire Odoo 19 come servizio (avvio, arresto, avvio al boot).
Creare il file di servizio
sudo nano /etc/systemd/system/odoo19.service
Contenuto:
[Unit]
Description=Odoo 19
Documentation=https://www.odoo.com
[Service]
Type=simple
User=odoo19
ExecStart=/opt/odoo19/venv/bin/python3 /opt/odoo19/odoo-bin -c /etc/odoo19.conf
[Install]
WantedBy=multi-user.target
Se il tuo venv usa una versione specifica (es. python3.12), adatta il percorso: /opt/odoo19/venv/bin/python3.12
Abilitare e avviare il servizio
sudo systemctl daemon-reload
sudo systemctl enable odoo19.service
sudo systemctl start odoo19.service
Verificare lo stato
sudo systemctl status odoo19.service
Consultare i log
sudo tail -f /var/log/odoo/odoo19.log
Accesso a Odoo
Apri un browser e vai a:
http://indirizzo_ip_o_dominio:8069
Al primo accesso, Odoo propone di creare un nuovo database: nome database, email, password e lingua.
La porta predefinita è 8069. Se hai modificato la porta in /etc/odoo19.conf (parametro http_port), usa quella porta nell'URL.
Configurazione firewall
Apri la porta 8069 se usi UFW:
sudo ufw allow 8069/tcp
sudo ufw reload
Comandi utili
| Comando | Descrizione |
|---|---|
sudo systemctl start odoo19 | Avvia Odoo |
sudo systemctl stop odoo19 | Arresta Odoo |
sudo systemctl restart odoo19 | Riavvia Odoo |
sudo systemctl status odoo19 | Stato del servizio |
sudo tail -f /var/log/odoo/odoo19.log | Segui i log in tempo reale |
Struttura dei file
| Percorso | Descrizione |
|---|---|
/opt/odoo19/ | Installazione Odoo (codice sorgente, venv) |
/opt/odoo19/addons/ | Addon ufficiali |
/etc/odoo19.conf | File di configurazione |
/var/log/odoo/odoo19.log | File di log |
In caso di problema
Il servizio non si avvia
- Controlla i log:
sudo journalctl -u odoo19.service -n 100 - Controlla la config:
sudo -u odoo19 /opt/odoo19/venv/bin/python3 /opt/odoo19/odoo-bin -c /etc/odoo19.conf --stop-after-init - Verifica che PostgreSQL sia avviato:
sudo systemctl status postgresql
Errore di connessione al database
- Controlla
db_host,db_user,db_passwordedb_portin/etc/odoo19.conf - Testa la connessione:
sudo -u postgres psql -c "\du"(elenco utenti) - Verifica che l'utente
odoo19esista in PostgreSQL
Impossibile accedere all'interfaccia web
- Verifica che la porta 8069 sia aperta:
sudo ss -tlnp | grep 8069 - Controlla il firewall:
sudo ufw status - Consulta i log Odoo per errori all'avvio
Problemi di prestazioni
- Aumenta le risorse del server (RAM, CPU)
- Configura un reverse proxy (Nginx/Apache) con cache e SSL
- Usa worker per le attività modificando i parametri in
odoo19.conf