Come installare OpenERP 6 su Ubuntu 10.04 LTS Server
- Questa guida illustra un’installazione manuale e riproducibile di OpenERP 6 su Ubuntu 10.04 LTS. Segui i passi: preparare il server, creare l’utente openerp, installare PostgreSQL, dipendenze Python, scaricare ed estrarre il codice, configurare il file di configurazione e avviare il server. La procedura dà controllo sugli aggiornamenti e sulla sicurezza.
Importante: questa guida presuppone accesso root o privilegi sudo e conoscenze base di amministrazione Linux. Non è una guida completa alla hardening del server, ma include sezioni su sicurezza, backup e aggiornamenti.
- Introduzione
- Obiettivi
- Prerequisiti
- Passo 1. Costruire il server
- Passo 2. Creare l’utente OpenERP
- Passo 3. Installare PostgreSQL e creare l’utente DB
- Passo 4. Installare le librerie Python necessarie
- Passo 5. Scaricare e installare il codice OpenERP
- Passo 6. Configurare l’applicazione OpenERP
- Avvio del server per test
- Alternative e approcci diversi
- Aggiornamenti e strategia di upgrade
- Backup e recovery essenziali
- Sicurezza e hardening rapido
- Casi in cui questo metodo fallisce
- Checklist per i ruoli: Amministratore, Operatore, Sviluppatore
- Criteri di accettazione
- Glossario rapido
- Rischi comuni e mitigazioni
- Esempi di test/criteri di accettazione
- Sommario
Introduzione
Questa guida è una traduzione e adattamento pratico di un tutorial originariamente pubblicato da Alan Lord. L’obiettivo è spiegare un metodo manuale per installare OpenERP 6 su Ubuntu 10.04 LTS Server. L’approccio manuale offre maggiore controllo rispetto ai pacchetti preconfezionati, facilita aggiornamenti controllati e supporta personalizzazioni.
Obiettivi
Il sistema finale dovrebbe:
- A: Essere accessibile solo tramite servizi cifrati (SSL) per il client GTK, il browser Web, WebDAV e CalDAV.
- B: Essere facilmente aggiornabile e personalizzabile.
Questo documento indica scelte pratiche per raggiungere questi obiettivi.
Prerequisiti
- Accesso root o sudo.
- Una macchina con Ubuntu 10.04 LTS Server installato.
- Conoscenze base di Linux (shell, editor di testo, gestione pacchetti).
- Connettività internet dal server per scaricare pacchetti e sorgenti.
Nota: per ambienti di produzione, considera snapshot/backup prima di cambiare configurazioni critiche.
Passo 1. Costruire il server
Installa il minimo richiesto dal processo di installazione di Ubuntu. Puoi aggiungere openssh-server durante l’installazione o dopo, a seconda della tua preferenza.
Dopo il primo riavvio, installa openssh-server e denyhosts per una protezione base contro brute-force:
sudo apt-get install openssh-server denyhosts
Questa guida non è un how-to completo sulla sicurezza, ma usare l’accesso SSH con chiavi pubbliche è consigliato per ridurre i rischi.
Aggiorna il sistema:
sudo apt-get update
sudo apt-get dist-upgrade
Consiglio: riavviare e verificare l’accesso SSH prima di procedere.
Passo 2. Creare l’utente OpenERP che eseguirà l’applicazione
Crea un utente di sistema per eseguire OpenERP:
sudo adduser --system --home=/opt/openerp --group openerp
Spiegazione rapida: un utente di sistema ha UID < 1000, shell impostata su /bin/false e login disabilitato. La home /opt/openerp è il posto dove metteremo il codice server e (opzionalmente) il client web.
Nota: se scegli un percorso diverso da /opt/openerp dovrai adattare le istruzioni successive.
Passo 3. Installare e configurare PostgreSQL
Installa PostgreSQL:
sudo apt-get install postgresql
Configura l’utente database per OpenERP. Primo cambia all’utente postgres:
sudo su - postgres
Crea il nuovo ruolo (utente DB) che OpenERP userà per connettersi e gestire i database:
createuser --createdb --username postgres --no-createrole --pwprompt openerp
Il comando chiederà una password. Ricordala; la userai nel file di configurazione di OpenERP.
Esempio d’interazione:
Enter password for new role: <– Enter it again: <– Shall the new role be a superuser? (y/n) <– y
Infine esci dall’utente postgres:
exit
Nota: concedere privilegi di superuser al ruolo openerp è comodo per l’installazione e la gestione dei DB ma valuta le implicazioni di sicurezza; in ambienti più restrittivi si può limitare il ruolo.
Passo 4. Installare le librerie Python necessarie per il server
Installa i pacchetti Python richiesti:
sudo apt-get install python python-psycopg2 python-reportlab \
python-egenix-mxdatetime python-tz python-pychart python-mako \
python-pydot python-lxml python-vobject python-yaml python-dateutil \
python-pychart python-pydot python-webdav
Se prevedi di usare il client web, installa anche:
sudo apt-get install python-cherrypy3 python-formencode python-pybabel \
python-simplejson python-pyparsing
Spiegazione: sono le dipendenze comuni per OpenERP 6; alcuni pacchetti possono duplicarsi a seconda dei repository preinstallati.
Passo 5. Installare il server OpenERP e il client web (opzionale)
Scarica i sorgenti (usa wget o il tuo metodo preferito). All’epoca della stesura la versione era 6.0.2:
wget http://www.openerp.com/download/stable/source/openerp-server-6.0.2.tar.gz
Client web (opzionale):
wget http://www.openerp.com/download/stable/source/openerp-web-6.0.2.tar.gz
Estrai i tarball in /opt/openerp/ (esegui come root o con sudo):
cd /opt/openerp
sudo tar xvf ~/openerp-server-6.0.2.tar.gz
sudo tar xvf ~/openerp-web-6.0.2.tar.gz
Cambia i permessi dei file in modo che l’utente openerp li possieda:
sudo chown -R openerp: *
Copia le directory in nomi più semplici per facilitare gli upgrade:
sudo cp -a openerp-server-6.0.2 server
sudo cp -a openerp-web-6.0.2 web
Strategia di upgrade: quando esce una nuova versione estrai il tarball nello stesso path, testalo e poi esegui nuovamente la copia per sovrascrivere i file della directory server/web. In questo modo moduli personalizzati e file utente rimangono coerenti.
Passo 6. Configurare l’applicazione OpenERP
Salva il file di configurazione in /etc/openerp-server.conf con i permessi appropriati. Di seguito un esempio tradotto e adattato del file di configurazione:
[options]
; This is the password that allows database operations
; Will be written to by the server when password is changed
; !! Keep this file secure !!
; admin_passwd = admin
root_path = /opt/openerp/server/bin
without_demo = False
verbose = False
; Database settings
db_user = openerp
db_password = ********
; Please uncomment the following line *after* you have created the
; database. It activates the auto module check on startup.
; db_name = False
db_port = False
db_host = False
db_maxconn = 64
; Networking Settings
xmlrpc = True
xmlrpc_interface =
xmlrpc_port = 8069
netrpc = True
netrpc_interface =
netrpc_port = 8070
; Uncomment these for xml-rpc over SSL
;xmlrpcs = True
;xmlrpcs_interface =
;xmlrpcs_port = 8071
;secure_pkey_file = /etc/ssl/openerp/server.pkey
;secure_cert_file = /etc/ssl/openerp/server.crt
; Log settings
logfile = /var/log/openerp/openerp-server.log
syslog = False
logrotate = True
log_level = info
; False prevents the client displaying the list of databases
list_db = True
addons_path = /opt/openerp/server/bin/addons
demo = {}
soap = False
reportgz = False
translate_modules = ['all']
; Static http parameters
static_http_enable = False
static_http_document_root = /var/www/html
static_http_url_prefix = /
; Outbound email configuration
;smtp_user = [email protected]
;email_from = "OpenERP Support" <[email protected]>
;smtp_port = 25
;smtp_password = ********
;smtp_ssl = True
;smtp_server = mail.example.com
Copia il contenuto in /etc/openerp-server.conf e poi proteggi il file:
sudo chown openerp:root /etc/openerp-server.conf
sudo chmod 640 /etc/openerp-server.conf
Modifica db_password con la password scelta nel Passo 3 usando il tuo editor preferito, ad esempio nano:
sudo nano /etc/openerp-server.conf
Avvio di prova del server
Per verificare che il server parta, esegui:
/opt/openerp/server/bin/openerp-server.py --config=/etc/openerp-server.conf
Nota: se lo avvii come utente normale non potrà connettersi a PostgreSQL con le credenziali dell’utente openerp. Premi CTRL+C per fermare il processo di test.
Per avviare il server correttamente in produzione, configura uno script init o usa un gestore di processi (systemd non era disponibile su Ubuntu 10.04 per default; utilizzare Upstart o uno script init.d). Esempio di gestione con init.d non è incluso qui, ma è raccomandabile creare uno script che esegua il server come utente openerp e faccia il logging in /var/log/openerp/.
Alternative e approcci diversi
- Installazione tramite pacchetto apt (openerp-server): semplice ma può fornire versioni obsolete e ridurre controllo sulle configurazioni.
- Installazione in ambiente virtualenv: utile per isolare dipendenze Python e testare versioni multiple.
- Utilizzo di container (Docker): non trattato qui perché Docker non era comune su Ubuntu 10.04, ma è un’opzione moderna valida oggi.
- Pacchetti ufficiali o repository terze parti: più comodi, ma valutare la fiducia della fonte.
Quando usare i pacchetti: in ambienti non critici o per POC dove la versione del pacchetto è adeguata. Se hai bisogno di moduli personalizzati o di una versione specifica, preferisci l’installazione manuale.
Aggiornamenti e strategia di upgrade
Mental model: mantieni sempre due copie del codice — la versione attiva (server/) e l’archivio sorgente (openerp-server-VERSION/). Procedura consigliata:
- Scarica ed estrai la nuova versione in una directory separata.
- Testa la nuova versione in un ambiente di staging usando una copia del database o snapshot.
- Se tutto è OK, copia i file aggiornati nella directory server/ sovrascrivendo quelli esistenti.
- Riavvia il servizio durante una finestra di manutenzione.
- Conserva la versione precedente fino a verifica completata.
Note: sempre eseguire backup del DB prima dell’upgrade.
Backup e recovery essenziali
Backup consigliati:
- Dump periodico del database PostgreSQL: pg_dump o pg_dumpall.
- Backup dei file di configurazione: /etc/openerp-server.conf, script init.
- Backup dei moduli personalizzati in /opt/openerp/server/bin/addons.
Esempio dump del database:
sudo -u postgres pg_dumpall > /root/backup_pg_`date +%F`.sql
Verifica regolarmente i backup ripristinando su un ambiente di test.
Sicurezza e hardening rapido
- Usa SSL/TLS per web e XML-RPC. Configura proxy inverso (nginx o Apache) con certificati validi.
- Limita l’accesso alle porte del server tramite firewall (ufw o iptables). Apri solo le porte necessarie.
- Esegui OpenERP con un utente non privilegiato (openerp).
- Proteggi /etc/openerp-server.conf: permessi 640, proprietà openerp:root.
- Disabilita la lista dei database (list_db = False) in ambiente di produzione quando usi il web client pubblico.
- Consenti accesso SSH con chiave pubblica e disabilita password SSH se possibile.
Nota: la gestione completa dei certificati e del proxy inverso richiede passi distinti e la generazione di CSR/chiavi.
Quando questo metodo può fallire
- Requisiti di versione: il processo usa librerie che possono essere incompatibili con versioni più moderne o troppo vecchie.
- Limitazioni del sistema operativo: Ubuntu 10.04 è end-of-life; pacchetti e repository potrebbero non essere aggiornati.
- Connettività: download dei tarball e dei pacchetti richiede accesso internet.
- Moduli esterni o dipendenze non presenti nei repository potranno richiedere installazione manuale.
In questi casi considera l’uso di container o la migrazione su un sistema operativo supportato.
Checklist basata sui ruoli
Amministratore di sistema:
- Creare utente openerp.
- Installare PostgreSQL e creare l’utente DB.
- Proteggere /etc/openerp-server.conf.
- Configurare il servizio init/upstart.
- Configurare firewall e backup.
Operatore/DevOps:
- Monitorare log: /var/log/openerp/openerp-server.log.
- Applicare aggiornamenti di sicurezza al sistema.
- Eseguire backup periodici e test di restore.
Sviluppatore/Integratore:
- Installare moduli personalizzati in addons_path.
- Testare i moduli su un ambiente di staging.
- Documentare le dipendenze dei moduli.
Criteri di accettazione
- OpenERP risponde sulle porte configurate (default 8069) tramite il proxy/SSL.
- Il server può connettersi a PostgreSQL con le credenziali impostate.
- Gli addon personalizzati si caricano senza errori.
- I backup vengono eseguiti e testati con successo.
Glossario rapido (1 linea per termine)
- OpenERP: suite ERP open source (ora nota come Odoo nelle versioni successive).
- Addons: moduli funzionali che estendono OpenERP.
- XML-RPC: protocollo remoto usato per comunicazione client-server.
- PostgreSQL: database relazionale usato da OpenERP.
Rischi comuni e mitigazioni
- Rischio: DB compromesso. Mitigazione: limitare privilegi e usare password forti.
- Rischio: perdita dati durante upgrade. Mitigazione: snapshot e backup verificati.
- Rischio: accesso non autorizzato all’API. Mitigazione: usare SSL e filtrare le IP.
Esempi di test / criteri di accettazione
- Avvio: il processo openerp-server gira come utente openerp.
- Connettività DB: connettersi al DB con psql usando le credenziali create.
- Funzionalità base: creare un database OpenERP tramite l’interfaccia web e creare un utente amministrativo.
- Moduli: installare e attivare un modulo custom senza errori nei log.
Note di compatibilità e migrazione
- OpenERP 6 è una major release rispetto a 5.x; verificare compatibilità dei moduli.
- Se si migra da una versione 5.x, eseguire test su un database di staging prima della migrazione definitiva.
- Considera la migrazione a una distribuzione Linux supportata se il server ha bisogno di security updates regolari.
Privacy / GDPR (note rapide)
- Se il sistema gestisce dati personali, documenta quali dati sono conservati e dove.
- Proteggi i backup con crittografia e accesso controllato.
- Configura policy di retention e cancellazione dati in accordo con le normative locali.
Sommario
Questa guida mostra come installare manualmente OpenERP 6 su Ubuntu 10.04 LTS. L’approccio manuale aumenta il controllo sulle versioni e la configurazione. Ricorda di testare gli upgrade, proteggere i file di configurazione, usare SSL per il traffico e mantenere backup regolari.
Importante: Ubuntu 10.04 LTS è una versione datata; per ambienti nuovi valuta una distribuzione più recente o soluzioni container.
Materiali simili

KB5062553 non si installa su Windows 11 — guida

Sviluppare un'app iOS di successo da zero

Schermo nero in Chrome: risoluzione rapida

Strumenti di scrittura AI: guida pratica
Installare OpenERP 6 su Ubuntu 10.04 LTS
