Come configurare Odoo come servizio di sistema su Ubuntu e Debian
Odoo è una potente e flessibile piattaforma ERP open-source che supporta diverse esigenze aziendali. Configurare Odoo come servizio di sistema garantisce che si avvii automaticamente all’avvio del server, rendendo la distribuzione più robusta e conveniente. Questa guida illustra il processo per configurare Odoo come servizio di sistema su un sistema basato su Ubuntu.
Comprendere il sistema di Init
Prima di procedere con la configurazione, è importante capire quale sistema di init viene utilizzato dal tuo sistema operativo. Il sistema di init è responsabile dell’avvio dei servizi quando il sistema si avvia. Storicamente, Debian (e i sistemi derivati) utilizzavano sysvinit
, ma le più recenti versioni hanno adottato systemd
.
Verificare il sistema di Init
Per determinare quale sistema di Init è presente nel tuo sistema, esegui il comando:
$ man init
Questo comando apre la documentazione relativa al sistema di init attualmente in uso. Se stai utilizzando una versione moderna di Ubuntu (16.04 o successiva), è molto probabile che tu stia usando systemd
.
Configurare Odoo come Servizio di Sistema su Ubuntu 16.04 e successivi
Creazione del file di Servizio
Per i sistemi più recenti, come Ubuntu 16.04 e versioni successive che utilizzano systemd
, puoi creare un file di servizio seguendo questi passaggi:
- Crea il file di Servizio:
bash
$ sudo nano /lib/systemd/system/odoo.service
- Aggiungi il seguente contenuto al file:
```ini [Unit] Description=Odoo After=postgresql.service
[Service] Type=simple User=odoo Group=odoo ExecStart=/home/odoo/odoo-18/odoo-bin -c /etc/odoo/odoo.conf
(La riga sopra presuppone che Odoo venga eseguito con l’utente e il gruppo `odoo`, all’interno della cartella /home/odoo/odoo-18, utilizzando il file odoo.conf che si trova nella cartella /etc/odoo. Questi parametri devono essere adattati dall’amministratore di sistema in base alla configurazione reale.)
[Install] WantedBy=multi-user.target ```
- Copia il file di servizio di esempio fornito con il codice sorgente di Odoo:
bash
$ sudo cp /home/odoo/odoo-12/debian/odoo.service /lib/systemd/system/odoo.service
-
Modifica l'opzione
ExecStart
se necessario per adattarla al tuo ambiente. - Registra il nuovo servizio:
bash
$ sudo systemctl enable odoo.service
- Avvia il servizio:
bash
$ sudo systemctl start odoo
- Verifica lo stato del servizio:
bash
$ sudo systemctl status odoo
- Ferma il servizio se necessario:
bash
$ sudo systemctl stop odoo
Configurare Odoo come Servizio di Sistema su vecchie versioni di Ubuntu e Debian
Per sistemi più datati, come Debian 7 o Ubuntu 15.04, che utilizzano sysvinit
o Upstart
, puoi usare lo script di init fornito nel codice sorgente di Odoo. Ecco come fare:
Copia e modifica lo script di init:
bash
$ sudo cp /home/odoo/odoo-18/debian/init /etc/init.d/odoo
$ sudo chmod +x /etc/init.d/odoo
Edit the init script to configure it for your environment:
Dopo aver copiato lo script in /etc/init.d/, rivedi e, se necessario, adatta i parametri principali definiti all’inizio del file. Una configurazione tipica appare così:
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin DAEMON=/usr/bin/odoo NAME=odoo DESC=odoo CONFIG=/etc/odoo/odoo.conf LOGFILE=/var/log/odoo/odoo-server.log PIDFILE=/var/run/${NAME}.pid USER=odoo
Queste variabili funzionano di solito come valori predefiniti, ma possono essere modificate per adattarsi al tuo ambiente:
- USER → indica l’utente di sistema sotto cui Odoo verrà eseguito. Generalmente è l’utente odoo creato in precedenza.
-
DAEMON → indica il percorso dell’eseguibile di Odoo. Se il file odoo-bin si trova in un’altra posizione (ad esempio /home/odoo/odoo-18/odoo-bin), puoi creare un link simbolico per renderlo accessibile nella posizione prevista:
sudo ln -s /home/odoo/odoo-18/odoo-bin /usr/bin/odoo sudo chown -h odoo /usr/bin/odoo
- CONFIG →specifica il file di configurazione, che normalmente si trova in /etc/odoo/odoo.conf.
- LOGFILE → definisce dove vengono scritti i log. Assicurati che la cartella /var/log/odoo esista e sia scrivibile dall’utente odoo.
Avviare e fermare il Servizio
Una volta che lo script è stato configurato, puoi gestire il servizio come di seguito:
Avvia Odoo:
sudo /etc/init.d/odoo start
Ferma Odoo:
sudo /etc/init.d/odoo stop
Su alcune distribuzioni puoi anche utilizzare il comando service:
sudo service odoo start sudo service odoo status sudo service odoo stop
Abilitare l'avvio automatico
Per fare in modo che Odoo si avvii automaticamente all’accensione del server, registra il servizio con:
sudo update-rc.d odoo defaults
Da questo momento, Odoo verrà avviato automaticamente durante lo startup del sistema.
Verifica del servizio
A questo punto, dovresti confermare che la tua istanza Odoo sia in esecuzione correttamente:
-
Verifica se Odoo risponde a richieste HTTP dall’interno del server:
curl http://localhost:8069
Dovresti ricevere un reindirizzamento verso /web. -
Controlla il file di log per eventuali errori o avvisi:
sudo less /var/log/odoo/odoo-server.log
-
Monitora i log in tempo reale:
sudo tail -f /var/log/odoo/odoo-server.log
Conclusioni
Abbiamo visto come configurare Odoo come servizio di sistema utilizzando sia systemd (per i sistemi Ubuntu moderni), sia SysVinit/Upstart (per i sistemi più vecchi).
Configurare Odoo come servizio garantisce:
- Avvio automatico quando il server viene riavviato
- gestione più semplice con i comandi standard del sistema,
- centralizzazione del logging e del monitoraggio.
Sebbene questa guida si concentri su Ubuntu, le stesse procedure si applicano alla maggior parte delle distribuzioni basate su Debian, poiché Ubuntu stesso deriva da Debian. Pertanto, che tu stia utilizzando Ubuntu o Debian, puoi fare affidamento su queste istruzioni per configurare Odoo come un servizio stabile e facilmente gestibile.
Come configurare Odoo come servizio di sistema: guida rapida