Installazione Odoo

From PNLUG
Revision as of 21:59, 20 February 2018 by Primes2h (talk | contribs) (Odoo 11 con Python 3.5)
Jump to: navigation, search


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. 10

Eseguire i seguenti comandi da terminale:

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

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

Sistemi Ubuntu - Guida verificata con Ubuntu 16.04

$ wget -O - https://nightly.odoo.com/odoo.key | sudo apt-key add -
$ sudo sh -c "echo 'deb http://nightly.odoo.com/10.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. 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 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-pyldap/python3-pyldap_2.4.25.1-2ubuntu1_amd64.deb
$ 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.3-3_all.deb
$ wget http://archive.ubuntu.com/ubuntu/pool/universe/p/python-dateutil/python3-dateutil_2.5.3-2_all.deb
$ sudo dpkg -i python3-pyldap_2.4.25.1-2ubuntu1_amd64.deb python3-qrcode_5.3-1_all.deb python3-vobject_0.9.3-3_all.deb python3-dateutil_2.5.3-2_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.


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-<arch>.deb
# sudo dpkg -i wkhtmltox-0.12.1.2_linux-jessie-<arch>.deb
# cp -p /usr/local/bin/wkhtmlto* /usr/bin/

<arch> = amd64 per sistemi a 64 bit

<arch> = i386 per sistemi a 32 bit

Ubuntu 16.04 - Xenial Xerus

$ sudo apt install xfonts-75dpi xfonts-base
$ wget https://downloads.wkhtmltopdf.org/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-<arch>.deb
$ sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-<arch>.deb
$ sudo cp -p /usr/local/bin/wkhtmlto* /usr/bin/

<arch> = amd64 per sistemi a 64 bit

<arch> = i386 per sistemi a 32 bit

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.

Installazione dell'ultima versione di Pycharm CE (Community Edition)

Installazione standard semplificata

È riservata a coloro che desiderano installare l'IDE Pycharm sul proprio computer in modo semplice e veloce.

Sistemi Ubuntu (Guida verificata con Ubuntu 16.04)

Per installare l'IDE Pycharm Community, eseguire i seguenti comandi da terminale:

$ sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
$ sudo apt-get update
$ sudo apt-get install ubuntu-make
$ umake ide pycharm

A questo punto l'installer propone il seguente percorso come predefinito per l'installazione:

~/.local/share/umake/ide/pycharm

Confermare per installare e procedere fino al completamento dell'operazione.

Sistemi Debian

Seguire la guida ufficiale disponibile all'indirizzo https://www.jetbrains.com/help/pycharm/requirements-installation-and-launching.html#installing-product


Installazione avanzata per sviluppatori

È consigliata a coloro che desiderano provare a sviluppare o modificare moduli Odoo sulla propria macchina.
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.

Procedura testata su Ubuntu 16.04 e 17.10, Debian 9.3.0.

(Consigliamo di leggere una volta tutte le istruzioni e poi procedere.)

Requisiti

  • disponibilità programma Git: per installarlo sudo apt install git
  • disponibilità programma VirtualEnv: per installarlo sudo apt install virtualenv
  • disponibilità programma PostgreSQL: per installarlo sudo apt install postgresql postgresql-contrib
  • disponibilità di alcuni tool e librerie: per installarli
sudo apt install build-essential zlib1g-dev libxslt1-dev libxml2-dev libldap2-dev libsasl2-dev node-less


La struttura delle directory qui proposta per gestire le varie versioni è la seguente:

 ~/odoo-dev
     |__ odoo10
     |       |__ OCA
     |            |__ OCB
     |            |__ venv-2.7
     |            |__ odoo-custom
     |__ odoo11
             |__ OCA
                  |__ OCB
                  |__ venv-3.5
                  |__ odoo-custom

Può essere modificata allineando opportunamente le istruzioni di installazione.


Odoo 10 con Python 2.7

Predisporre una directory dir_progetto (es. ~/odoo-dev/odoo10/OCA) e posizionarsi all’interno

mkdir dir_progetto
cd dir_progetto

Installare Python2.7

sudo apt-get install python2.7

Scaricare i file Odoo della versione 10 e salvarli nella directory OCB

git clone  https://github.com/OCA/OCB.git OCB --depth=1 --branch=10.0 --single-branch

Generare l’ambiente virtuale con i file della versione Python scelta (dipendente dalla versione Odoo) creando una directory dir_virtualenv (es. venv-2.7)

virtualenv -p /usr/bin/python2.7 dir_virtualenv

Attivare l’ambiente virtuale VirtualEnv

source dir_virtualenv/bin/activate

(Per disattivare l’ambiente VirtualEnv utilizzo il comando deactivate)
Installare la libreria python2.7-dev

sudo apt install  python2.7-dev

Installare i pacchetti Python secondo le specifiche di Odoo

pip install -r OCB/requirements.txt

Odoo 11 con Python 3.5

Predisporre una directory dir_progetto (es. ~/odoo-dev/odoo11/OCA) e posizionarsi all’interno

mkdir dir_progetto
cd dir_progetto

Installare Python3.5

sudo apt-get install python3.5

Scaricare i file Odoo della versione 11 e salvarli nella directory OCB

git clone  https://github.com/OCA/OCB.git OCB --depth=1 --branch=11.0 --single-branch

Generare l’ambiente virtuale con i file della versione Python scelta (dipendente dalla versione Odoo) creando una directory dir_virtualenv (es. venv-3.5)

virtualenv -p /usr/bin/python3.5 dir_virtualenv

Attivare l’ambiente virtuale VirtualEnv

source dir_virtualenv/bin/activate

(Per disattivare l’ambiente VirtualEnv utilizzo il comando deactivate)
Installare la libreria python3.5-dev

sudo apt install python3.5-dev

Installare i pacchetti Python secondo le specifiche di Odoo

pip3 install -r OCB/requirements.txt

Configurazione di Pycharm con VirtualEnv

Avviare PyCharm e aprire un progetto (non un nuovo progetto) puntando alla directory OCB nella directory_progetto.
Aggiungere l’interprete Python selezionando il menu
File→Settings→Project→Project Interpreter→Add : Existing Enviroment
selezionando il file python (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 + aggiungo una nuova configurazione di tipo Python impostando i parametri

script => punta al file odoo-bin del progetto (es. ~/odoo-dev/odoo10/OCA/OCB/odoo-bin)
script parameters => inserisco i parametri configurazione avvio Odoo

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;

Nota con installazione di produzione

Se è presente nella macchina una installazione di Odoo per produzione (vedi Installazione standard semplificata), prima di avviare PyCharm è necessario fermare il servizio Odoo con odoo-service stop o service odoo stop.

Risoluzione problemi

Problema: Internal Server Error

Se si passa da una versione di Odoo ad un'altra, facendo partire Odoo vengono visualizzati dei messaggi di errore nella console PyCharm relativi al database di un'altra versione e se si tenta di accedere a http://localhost:8069 si riceve un errore "Internal Server Error".

Risoluzione

Fermare l'esecuzione di Odoo. Pulire la cache del browser o avviare una nuova sessione anonima. Riavviare Odoo.

Accedere a http://localhost:8069/web/database/selector.

Si aprirà l'interfaccia di gestione dei database: creare un database per la nuova versione di Odoo.

Pulire la cache del browser o avviare una nuova sessione anonima e riavviare Odoo.

Problema: path /usr/bin/python errato

Dopo aver installato una versione di Python (es. 3.5) al momento di eseguire virtualenv -p /usr/bin/python3.5 venv-3.5 compare il messaggio di erore che il percorso /usr/bin/python3.5 non è valido.

Risoluzione

Il problema nasce dal fatto che con il comando /usr/bin/python3.5 viene installata una versione più recente di quella richiesta (es. 3.6).

Verificare in ~/usr/bin la versione di Python installata e adeguare il path.