Skip to main content

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.

Conformità fatturazione elettronica (Francia)

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:

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

ComponenteMinimoConsigliato
RAM2 GB4-8 GB
CPU2 core4 core
Storage10 GB SSD20 GB SSD
Rete100 Mbps1 Gbps
Porta predefinita

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
Password

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

--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
ParametroDescrizione
admin_passwdPassword per l'interfaccia di gestione database (creazione, backup, ecc.)
db_hostHost PostgreSQL (spesso localhost)
db_userUtente PostgreSQL creato per Odoo
db_passwordPassword utente PostgreSQL
addons_pathPercorso agli addon Odoo
logfileFile 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
Versione Python

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.

Porta

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

ComandoDescrizione
sudo systemctl start odoo19Avvia Odoo
sudo systemctl stop odoo19Arresta Odoo
sudo systemctl restart odoo19Riavvia Odoo
sudo systemctl status odoo19Stato del servizio
sudo tail -f /var/log/odoo/odoo19.logSegui i log in tempo reale

Struttura dei file

PercorsoDescrizione
/opt/odoo19/Installazione Odoo (codice sorgente, venv)
/opt/odoo19/addons/Addon ufficiali
/etc/odoo19.confFile di configurazione
/var/log/odoo/odoo19.logFile 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_password e db_port in /etc/odoo19.conf
  • Testa la connessione: sudo -u postgres psql -c "\du" (elenco utenti)
  • Verifica che l'utente odoo19 esista 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

Riferimenti