Difference between revisions of "Installazione Odoo"

From PNLUG
Jump to: navigation, search
(Requisiti)
(6 intermediate revisions by one other user not shown)
Line 216: Line 216:
   
   
  +
=== Configurazione di Pycharm con VirtualEnv ===
== Installazione avanzata per sviluppatori ==
 
   
  +
Avviare PyCharm e aprire un ''Progetto'' (non ''Nuovo progetto'') puntando alla directory OCB nella ''directory_progetto''.
È consigliata a coloro che desiderano provare a sviluppare o modificare moduli Odoo sulla propria macchina o per installazioni in produzione più avanzate.<br>
 
L'installazione prevede l'impiego del programma VirtualEnv di Python per installare/gestire versioni diverse di Python (richieste da specifiche versioni di Odoo) mantenendo inalterati i pacchetti Python di sistema.
 
   
  +
Aggiungere l’interprete Python selezionando il menu
Procedura testata su Ubuntu 16.04 e Debian 9.3.0.
 
   
  +
''File → Settings → Project → Project Interpreter → Add → Virtualenv Eniroment → Existing Enviroment''
<small>(Consigliamo di leggere una volta tutte le istruzioni e poi procedere.)</small>
 
   
  +
Selezionare il file <i>python</i> (link al file della versione installata) della ''directory_virtualenv/bin''.
=== Requisiti ===
 
  +
Dare OK e chiudere il menu.
   
  +
Impostare il programma da lanciare e la configurazione da utilizzare in
* disponibilità programma '''Git''': per installarlo <code>sudo apt install git</code>
 
* disponibilità programma '''VirtualEnv''': per installarlo <code>sudo apt install virtualenv</code>
 
* disponibilità programma '''PostgreSQL''': per installarlo <code>sudo apt install postgresql postgresql-contrib</code>
 
* disponibilità di alcuni tool e librerie: per installarli
 
:: <code> sudo apt install python-pip python-dev build-essential zlib1g-dev libxslt1-dev libxml2-dev libldap2-dev libsasl2-dev node-less</code>
 
* opzionale: bash modificata per visualizzare nel prompt la versione VirtualEnv attivata
 
* opzionale: disponibilità programma '''PyCharm''' ([[https://wiki.pnlug.it/index.php?title=Installazione_Pycharm_CE |vedi Installazione dell'ultima versione di Pycharm CE]])
 
   
  +
''Run → Debug-Configuration''
   
  +
Con <code>+</code> aggiungo una nuova configurazione di tipo Python impostando i parametri
La struttura delle directory qui proposta per gestire le varie versioni è la seguente:
 
~
 
|___
 
|__ odoo-dev11
 
| |__ OCB
 
| |__ venv-3.6
 
| |__ oddons_custom
 
| |__ oddons_ita
 
| |__ oddons_oca
 
|
 
|__ odoo-dev12
 
|__ OCB
 
|__ venv-3.6
 
|__ oddons_custom
 
|__ oddons_ita
 
|__ oddons_oca
 
 
Può essere modificata allineando opportunamente le istruzioni di installazione.
 
 
=== Preparazione ===
 
 
==== Odoo 11 ====
 
 
 
Predisporre una directory progetto (es. ~/odoo-dev11) e posizionarsi all’interno
 
   
 
<pre>
 
<pre>
  +
Script path => punta al file odoo-bin del progetto (es. ~/odoo-dev/odoo12/OCA/OCB/odoo-bin)
mkdir odoo-dev11
 
  +
Parameters => inserisco i parametri configurazione avvio Odoo
cd odoo-dev11
 
 
</pre>
 
</pre>
   
  +
Tra i parametri di avvio ricordiamo:
   
  +
<code>--addons-path</code> per indicare dove cercare i moduli da utilizzare; deve contenere sempre la cartella addons della versione di Odoo utilizzata (es. <code>~/odoo-dev/odoo12/OCA/OCB/addons</code>) e separate da virgola le altre cartelle come ad esempio quelle di moduli aggiuntivi; es. <code>--addons-path=~/odoo-dev/odoo12/OCA/OCB/addons,~/odoo-dev/odoo12/OCA/addons-custom</code>.
Scaricare i file Odoo della versione 11 e salvarli nella directory OCB
 
   
  +
<code>--dev=all</code> che ricarica automaticamente i file Python e le definizioni delle viste XML modificati senza richiedere il riavvio del server Odoo e l'aggiornamento del modulo.
<pre>
 
git clone https://github.com/OCA/OCB.git OCB --depth=1 --branch=11.0 --single-branch
 
</pre>
 
   
  +
oppure
   
  +
<code>--dev=xml</code> che ricarica automaticamente i file XML modificati senza richiedere il riavvio del server Odoo e l'aggiornamento del modulo.
==== Odoo 12 ====
 
 
 
Predisporre una directory progetto (es. ~/odoo-dev12) e posizionarsi all’interno
 
 
<pre>
 
mkdir odoo-dev12
 
cd odoo-dev12
 
</pre>
 
 
 
Scaricare i file Odoo della versione 12 e salvarli nella directory OCB
 
 
<pre>
 
git clone https://github.com/OCA/OCB.git OCB --depth=1 --branch=12.0 --single-branch
 
</pre>
 
 
 
=== Creazione ambiente virtuale ===
 
 
Generare l’ambiente virtuale con i file della versione Python desiderata creando una directory apposita (es. venv-3.6)
 
 
<pre>
 
virtualenv -p /usr/bin/python3.6 venv-3.6
 
</pre>
 
 
Attivare l’ambiente virtuale VirtualEnv
 
 
<pre>
 
source venv-3.6/bin/activate
 
</pre>
 
 
Installare i pacchetti Python secondo le specifiche di Odoo
 
 
<pre>
 
pip3 install -r OCB/requirements.txt
 
</pre>
 
 
Installare eventuali pacchetti Python aggiuntivi
 
 
<pre>
 
pip3 install paramiko
 
pip3 install watchdog
 
pip3 install odfpy
 
pip3 install codicefiscale
 
pip3 install psycogreen
 
pip3 install pymssql
 
pip3 install pyodbc (richiede la libreria unixodbc-dev)
 
</pre>
 
 
Per disattivare l’ambiente VirtualEnv
 
 
<pre>
 
deactivate
 
</pre>
 
 
Installare eventuali pacchetti apt per la stampa cups
 
 
<pre>
 
sudo apt install cups
 
sudo apt install python-cups
 
sudo apt install libcups2-dev
 
sudo apt install python3-dev
 
</pre>
 
 
Installare eventuali pacchetti Python per la stampa cups
 
 
<pre>
 
python3 -m pip install --upgrade pip
 
python3 -m pip install pygments
 
python3 -m pip install pycups
 
python3 -m pip install zpl2 (opzionale)
 
</pre>
 
 
=== Configurazione di Pycharm con VirtualEnv ===
 
 
Avviare PyCharm e aprire un ''Progetto'' (non ''Nuovo progetto'') puntando alla directory OCB nella ''directory_progetto''.
 
 
Aggiungere l’interprete Python selezionando il menu
 
 
''File → Settings → Project → Project Interpreter → Add : Existing Enviroment''
 
 
Selezionare il file <i>python</i> (link al file della versione installata) della ''directory_virtualenv/bin''
 
e impostare il programma da lanciare e la configurazione da utilizzare in
 
 
''Run → Debug-Configuration''
 
 
Con <code>+</code> aggiungo una nuova configurazione di tipo Python impostando i parametri
 
 
<pre>
 
script => punta al file odoo-bin del progetto (es. ~/odoo-dev/odoo10/OCA/OCB/odoo-bin)
 
script parameters => inserisco i parametri configurazione avvio Odoo
 
</pre>
 
 
Tra i parametri di avvio ricordiamo <code>--dev=all</code> che ricarica automaticamente i file Python e le definizioni delle viste XML modificati senza richiedere il riavvio del server Odoo e l'aggiornamento del modulo.
 
   
 
=== Aggiungere l'utente di sistema a Postgres ===
 
=== Aggiungere l'utente di sistema a Postgres ===
Line 389: Line 266:
 
psql=# alter role nome_utente with nocreaterole;
 
psql=# alter role nome_utente with nocreaterole;
 
psql=# alter role nome_utente with nosuperuser;
 
psql=# alter role nome_utente with nosuperuser;
  +
</pre>
  +
  +
Uscire dal programma psql con '''quit'''
  +
<pre>
  +
psql=# quit;
  +
</pre>
  +
  +
Uscire dall'utente postgres con '''exit'''
  +
<pre>
  +
exit
  +
</pre>
  +
  +
Uscire dall'utente root con '''exit'''
  +
<pre>
  +
exit
 
</pre>
 
</pre>
   

Revision as of 18:33, 11 August 2022


Installazione standard semplificata

È riservata a coloro che desiderano provare Odoo sul proprio computer oppure per sistemi che andranno in produzione.

Odoo CE (Community Edition) ver. 11

È riservata a coloro che desiderano provare Odoo sul proprio computer oppure per sistemi che andranno in produzione.

Per installare Odoo 11.0 Community, eseguire i seguenti comandi da terminale:

Sistemi Debian (come utente root) - Guida verificata con Debian 9

# wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
# echo "deb http://nightly.odoo.com/11.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list
# apt-get update
# apt-get install odoo

Sistemi Ubuntu - Guida verificata con Ubuntu 18.04

$ sudo apt install gnupg
$ wget -O - https://nightly.odoo.com/odoo.key | sudo apt-key add -
$ sudo sh -c "echo 'deb http://nightly.odoo.com/11.0/nightly/deb/ ./' >> /etc/apt/sources.list.d/odoo.list"
$ sudo apt-get update
$ sudo apt-get install odoo

Sistemi Ubuntu - Guida verificata con Ubuntu 16.04

La versione 11 necessita di alcune librerie python nuove o con versione più recente rispetto a quelle presenti negli archivi standard di Ubuntu 16.04.

Una soluzione rapida (ma non molto ortodossa) per risolvere il problema è installare i pacchetti contenenti tali moduli, scaricandoli dagli archivi della versione 17.04 di Ubuntu.

$ wget http://archive.ubuntu.com/ubuntu/pool/universe/p/python-qrcode/python3-qrcode_5.3-1_all.deb
$ wget http://archive.ubuntu.com/ubuntu/pool/universe/p/python-vobject/python3-vobject_0.9.5-2_all.deb
$ wget http://archive.ubuntu.com/ubuntu/pool/universe/p/python-dateutil/python3-dateutil_2.6.0-1_all.deb	
$ sudo dpkg -i python3-qrcode_5.3-1_all.deb python3-vobject_0.9.5-2_all.deb python3-dateutil_2.6.0-1_all.deb python3-dateutil_2.6.0-1_all.deb

Procedere con l'installazione di Odoo eseguendo i seguenti comandi:

$ wget -O - https://nightly.odoo.com/odoo.key | sudo apt-key add -
$ sudo sh -c "echo 'deb http://nightly.odoo.com/11.0/nightly/deb/ ./' >> /etc/apt/sources.list.d/odoo.list"
$ sudo apt-get update
$ sudo apt-get install odoo

Aprire quindi un browser e digitare l'indirizzo

http://localhost:8069

per accedere alla pagina principale di Odoo.


Odoo CE (Community Edition) ver. 12

È riservata a coloro che desiderano provare Odoo sul proprio computer oppure per sistemi che andranno in produzione.

Per installare Odoo 12.0 Community, eseguire i seguenti comandi da terminale:

Sistemi Ubuntu - Guida verificata con Ubuntu 18.04 e con Debian 9

$ sudo apt install gnupg
$ wget -O - https://nightly.odoo.com/odoo.key | sudo apt-key add -
$ sudo sh -c "echo 'deb http://nightly.odoo.com/12.0/nightly/deb/ ./' >> /etc/apt/sources.list.d/odoo.list"
$ sudo apt-get update
$ sudo apt-get install odoo


Aprire quindi un browser e digitare l'indirizzo

http://localhost:8069

per accedere alla pagina principale di Odoo.


Report in PDF

Per la creazione dei report in formato PDF, Odoo utilizza l'utility chiamata wkhtmlktopdf.

La versione attualmente consigliata è la 0.12.1.

N.B: Consultare il repository Odoo per un elenco aggiornato delle versioni compatibili.

Per scaricare e installare l'utility eseguire i seguenti comandi da terminale:

Debian 8 - Jessie

# apt install xfonts-75dpi xfonts-base
# wget https://nightly.odoo.com/extra/wkhtmltox-0.12.1.2_linux-jessie-amd64.deb
# sudo dpkg -i wkhtmltox-0.12.1.2_linux-jessie-amd64.deb
# cp -p /usr/local/bin/wkhtmlto* /usr/bin/

Ubuntu 18.04 - Bionic Beaver

$ sudo apt install xfonts-75dpi xfonts-base
$ wget https://builds.wkhtmltopdf.org/0.12.1.3/wkhtmltox_0.12.1.3-1~bionic_amd64.deb
$ sudo dpkg -i wkhtmltox_0.12.1.3-1~bionic_amd64.deb
$ sudo cp -p /usr/local/bin/wkhtmlto* /usr/bin/

Ubuntu 16.04 - Xenial Xerus

$ sudo apt install xfonts-75dpi xfonts-base
$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb
$ sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb
$ sudo cp -p /usr/local/bin/wkhtmlto* /usr/bin/

File di configurazione

Al termine dell'installazione il file di configurazione di Odoo si trova in /etc/odoo/odoo.conf

Dopo aver modificato il file di configurazione, riavviare il servizio Odoo digitando da terminale il seguente comando, preceduto dal comando sudo se viene eseguito su sistemi Ubuntu:

# systemctl restart odoo

In alternativa può essere usato il seguente comando:

# service odoo restart


Le directory predefinite per contenere i moduli di terze parti invece sono:

/var/lib/odoo/.local/share/Odoo/addons/

~/.local/share/Odoo/addons/10.0


Infine la directory che conterrà gli allegati (divisi per database) e le sessioni sono rispettivamente:

/var/lib/odoo/.local/share/Odoo/filestore

/var/lib/odoo/.local/share/Odoo/sessions


Risoluzione problemi


Problema

Dopo aver provato a creare il primo database dalla pagina principale di Odoo compare il seguente messaggio di errore:

Database creation error: new encoding (UTF8) is incompatible with the encoding of the template database (SQL_ASCII) HINT: Use the same encoding as in the template database, or use template0 as template.

Risoluzione

aprire un terminale ed eseguire i seguenti comandi:

# su - postgres
# psql

postgres=# update pg_database set datallowconn = TRUE where datname = 'template0';
postgres=# \c template0
template0=# update pg_database set datistemplate = FALSE where datname = 'template1';
template0=# drop database template1;
DROP DATABASE
template0=# create database template1 with template = template0 encoding = 'UTF8';
CREATE DATABASE
template0=# update pg_database set datistemplate = TRUE where datname = 'template1';
UPDATE 1
template0=# \c template1
You are now connected to database "template1".
template1=# update pg_database set datallowconn = FALSE where datname = 'template0';
UPDATE 1



Problema

Dopo aver installato Odoo, quando viene aperta la pagina principale all'indirizzo

http://localhost:8069

compare il messaggio Internal Server Error.

Risoluzione

Provare a disinstallare Postgres eliminando anche tutti i file di configurazione e installare nuovamente Odoo.

ATTENZIONE: i seguenti comandi procedono con l'eliminazione completa di Postgres e di tutti i programmi che ne fanno uso comprese le configurazioni. Se nel vostro computer sono presenti altri software che utilizzano Postgres, non procedere oltre.

# apt-get autoremove --purge postgresql*
# apt-get install odoo

N.B.: con Ubuntu anteporre sudo ai precedenti comandi.


Configurazione di Pycharm con VirtualEnv

Avviare PyCharm e aprire un Progetto (non Nuovo progetto) puntando alla directory OCB nella directory_progetto.

Aggiungere l’interprete Python selezionando il menu

File → Settings → Project → Project Interpreter → Add → Virtualenv Eniroment → Existing Enviroment

Selezionare il file python (link al file della versione installata) della directory_virtualenv/bin. Dare OK e chiudere il menu.

Impostare il programma da lanciare e la configurazione da utilizzare in

Run → Debug-Configuration

Con + aggiungo una nuova configurazione di tipo Python impostando i parametri

Script path => punta al file odoo-bin del progetto (es. ~/odoo-dev/odoo12/OCA/OCB/odoo-bin)
Parameters => inserisco i parametri configurazione avvio Odoo

Tra i parametri di avvio ricordiamo:

--addons-path per indicare dove cercare i moduli da utilizzare; deve contenere sempre la cartella addons della versione di Odoo utilizzata (es. ~/odoo-dev/odoo12/OCA/OCB/addons) e separate da virgola le altre cartelle come ad esempio quelle di moduli aggiuntivi; es. --addons-path=~/odoo-dev/odoo12/OCA/OCB/addons,~/odoo-dev/odoo12/OCA/addons-custom.

--dev=all che ricarica automaticamente i file Python e le definizioni delle viste XML modificati senza richiedere il riavvio del server Odoo e l'aggiornamento del modulo.

oppure

--dev=xml che ricarica automaticamente i file XML modificati senza richiedere il riavvio del server Odoo e l'aggiornamento del modulo.

Aggiungere l'utente di sistema a Postgres

Prima di avviare Odoo da PyCharm è necessario che l’utente di sistema (nome_utente) con cui si opera sia un utente Postgres.
Per aggiungere l’utente di sistema a Postgres:

sudo su
su postgres
createuser -s nome_utente

Avviare psql e modificare i ruoli di nome_utente

psql
psql=# alter role nome_utente with createdb;
psql=# alter role nome_utente with nocreaterole;
psql=# alter role nome_utente with nosuperuser;

Uscire dal programma psql con quit

psql=# quit;

Uscire dall'utente postgres con exit

exit

Uscire dall'utente root con exit

exit

Nota con installazione di produzione

Se è presente nella macchina una installazione di Odoo per produzione (vedi Installazione standard semplificata), prima di avviare PyCharm è necessario disabilitare il servizio Odoo con

systemctl disable odoo.service

oppure

service odoo stop

.

Installazione IDE di sviluppo

Per iniziare a sviluppare con Odoo è altamente consigliata l'installazione di una IDE di sviluppo.

Installazione Visual Studio Code

Seguire la seguente guida per l'installazione di VSCode

Installazione Pycharm Community Edition

Seguire la seguente guida per l'installazione di Pycharm CE

Risoluzione problemi

Vedi l'apposita sezione: Troubleshooting