Intro
In questa guida vedremo come installare odoo versione 12, direttamente con pip, su Ubuntu 18.04.
Vedremo anche come installare i moduli OCA, in particolare quelli di fatturazione elettronica, disponibili su PyPI grazie a setuptools-odoo.
PostgreSQL
Il DBMS utilizzato da odoo è PostgreSQL, quindi, come prima cosa, con utente root, lo installiamo.
apt-get install postgresql
Poi passiamo all'utente postgres
su postgres
e creiamo l'utente odoo sul DBMS
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo
PostgreSQL è pronto.
L'utente odoo
Odoo verrà eseguito da un utente specifico, chiamato appunto odoo.
Utilizzando lo stesso nome dell'utente di postgreSQL, potremo accedere al DB utilizzando la modalità abilitata di default in postgreSQL: local.
Quindi, con utente root:
adduser odoo
In questo caso, se l'accesso SSH tramite password è abilitato, dovremo utilizzare una password forte.
Virtualenv
Sempre con utente root:
apt-get install python3-venv python3-pip libldap2-dev libsasl2-dev
Il pacchetto python3-venv ci permetterà di installare odoo in un virtual environment. In questo modo potremo isolare l'ambiente python dove eseguire odoo e potremo anche avere, sullo stesso sistema, diverse installazioni di odoo, anche di versioni diverse (ad esempio odoo 10 richiede python 2).
Mentre python3-pip installerà pip stesso.
libldap2-dev e libsasl2-dev contengono i file necessari a compilare python-ldap, modulo python utilizzato da odoo.
Passiamo quindi all'utente odoo
su odoo
e ci spostiamo nel percorso dove installeremo odoo, ad esempio nella home
cd ~
Qui creiamo il virtualenv
python3 -m venv odoo12
ci entriamo
cd odoo12
e lo attiviamo
source bin/activate
Odoo
Ora possiamo installare odoo core
pip install http://nightly.odoo.com/12.0/nightly/src/odoo_12.0.latest.tar.gz
Questo comando scarica e installa, da http://nightly.odoo.com/12.0/nightly/src/, l'ultima build di odoo rilasciata, installando automaticamente le sue dipendenze.
A questo punto odoo core è già funzionante; possiamo lanciarlo con
odoo
e visitare http://SERVER-IP:8069, ad esempio http://localhost:8069, per accedere e creare il primo database.
wkhtmltopdf
Per poter generare i report PDF, odoo necessita di wkhtmltopdf. La versione raccomandata è la 0.12.5, scaricabile eseguendo
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
Prima di installarlo, dobbiamo passare all'utente root ed installare le sue dipendenze
apt-get install xfonts-75dpi xfonts-base fontconfig libjpeg-turbo8 libxrender1
Infine installiamo wkhtmltopdf
dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
I moduli di fatturazione elettronica
Come anticipato, tutti i moduli OCA vengono nottetempo "compilati" e caricati su PyPI. I moduli OCA di fatturazione elettronica sono quindi anche loro installabili da PyPI con un semplice comando.
Prima di installarli però dobbiamo installare una loro dipendenza, ad una versione specifica: PyXB versione 1.2.5
Ritorniamo, con utente odoo, nella directory dove abbiamo installato odoo:
cd ~/odoo12/
riattiviamo, se necessario, il virtualenv
source bin/activate
A questo punto possiamo passare ad installare i moduli di fatturazione elettronica. Un modo semplice e veloce per farlo è installare direttamente il modulo per la trasmissione e ricezione via PEC tramite il sistema di interscambio.
Il modulo si chiama l10n_it_fatturapa_pec e dipende da tutti gli altri moduli atti a farlo funzionare, i quali verranno quindi installati automaticamente
pip install --pre odoo12-addon-l10n-it-fatturapa-pec
E' importante usare --pre perchè, in base alle dinamiche di revisione, rilascio e versionamento dei moduli OCA, i moduli che per pip sono pre-release, per OCA sono rilasci stabili.
Utilizzando il parametro --pre scarichiamo l'ultima versione disponibile, che potrebbe avere correzioni e nuove fuzionalità che altrimenti non installeremmo.
A questo punto possiamo nuovamente lanciare odoo
odoo
e, creando un nuovo database, o eseguendo "aggiorna lista moduli" nel database precedentemente creato, potremo installare il modulo l10n_it_fatturapa_pec e iniziare a inviare e ricevere fatture elettroniche.
Maggiori informazioni sul funzionamento dei moduli e la loro configurazione sono disponibili nel file README di ogni modulo.
Aggiornamenti
Per "congelare" la configurazione dell'installazione è possibile lanciare
pip freeze > requirements.txt
Il file requirements.txt conterrà tutti i pacchetti del nostro virtualenv, alla specifica versione installata.
Per aggiornare uno o più pacchetti, sarà quindi sufficiente modificare le versioni dei pacchetti in tale file e lanciare
pip install -U -r requirements.txt
E' anche possibile aggiornare automaticamente il file requirements.txt con strumenti come pip-upgrader.
Licenza
Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Condividi allo stesso modo 4.0 Internazionale.