Odoo devinst: differenze tra le versioni

Da PNLUG.
(DOWNLOAD)
(Preparazione di un nuovo modulo sperimentale)
 
(11 versioni intermedie di 4 utenti non mostrate)
Riga 46: Riga 46:
 
sudo su - postgres -c "createuser -s $USER"
 
sudo su - postgres -c "createuser -s $USER"
 
</pre>
 
</pre>
 +
 +
dove ''$USER'' è il nome che corrisponde al nome dell'utente attuale di UBUNTU, con il quale state eseguendo la configurazione.<br>
  
 
È molto utile installare nel sistema anche il pacchetto ''phppgadmin'', che utilizza una interfaccia web per facilitare il controllo e la manutenzione dei vari database.<br>
 
È molto utile installare nel sistema anche il pacchetto ''phppgadmin'', che utilizza una interfaccia web per facilitare il controllo e la manutenzione dei vari database.<br>
Riga 84: Riga 86:
  
 
=== ACCESSO A PHPPGADMIN DA REMOTO ===  
 
=== ACCESSO A PHPPGADMIN DA REMOTO ===  
 +
 +
Postgresql per motivi di sicurezza di default non permette l'accesso al database al di fuori dalla macchina su cui è installato e permette l'accesso dall'utente postgres senza password.
  
 
Se si installa postgres su una macchina remota ed è necessario doverci accedere anche con phppgadmin; sarà quindi necessario attivare l'accesso con password.<br>
 
Se si installa postgres su una macchina remota ed è necessario doverci accedere anche con phppgadmin; sarà quindi necessario attivare l'accesso con password.<br>
Riga 102: Riga 106:
 
</pre>
 
</pre>
  
a così, nel qual caso abbiamo deciso quali siano le famiglie di IP che vogliamo autorizzare:  
+
a così, nel qual caso abbiamo deciso quali siano le famiglie di IP che vogliamo autorizzare (localhost + famiglia IP della rete desiderata):  
  
 
<pre>
 
<pre>
Riga 148: Riga 152:
 
=== INSTALLAZIONE DELLE DIPENDENZE ===  
 
=== INSTALLAZIONE DELLE DIPENDENZE ===  
  
Se si installano subito le dipendenze (come desscritto nei vari manuali Odoo), si possono avere alcuni errori di dipendenza dei file, in quanto le varie dipendenze necessitano dell'installazione preventiva di alcune ulteriori librerie.<br>
+
Se si installano sin dall'inizio anche le dipendenze (come trovate descritto nei vari manuali e post in rete su Odoo), durante la prima installazione si possono avere alcuni errori di mancata dipendenza dei file, in quanto le varie dipendenze necessitano dell'installazione preventiva di alcune ulteriori librerie.<br>
La prima volta che ci abbiamo provato, abbiamo risolto le varie dipendenze andando per tentativi e visualizzando gli errori dati a terminale; successivamente abbiamo raccolto tutte e informazioni ed abbiamo ovviato al problema con quanto descritto di seguito.<br>
+
La prima volta che abbiamo provato l'installazione completa, abbiamo risolto le varie dipendenze andando per tentativi e visualizzando gli errori dati a terminale; successivamente abbiamo raccolto tutte e informazioni ed abbiamo ovviato al problema con quanto descritto di seguito.<br>
 
Per effettuare le varie operazioni, aprire un terminale ed eseguire:
 
Per effettuare le varie operazioni, aprire un terminale ed eseguire:
  
 
<pre>
 
<pre>
sudo apt install python-pip python-dev build-essential
+
sudo apt install python-pip
 
sudo apt install libjpeg-dev
 
sudo apt install libjpeg-dev
sudo apt install libxml2-dev libxslt1-dev
+
sudo apt install libxslt1-dev
 
sudo apt install python-ldap
 
sudo apt install python-ldap
 
sudo apt install libldap2-dev
 
sudo apt install libldap2-dev
 
sudo apt install libsasl2-dev
 
sudo apt install libsasl2-dev
sudo pip install --upgrade pip
+
sudo -H pip install --upgrade pip
sudo pip install img2pdf
+
sudo -H pip install img2pdf
  
 
sudo apt install -y npm
 
sudo apt install -y npm
Riga 168: Riga 172:
 
less
 
less
 
less --version
 
less --version
 +
</pre>
 +
 +
per evitare un fastidioso warning da parte di componenti della localizzazione italiana possiamo installare anche
 +
 +
<pre>
 +
sudo -H pip install codicefiscale
 +
</pre>
 +
 +
e se pensiamo di modificare sorgenti python possiamo installare il sistema di controllo di versione
 +
 +
<pre>
 +
sudo -H pip install watchdog
 
</pre>
 
</pre>
  
Riga 175: Riga 191:
 
<pre>
 
<pre>
 
cd ~/odoo-dev/OCB
 
cd ~/odoo-dev/OCB
sudo pip install -r requirements.txt
+
sudo -H pip install -r requirements.txt
 
</pre>
 
</pre>
  
Riga 184: Riga 200:
 
Si è scelto di attivare da subito i plugin della localizzazione italiana e di preparare un ambiente idoneo e pronto per lo sviluppo.<br>
 
Si è scelto di attivare da subito i plugin della localizzazione italiana e di preparare un ambiente idoneo e pronto per lo sviluppo.<br>
 
La versione OCB 10 di Odoo utilizza come script di avvio il file ''odoo-bin''; precedentemente veniva utilizzato il file ''odoo.py'', ma per il nostro utilizzo (sebbene sia la stessa cosa) preferiamo il primo.<br>
 
La versione OCB 10 di Odoo utilizza come script di avvio il file ''odoo-bin''; precedentemente veniva utilizzato il file ''odoo.py'', ma per il nostro utilizzo (sebbene sia la stessa cosa) preferiamo il primo.<br>
 +
 +
==== Creazione automatizzata del file di configurazione di Odoo ====
 +
Terminata l'installazione di Odoo, creare ulteriori 2 cartelle in ~/odoo-dev/ , con i seguenti nomi:
 +
* addons_custom
 +
* extra_data       
 +
 +
Nella cartella ''extra_data'' andremo successivamente a depositare il file di configurazione ''odoo.conf''  di Odoo.
 +
 +
Per creare '''in automatico''' il file di configurazione si deve lanciare il file ''odoo-bin'' con le opzioni di impostazioni della variabile ''addons-path'' e il parametro ''-s'' finale:<br>
 +
 +
Per effettuare le operazioni, aprire un terminale ed eseguire:
 +
 +
./odoo-bin --addons-path=~/odoo-dev/OCB/addons,~/odoo-dev/addons_ita,~/odoo-dev/addons_custom -s
 +
 +
Troverete ora un nuovo file ''nascosto'' nella cartella home, con il nome ''.odoorc''. Copiatelo nella cartella ''extra_data'', rinominandolo ''odoo.conf''.
 +
<br><br>
 +
'''NOTA''': All'avvio di Odoo, nel terminale potrete avere questa segnalazione di errore:<br>
 +
  The addons-path '~/odoo-dev/addons_custom' does not seem to a be a valid Addons Directory!
 +
 +
L'errore viene segnalato, in quanto la directory esiste, ma al suo interno Odoo cerca la struttura tipica di uno o più moduli e non la trova. <br>
 +
Per ovviare a questo errore, la cosa piú semplice per ora è quella di lanciare il comando senza inserire il path di quella directory.<br>
 +
Una volta che avrete creato la vostra prima App / Modulo custom, potrete aggiungere nuovamente il path nel file di configurazione che vi siete creati in precedenza.
 +
<br>
 +
 +
==== Preparazione di un nuovo modulo sperimentale ====
 +
 
Per effettuare le operazioni, aprire un terminale ed eseguire:
 
Per effettuare le operazioni, aprire un terminale ed eseguire:
  
Riga 189: Riga 231:
 
cd ~/odoo-dev
 
cd ~/odoo-dev
 
mkdir addons
 
mkdir addons
OCB/odoo-bin scaffold mymodule addons
+
./OCB/odoo-bin scaffold mymodule addons
 
</pre>
 
</pre>
  
 
con il comando ''scaffold'' prepariamo un modulo vuoto che poi verrà utilizzato per fare i nostri esperimenti.<br>
 
con il comando ''scaffold'' prepariamo un modulo vuoto che poi verrà utilizzato per fare i nostri esperimenti.<br>
 
<br>
 
<br>
A questo punto è stato preparato un piccolo script per lanciare Odoo con i parametri che ci servono (sono stati aggiunti i percorsi degli ''addons''); operando in questo modo si possono inserire anche altri parametri a proprio uso. <br><br>
+
A questo punto è consigliabile preparare un piccolo script per lanciare Odoo con i parametri che ci servono (sono stati aggiunti i percorsi degli ''addons''); operando in questo modo si possono inserire anche altri parametri a proprio uso. <br><br>
Il file dello script si chiama  ''~/odoo-dev/odoo.sh'' e per crearlo aprire un terminale ed eseguire:
+
 
 +
Creiamo questo file (''~/odoo-dev/odoo.sh'') con un editor di testo:
 +
 
 +
<pre>
 +
nano odoo.sh
 +
</pre>
 +
 
 +
e inseriamo il seguente codice:
  
 
<pre>
 
<pre>

Versione attuale delle 15:40, 1 mag 2017

Ritorna alla pagina principale di ODOO


INSTALLAZIONE DI ODOO

Le note di installazione seguenti potrebbero non essere adeguate per tutte le diverse versioni di Odoo e dei sistemi operativi linux; nel caso in cui si verificassero dei problemi durante l'installazione, sarà necessario risolvere il problema in base agli errori riscontrati e visualizzati dal sistema su cui si sta effettuando l'installazione.
La sequenza dei comandi qui descritti è corretta e non ci dovrebbero essere delle difficoltà a completare correttamente l'installazione.
Per prima cosa, assicuriamoci che il nostro sistema sia aggiornato, aprendo un terminale e digitando:

sudo apt update && sudo apt upgrade


INSTALLAZIONE DI WKHTMLTOX

wkhtmltopdf è un pacchetto richiesto per produrre documenti in formato PDF. Per installarlo ho preferito partire dai file precompilati in formato binario, presenti nel sito http://wkhtmltopdf.org.

Per effettuare l'installazione, aprire un terminale ed eseguire:

wget http://download.gna.org/wkhtmltopdf/0.12/0.12.3/wkhtmltox-0.12.3_linux-generic-amd64.tar.xz
tar xvf wkhtmltox-0.12.3_linux-generic-amd64.tar.xz 
sudo mv ./wkhtmltox /opt/wkhtmltox
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/local/bin/wkhtmltoimage

Naturalmente la versione del file compresso utilizzato può essere diversa da quella qui presa in esame.

INSTALLAZIONE DI POSTGRESQL

Il server postgres, sin da quando viene installato, ha un utente amministratore di nome postgres e NON utilizza alcuna password.
Se si utilizzerà postgres solo in locale questo va bene e non porta alcun problema di sicurezza, ma se è necessario accedere ai vari database anche da remoto è consigliabile inserire una password di protezione.
È necessario anche creare un utente postgres che abbia il nome del proprio utente, in modo tale da permettere ad Odoo di poter accedere al suo database, tramite l'utente che lancia lo script.

Per effettuare le varie operazioni, aprire un terminale ed eseguire:

sudo apt install postgresql
sudo apt install postgresql-server-dev-all
sudo apt install postgresql-client
sudo su - postgres -c "createuser -s $USER"

dove $USER è il nome che corrisponde al nome dell'utente attuale di UBUNTU, con il quale state eseguendo la configurazione.

È molto utile installare nel sistema anche il pacchetto phppgadmin, che utilizza una interfaccia web per facilitare il controllo e la manutenzione dei vari database.
Per fare ciò, abbiamo seguito quanto riportato nel sito https://kishorer.in.
Per effettuare l'installazione, aprire un terminale ed eseguire:

sudo apt install lamp-server^
sudo apt install phppgadmin

ricordandosi che nel file: /etc/phppgadmin/config.inc.php è necessario modificare la linea contenente il comando:

$conf['extra_login_security'] = false;

da true a false, in modo da permettere a phppgadmin di eseguire il login senza password; se invece si prevede di accedere anche dall'esterno della macchina, il comando va lasciato come lo trovate in originale.

Successivamente è necessario editare il file presente in /etc/postgresql/9.5/main/pg_hba.conf per garantire i permessi di accesso,

controllando che sia presente (o inserendo) il seguente testo:

local   all             all                                     trust
host    all             all             127.0.0.1/32            trust


Completate le operazioni, sarà necessario riavviare i servizi, utilizzando i comandi:

sudo service apache2 restart
sudo service postgresql start

Arrivati a questo punto, se non ci sono stati errori, aprendo un browser all'indirizzo http://localhost/phppgadmin si vedrà comparire l'interfaccia grafica che ci permetterà di amministrare i database.

ACCESSO A PHPPGADMIN DA REMOTO

Postgresql per motivi di sicurezza di default non permette l'accesso al database al di fuori dalla macchina su cui è installato e permette l'accesso dall'utente postgres senza password.

Se si installa postgres su una macchina remota ed è necessario doverci accedere anche con phppgadmin; sarà quindi necessario attivare l'accesso con password.
Per fare questo, prima assegnamo una password all'utente postgres con i seguenti comandi:

sudo su - postgres -c psql
\password
\q

di seguito andiamo ad editare il file /etc/apache2/conf-enabled/phppgadmin.conf per modificare le direttive di accesso, da così:

#deny from all
#allow from 127.0.0.0/255.0.0.0 ::1/128
allow from all

a così, nel qual caso abbiamo deciso quali siano le famiglie di IP che vogliamo autorizzare (localhost + famiglia IP della rete desiderata):

#Require local
order deny,allow
deny from all
allow from 127.0.0.0/255.0.0.0 ::1/128
allow from 192.168.1.0/24

Successivamente, è necessario editare il file /etc/postgresql/9.5/main/postgresql.conf e configurarlo come di seguito:

listen_addresses = '*'

È ora necessario riavviare nuovamente i servizi da terminale, con i comandi:

sudo service apache2 restart
sudo service postgresql start

DOWNLOAD

Tramite il terminale creare una cartella ad hoc che ospiterà i file scaricati, ed entrarci, con i comandi:

mkdir ~/odoo-dev
cd ~/odoo-dev

Scaricare la versione OCB di Odoo e la localizzazione della lingua italiana, con i comandi:

sudo apt install git
git clone --depth=1 --branch=10.0 https://github.com/OCA/OCB OCB
git clone --depth=1 --branch=10.0 https://github.com/OCA/l10n-italy addons_ita

Naturalmente si possono scaricare altre versioni di ODOO e si può scegliere se installare la versione OCB o quella ufficiale, i comandi dovranno essere adattati alla versione scelta.

INSTALLAZIONE DELLE DIPENDENZE

Se si installano sin dall'inizio anche le dipendenze (come trovate descritto nei vari manuali e post in rete su Odoo), durante la prima installazione si possono avere alcuni errori di mancata dipendenza dei file, in quanto le varie dipendenze necessitano dell'installazione preventiva di alcune ulteriori librerie.
La prima volta che abbiamo provato l'installazione completa, abbiamo risolto le varie dipendenze andando per tentativi e visualizzando gli errori dati a terminale; successivamente abbiamo raccolto tutte e informazioni ed abbiamo ovviato al problema con quanto descritto di seguito.
Per effettuare le varie operazioni, aprire un terminale ed eseguire:

sudo apt install python-pip
sudo apt install libjpeg-dev
sudo apt install libxslt1-dev
sudo apt install python-ldap
sudo apt install libldap2-dev
sudo apt install libsasl2-dev
sudo -H pip install --upgrade pip
sudo -H pip install img2pdf

sudo apt install -y npm
sudo ln -s /usr/bin/nodejs /usr/bin/node
node --version
sudo  npm install -g less
less
less --version

per evitare un fastidioso warning da parte di componenti della localizzazione italiana possiamo installare anche

sudo -H pip install codicefiscale

e se pensiamo di modificare sorgenti python possiamo installare il sistema di controllo di versione

sudo -H pip install watchdog

a questo punto si possono installare tutte le dipendenze di Odoo, come descritto di seguito.
Per effettuare queste operazioni, aprire un terminale ed eseguire:

cd ~/odoo-dev/OCB
sudo -H pip install -r requirements.txt

Se non sono stati segnalati degli errori durante l'installazione, fin da ora siamo pronti a far partire Odoo per la prima volta.

AVVIO DI ODOO

Si è scelto di attivare da subito i plugin della localizzazione italiana e di preparare un ambiente idoneo e pronto per lo sviluppo.
La versione OCB 10 di Odoo utilizza come script di avvio il file odoo-bin; precedentemente veniva utilizzato il file odoo.py, ma per il nostro utilizzo (sebbene sia la stessa cosa) preferiamo il primo.

Creazione automatizzata del file di configurazione di Odoo

Terminata l'installazione di Odoo, creare ulteriori 2 cartelle in ~/odoo-dev/ , con i seguenti nomi:

  • addons_custom
  • extra_data

Nella cartella extra_data andremo successivamente a depositare il file di configurazione odoo.conf di Odoo.

Per creare in automatico il file di configurazione si deve lanciare il file odoo-bin con le opzioni di impostazioni della variabile addons-path e il parametro -s finale:

Per effettuare le operazioni, aprire un terminale ed eseguire:

./odoo-bin --addons-path=~/odoo-dev/OCB/addons,~/odoo-dev/addons_ita,~/odoo-dev/addons_custom -s

Troverete ora un nuovo file nascosto nella cartella home, con il nome .odoorc. Copiatelo nella cartella extra_data, rinominandolo odoo.conf.

NOTA: All'avvio di Odoo, nel terminale potrete avere questa segnalazione di errore:

 The addons-path '~/odoo-dev/addons_custom' does not seem to a be a valid Addons Directory!

L'errore viene segnalato, in quanto la directory esiste, ma al suo interno Odoo cerca la struttura tipica di uno o più moduli e non la trova.
Per ovviare a questo errore, la cosa piú semplice per ora è quella di lanciare il comando senza inserire il path di quella directory.
Una volta che avrete creato la vostra prima App / Modulo custom, potrete aggiungere nuovamente il path nel file di configurazione che vi siete creati in precedenza.

Preparazione di un nuovo modulo sperimentale

Per effettuare le operazioni, aprire un terminale ed eseguire:

cd ~/odoo-dev
mkdir addons
./OCB/odoo-bin scaffold mymodule addons

con il comando scaffold prepariamo un modulo vuoto che poi verrà utilizzato per fare i nostri esperimenti.

A questo punto è consigliabile preparare un piccolo script per lanciare Odoo con i parametri che ci servono (sono stati aggiunti i percorsi degli addons); operando in questo modo si possono inserire anche altri parametri a proprio uso.

Creiamo questo file (~/odoo-dev/odoo.sh) con un editor di testo:

nano odoo.sh

e inseriamo il seguente codice:

#!/bin/sh
ODOOHOME=~/odoo-dev
$ODOOHOME/OCB/odoo-bin --addons-path=$ODOOHOME/OCB/addons,$ODOOHOME/addons_ita,$ODOOHOME/addons

In questo modo rendiamo disponibili gli addons standard di Odoo più gli addons della localizzazione in lingua italiana e quelli che svilupperemo noi di seguito.
È necessario rendere lo script eseguibile; per far questo aprire un terminale ed eseguire il comando:

chmod +x odoo.sh

Ora possiamo avviare Odoo con il comando:

sh ~/odoo-dev/odoo.sh

oppure, più semplicemente, con il comando:

cd ~/odoo-dev
./odoo.sh

La prima volta che verrà avviato Odoo vengono chiesti il nome del database da utilizzare e le credenziali di accesso ad esso; durante la prima creazione del dababase è possibile caricare in esso anche dei dati di esempio.

A questo punto verrà creato il database e verranno popolate le sue tabelle; questo potrebbe richiedere un pò di tempo di attesa, per permettere il caricamento dei dati di esempio nelle varie tabelle.
Come ogni applicazione web, anche Odoo mantiene dei suoi cookies per permettere di ricordare al browser quale sia stato l'ultimo database in uso; se si cancellano erroneamente i cookies della pagina we in uso, all'avvio successivo verrà chiesto nuovamente di scegliere il database da utilizzare.

AGGIORNAMENTO DI ODOO

Per mantenere aggiornato ODOO all'ultima versione stabile disponibile in rete, si usa ancora il comando git. Per avviare l'aggiornamento dei file, aprire un terminale e digitare:

cd ~/odoo-dev/OCB
git pull
cd ../addons_ita
git pull
cd ..

Dopo ogni aggiornamento è anche necessario aggiornare le dipendenze python, in quanto potrebbe capitare che nel frattempo potrebbero essere variate.
Per avviare l'aggiornamento dei file, aprire un terminale e digitare:

cd ~/odoo-dev/OCB
sudo pip install -r requirements.txt

INSTALLAZIONE MODULI ODOO

Se si desidera provare altri moduli add-on, questi si possono scaricare facilmente da github e inserirli nella cartella apposita.
Per effettuare le operazioni, aprire un terminale ed eseguire:

~/odoo-dev/addons

Successivamente, fare login in Odoo ed attivare la modalità sviluppatore, presente nella pagina di configurazione dell'amministratore; da qui si aggiornano le liste degli addons presenti e successivamente i possono installare quelli desiderati.


Ritorna alla pagina principale di ODOO