Come installare Odoo 17 su un server europeo sicuro: guida completa

Scopri come installare, configurare e mettere in sicurezza Odoo 17 su un server Linux ospitato in Europa. Tutorial passo-passo su configurazione di PostgreSQL, reverse proxy, SSL e hosting conforme al GDPR.

By Alplink Tech Team · 2026-03-25 · 6 min read

Se gestisci un'azienda europea e hai bisogno di un sistema ERP che rispetti la sovranità dei tuoi dati, installare Odoo 17 su un server fisicamente situato nell'UE è una delle scelte più intelligenti che puoi fare. Eppure la maggior parte dei tutorial tralascia i dettagli fondamentali: dove si trova effettivamente il server, come metterlo in sicurezza per la produzione e quali obblighi GDPR assumi nel momento in cui i dati dei clienti vengono scritti su disco.

Questa guida ti accompagna nell'installazione di Odoo 17 su un server Linux europeo partendo da zero — coprendo PostgreSQL, reverse proxy Nginx, certificati SSL e le misure di sicurezza di base necessarie per ogni istanza in produzione.

Perché la posizione del server conta per Odoo

Odoo archivia tutto — fatture, contatti dei clienti, dati dei dipendenti, dati contabili. Secondo il GDPR, questo configura un trattamento di dati personali. Se il tuo server si trova fuori dall'UE (o presso un provider con sede negli Stati Uniti soggetto al CLOUD Act), potresti avere problemi di conformità indipendentemente da quanto dichiarato nella tua informativa sulla privacy.

Scegliere un provider di hosting europeo con server nell'UE elimina questo rischio a livello infrastrutturale. Niente Standard Contractual Clauses da gestire, nessuna decisione di adeguatezza da monitorare — i tuoi dati restano semplicemente sotto la giurisdizione europea.

Prerequisiti

Prima di iniziare, assicurati di avere:

  • Un server Ubuntu 22.04 LTS o Debian 12 appena installato, con almeno 2 vCPU, 4 GB di RAM e 40 GB SSD
  • Un nome di dominio che punta all'indirizzo IP del tuo server
  • Accesso root o sudo via SSH
  • Il server ospitato in un data centre nell'UE (Germania, Finlandia, Francia o Paesi Bassi sono scelte comuni)

Passaggio 1: Preparazione del sistema

Aggiorna il sistema e installa le dipendenze necessarie:

sudo apt update && sudo apt upgrade -y
sudo apt install -y git python3-pip python3-dev python3-venv \
  libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev \
  libldap2-dev build-essential libssl-dev libffi-dev \
  libjpeg-dev libpq-dev liblcms2-dev libblas-dev \
  libatlas-base-dev node-less npm wkhtmltopdf

Crea un utente di sistema dedicato per Odoo — non eseguirlo mai come root:

sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo

Passaggio 2: Installare e configurare PostgreSQL

Odoo richiede PostgreSQL. Installalo e crea un utente del database:

sudo apt install -y postgresql
sudo su - postgres
createuser --createdb --username postgres --no-createrole \
  --no-superuser --pwprompt odoo
exit

Scegli una password robusta e conservala in modo sicuro. Questo utente sarà il proprietario di tutti i database Odoo.

Per la produzione, ottimizza PostgreSQL in base alla RAM disponibile. Modifica /etc/postgresql/15/main/postgresql.conf:

shared_buffers = 1GB
effective_cache_size = 3GB
work_mem = 16MB
maintenance_work_mem = 256MB

Riavvia PostgreSQL dopo le modifiche:

sudo systemctl restart postgresql

Passaggio 3: Installare Odoo 17 dal sorgente

Clona il repository ufficiale e configura un ambiente virtuale Python:

sudo su - odoo
git clone https://github.com/odoo/odoo.git --depth 1 \
  --branch 17.0 /opt/odoo/odoo17
python3 -m venv /opt/odoo/odoo17-venv
source /opt/odoo/odoo17-venv/bin/activate
pip install wheel
pip install -r /opt/odoo/odoo17/requirements.txt
deactivate
exit

Crea il file di configurazione di Odoo in /etc/odoo.conf:

[options]
admin_passwd = YOUR_STRONG_MASTER_PASSWORD
db_host = localhost
db_port = 5432
db_user = odoo
db_password = YOUR_DB_PASSWORD
addons_path = /opt/odoo/odoo17/addons
default_productivity_apps = True
logfile = /var/log/odoo/odoo.log
log_level = warn
xmlrpc_port = 8069
proxy_mode = True

Importante: Imposta proxy_mode = True poiché Odoo verrà eseguito dietro Nginx.

Passaggio 4: Creare un servizio Systemd

Crea il file /etc/systemd/system/odoo17.service:

[Unit]
Description=Odoo 17
After=network.target postgresql.service

[Service]
Type=simple
SyslogIdentifier=odoo17
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo17-venv/bin/python3 \
  /opt/odoo/odoo17/odoo-bin -c /etc/odoo.conf
StandardOutput=journal+console
Restart=on-failure

[Install]
WantedBy=multi-user.target

Abilita e avvia il servizio:

sudo systemctl daemon-reload
sudo systemctl enable --now odoo17

Passaggio 5: Configurare Nginx come reverse proxy con SSL

Installa Nginx e Certbot per i certificati gratuiti Let's Encrypt:

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

Crea la configurazione del sito Nginx in /etc/nginx/sites-available/odoo:

upstream odoo {
    server 127.0.0.1:8069;
}

server {
    listen 80;
    server_name your-domain.eu;

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl http2;
    server_name your-domain.eu;

    ssl_certificate /etc/letsencrypt/live/your-domain.eu/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your-domain.eu/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;

    client_max_body_size 200m;

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

    location ~* /web/static/ {
        proxy_cache_valid 200 90m;
        proxy_buffering on;
        expires 864000;
        proxy_pass http://odoo;
    }
}

Abilita il sito e ottieni il certificato SSL:

sudo ln -s /etc/nginx/sites-available/odoo /etc/nginx/sites-enabled/
sudo certbot --nginx -d your-domain.eu
sudo systemctl restart nginx

Passaggio 6: Hardening della sicurezza

Un'istanza Odoo in produzione ha bisogno di molto più del solo SSL. Applica queste misure di sicurezza essenziali:

Regole firewall — consenti solo SSH, HTTP e HTTPS:

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

Disabilita il database manager in produzione aggiungendo a /etc/odoo.conf:

list_db = False

Abilita gli aggiornamenti di sicurezza automatici:

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Configura fail2ban per proteggerti dagli attacchi brute-force:

sudo apt install -y fail2ban

Backup automatici

I dati di Odoo sono il tuo business. Configura backup giornalieri di PostgreSQL:

sudo -u odoo pg_dump odoo_production | gzip > \
  /opt/odoo/backups/odoo_$(date +%F).sql.gz

Aggiungi questo comando a un cron job e valuta la replica dei backup in una seconda località nell'UE per il disaster recovery.

Errori comuni da evitare

  • Eseguire Odoo come root — usa sempre un utente di sistema dedicato
  • Dimenticare proxy_mode — senza questa opzione, Odoo non riesce a vedere gli IP reali dei client dietro Nginx
  • Usare la master password predefinita — cambia admin_passwd immediatamente
  • Nessuna strategia di backup — la corruzione del database o una cancellazione accidentale ti costeranno caro
  • Ignorare la rotazione dei log — i log di Odoo possono riempire il disco; configura logrotate

Quando il self-hosting diventa un peso

Installare Odoo in autonomia ti dà il pieno controllo, ma significa anche assumerti ogni responsabilità operativa: patch di sicurezza, ottimizzazione di PostgreSQL, rinnovo dei certificati SSL, verifica dei backup, monitoraggio dell'uptime e scalabilità man mano che la tua azienda cresce.

Molte aziende europee iniziano con il self-hosting per poi rendersi conto che il carico operativo sottrae tempo di sviluppo al proprio prodotto principale. È esattamente il problema che Alplink risolve.

In Alplink gestiamo hosting Odoo completamente gestito su infrastruttura europea basata su NixOS — con deployment riproducibili, backup automatici, hardening della sicurezza e conformità GDPR integrata fin dal primo giorno. Ottieni tutti i vantaggi del self-hosting (piena sovranità sui dati, residenza dei dati esclusivamente nell'UE) senza il peso operativo. Contattaci e lascia che ci occupiamo noi dell'infrastruttura, così potrai concentrarti sulla tua azienda.