Installazione Odoo avanzata
È consigliata per installazioni in produzione più avanzate o per coloro che vogliono sviluppare o modificare moduli Odoo sulla propria macchina.
L'installazione prevede l'impiego del programma VirtualEnv che consente di installare/gestire versioni diverse di Python (richieste da specifiche versioni di Odoo) mantenendo inalterati i pacchetti di sistema.
Procedura testata su Ubuntu 16.04 e Debian 9.3.0.
(Consigliamo di leggere una volta tutte le istruzioni e poi procedere.)
Contents
Requisiti
- disponibilità programma Git: per installarlo
sudo apt install git
- disponibilità programma VirtualEnv: per installarlo
sudo apt install python3-venv
- disponibilità programma PostgreSQL: per installarlo
sudo apt install postgresql
- disponibilità di alcuni tool e librerie: per installarli
sudo apt install python3-pip python3-dev build-essential libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools
- opzionale: bash modificata per visualizzare nel prompt la versione VirtualEnv attivata
- opzionale: disponibilità programma PyCharm (vedi Installazione dell'ultima versione di Pycharm CE)
La struttura delle directory qui proposta per gestire l'installazione è la seguente:
/opt/odoo |__ 12.0 |__ odoo12-venv |__ addons/12.0 | |__OCA | | |_ repo_oca_1 | | |_ repo_oca_2 | | |_ ... | | | |__ custom | |_repo_custom_1 | |_repo_custom_2 | |_ ... |__ 13.0 |__ odoo13-venv |__ addons/13.0 |__ OCA | |_ repo_oca_1 | |_ repo_oca_2 | |_ ... | |__ custom |_repo_custom_1 |_repo_custom_2 |_ ...
Può essere modificata allineando opportunamente le istruzioni di installazione.
Preparazione
Creare l'utente odoo, con home in /opt/odoo
sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
Installare postgres
sudo apt-get install postgresql
Creare l'utente odoo in postgres, che sarà il proprietario dei database Odoo
sudo su - postgres -c "createuser -s odoo"
Passare all'utente odoo, spostandosi nella sua home
sudo su - odoo
Clonare odoo in locale, selezionando il branch corretto
git clone https://www.github.com/OCA/OCB --depth 1 --branch 12.0 --single-branch
Creare l'ambiente virtualenv e attivarlo
python3 -m venv odoo12-venv . odoo12-venv/bin/activate
Installare da virtualenv i moduli necessari
pip3 install -r OCB/requirements.txt pip3 install pyxb==1.2.6 pip3 install codicefiscale pip3 install unidecode pip3 install phonenumbers
Predisporre una directory progetto (es. ~/odoo-dev11) e posizionarsi all’interno
mkdir odoo-dev11 cd odoo-dev11
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
Odoo 12
Predisporre una directory progetto (es. ~/odoo-dev12) e posizionarsi all’interno
mkdir odoo-dev12 cd odoo-dev12
Scaricare i file Odoo della versione 12 e salvarli nella directory OCB
git clone https://github.com/OCA/OCB.git OCB --depth=1 --branch=12.0 --single-branch
Creazione ambiente virtuale
Generare l’ambiente virtuale con i file della versione Python desiderata creando una directory apposita (es. venv-3.6)
virtualenv -p /usr/bin/python3.6 venv-3.6
Attivare l’ambiente virtuale VirtualEnv
source venv-3.6/bin/activate
Installare i pacchetti Python secondo le specifiche di Odoo
pip3 install -r OCB/requirements.txt
Installare eventuali pacchetti Python aggiuntivi
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)
Per disattivare l’ambiente VirtualEnv
deactivate
Installare eventuali pacchetti apt per la stampa cups
sudo apt install cups sudo apt install python-cups sudo apt install libcups2-dev sudo apt install python3-dev
Installare eventuali pacchetti Python per la stampa cups
python3 -m pip install --upgrade pip python3 -m pip install pygments python3 -m pip install pycups python3 -m pip install zpl2 (opzionale)
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 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
Tra i parametri di avvio ricordiamo --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.
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 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