Outils pour utilisateurs

Outils du site


odoo

Ceci est une ancienne révision du document !


Odoo

Odoo est un ERP libre.

Installation

Comme je compte développer pour Odoo, j'ai voulu mettre en place un chroot et compiler Odoo dedans. Pour avoir quelque chose de facilement sauvegardable et réplicable.

chroot

Les détails sur la configuration d'une Debian dans un chroot sont sur cette page. Voici un résumé :

# debootstrap --arch=amd64 --include=locales-all stretch chroot/debian-stretch http://ftp.be.debian.org/debian/
$ vim launch-debian-stretch.sh
#!/bin/bash
 
cd /home/simon/chroot/debian-stretch
sudo mount --bind /proc proc
sudo mount --bind /sys sys
sudo chroot . /bin/bash
sudo umount sys
sudo umount proc
$ chmod +x launch-debian-stretch.sh

Pour se connecter à l'installation “chrootée” :

# ./launch-debian-stretch.sh

Configuration avant d'installer Odoo

Une fois sur la Debian “chrootée”, il faut installer “sudo” (utilisé dans les exemples du livre “Odoo 10 Development Essentials”)

# apt install sudo

Création d'un user “odoo” et initialisation du mot de passe :

# useradd -m -g sudo -s /bin/bash odoo
# passwd odoo
Entrez le nouveau mot de passe UNIX : 
Retapez le nouveau mot de passe UNIX : 
passwd: password updated successfully

Connexion sur le compte “odoo” et vérifications :

root@laptop:/# su odoo
odoo@laptop:/$ whoami
odoo
odoo@laptop:/$ echo $HOME
/home/odoo

Installer les prérequis à Odoo

Donc, sur notre installation “chroot”, on installe les prérequis pour commencer à travailler avec Odoo.

# apt install git curl

Installation de NPM :

# curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

## Installing the NodeSource Node.js v8.x repo...
 
## Populating apt-get cache...
 
+ apt-get update
Ign:1 http://ftp.be.debian.org/debian stretch InRelease
Atteint:2 http://ftp.be.debian.org/debian stretch Release
Lecture des listes de paquets... Fait
 
## Installing packages required for setup: apt-transport-https lsb-release...
 
+ apt-get install -y apt-transport-https lsb-release > /dev/null 2>&1
 
## Confirming "stretch" is supported...
 
+ curl -sLf -o /dev/null 'https://deb.nodesource.com/node_8.x/dists/stretch/Release'
 
## Adding the NodeSource signing key to your keyring...
 
+ curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
OK
 
## Creating apt sources list file for the NodeSource Node.js v8.x repo...
 
+ echo 'deb https://deb.nodesource.com/node_8.x stretch main' > /etc/apt/sources.list.d/nodesource.list
+ echo 'deb-src https://deb.nodesource.com/node_8.x stretch main' >> /etc/apt/sources.list.d/nodesource.list
 
## Running `apt-get update` for you...
 
+ apt-get update
Ign:1 http://ftp.be.debian.org/debian stretch InRelease
Atteint:2 http://ftp.be.debian.org/debian stretch Release
Réception de:4 https://deb.nodesource.com/node_8.x stretch InRelease [4.647 B]
Réception de:5 https://deb.nodesource.com/node_8.x stretch/main Sources [762 B]
Réception de:6 https://deb.nodesource.com/node_8.x stretch/main amd64 Packages [1.008 B]
6.417 o réceptionnés en 0s (7.096 o/s)
Lecture des listes de paquets... Fait
 
## Run `apt-get install nodejs` (as root) to install Node.js v8.x and npm
# apt install nodejs

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
The following additional packages will be installed:
  libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python
  python-minimal python2.7 python2.7-minimal
Paquets suggérés :
  python-doc python-tk python2.7-doc binutils binfmt-support
Les NOUVEAUX paquets suivants seront installés :
  libpython-stdlib libpython2.7-minimal libpython2.7-stdlib nodejs
  python python-minimal python2.7 python2.7-minimal
0 mis à jour, 8 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 16,6 Mo dans les archives.
Après cette opération, 74,3 Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] 
Réception de:1 http://ftp.be.debian.org/debian stretch/main amd64 libpython2.7-minimal amd64 2.7.13-2 [389 kB]
Réception de:2 http://ftp.be.debian.org/debian stretch/main amd64 python2.7-minimal amd64 2.7.13-2 [1.383 kB]
Réception de:3 https://deb.nodesource.com/node_8.x stretch/main amd64 nodejs amd64 8.7.0-1nodesource1 [12,5 MB]
Réception de:4 http://ftp.be.debian.org/debian stretch/main amd64 python-minimal amd64 2.7.13-2 [40,5 kB]
Réception de:5 http://ftp.be.debian.org/debian stretch/main amd64 libpython2.7-stdlib amd64 2.7.13-2 [1.895 kB]
Réception de:6 http://ftp.be.debian.org/debian stretch/main amd64 python2.7 amd64 2.7.13-2 [285 kB]
Réception de:7 http://ftp.be.debian.org/debian stretch/main amd64 libpython-stdlib amd64 2.7.13-2 [20,0 kB]
Réception de:8 http://ftp.be.debian.org/debian stretch/main amd64 python amd64 2.7.13-2 [154 kB]
16,6 Mo réceptionnés en 11s (1.488 ko/s)                            
E: Impossible d'écrire le journal (Est-ce que /dev/pts est monté ?) - posix_openpt (19: Aucun périphérique de ce type)
Sélection du paquet libpython2.7-minimal:amd64 précédemment désélectionné.
(Lecture de la base de données... 20634 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../0-libpython2.7-minimal_2.7.13-2_amd64.deb ...
Dépaquetage de libpython2.7-minimal:amd64 (2.7.13-2) ...
Sélection du paquet python2.7-minimal précédemment désélectionné.
Préparation du dépaquetage de .../1-python2.7-minimal_2.7.13-2_amd64.deb ...
Dépaquetage de python2.7-minimal (2.7.13-2) ...
Sélection du paquet python-minimal précédemment désélectionné.
Préparation du dépaquetage de .../2-python-minimal_2.7.13-2_amd64.deb ...
Dépaquetage de python-minimal (2.7.13-2) ...
Sélection du paquet libpython2.7-stdlib:amd64 précédemment désélectionné.
Préparation du dépaquetage de .../3-libpython2.7-stdlib_2.7.13-2_amd64.deb ...
Dépaquetage de libpython2.7-stdlib:amd64 (2.7.13-2) ...
Sélection du paquet python2.7 précédemment désélectionné.
Préparation du dépaquetage de .../4-python2.7_2.7.13-2_amd64.deb ...
Dépaquetage de python2.7 (2.7.13-2) ...
Sélection du paquet libpython-stdlib:amd64 précédemment désélectionné.
Préparation du dépaquetage de .../5-libpython-stdlib_2.7.13-2_amd64.deb ...
Dépaquetage de libpython-stdlib:amd64 (2.7.13-2) ...
Paramétrage de libpython2.7-minimal:amd64 (2.7.13-2) ...
Paramétrage de python2.7-minimal (2.7.13-2) ...
Linking and byte-compiling packages for runtime python2.7...
Paramétrage de python-minimal (2.7.13-2) ...
Sélection du paquet python précédemment désélectionné.
(Lecture de la base de données... 21380 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../python_2.7.13-2_amd64.deb ...
Dépaquetage de python (2.7.13-2) ...
Sélection du paquet nodejs précédemment désélectionné.
Préparation du dépaquetage de .../nodejs_8.7.0-1nodesource1_amd64.deb ...
Dépaquetage de nodejs (8.7.0-1nodesource1) ...
Traitement des actions différées (« triggers ») pour mime-support (3.60) ...
Paramétrage de nodejs (8.7.0-1nodesource1) ...
Paramétrage de libpython2.7-stdlib:amd64 (2.7.13-2) ...
Paramétrage de python2.7 (2.7.13-2) ...
Paramétrage de libpython-stdlib:amd64 (2.7.13-2) ...
Paramétrage de python (2.7.13-2) ...

Odoo a apparemment besoin de “less” (qui n'a rien à voir avec less…).

# npm install -g less less-plugin-clean-css
/usr/bin/lessc -> /usr/lib/node_modules/less/bin/lessc
+ less@3.0.0-alpha.3
+ less-plugin-clean-css@1.5.1
added 17 packages in 8.182s

Installer Odoo

root@laptop:/# su odoo
odoo@laptop:/$ cd $HOME/
odoo@laptop:~$ ls
odoo@laptop:~$ mkdir ~/odoo-dev
odoo@laptop:~$ cd odoo-dev/
odoo@laptop:~/odoo-dev$ git clone https://github.com/odoo/odoo.git -b 10.0 --depth=1
Clonage dans 'odoo'...
remote: Counting objects: 23386, done.
remote: Compressing objects: 100% (18552/18552), done.
remote: Total 23386 (delta 7413), reused 11138 (delta 4087), pack-reused 0
Réception d'objets: 100% (23386/23386), 111.17 MiB | 420.00 KiB/s, fait.
Résolution des deltas: 100% (7413/7413), fait.
Extraction des fichiers: 100% (21207/21207), fait.

Il y a un script pour installer les dépendances d'odoo :

$ ./odoo/setup/setup_dev.py setup_deps

Malheureusement, il plante sur “python-pypdf”, me disant qu'il ne peut pas être installé. On regarde ce qui existe dans les dépôts : python-pypdf2

$ sudo apt install python-pypdf2
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les NOUVEAUX paquets suivants seront installés :
  python-pypdf2
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 57,0 ko dans les archives.
Après cette opération, 271 ko d'espace disque supplémentaires seront utilisés.
Réception de:1 http://ftp.be.debian.org/debian stretch/main amd64 python-pypdf2 all 1.26.0-2 [57,0 kB]
57,0 ko réceptionnés en 0s (199 ko/s)  
Sélection du paquet python-pypdf2 précédemment désélectionné.
(Lecture de la base de données... 25135 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../python-pypdf2_1.26.0-2_all.deb ...
Dépaquetage de python-pypdf2 (1.26.0-2) ...
Paramétrage de python-pypdf2 (1.26.0-2) ...

Malheureusement, ça ne lui convient pas… Je regarde si on peut installer l'ancienne version via pip :

$ sudo apt install python-pip

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
The following additional packages will be installed:
  binutils build-essential cpp cpp-6 dbus dpkg-dev fakeroot g++ g++-6 gcc
  gcc-6 gir1.2-glib-2.0 libalgorithm-diff-perl libalgorithm-diff-xs-perl
  libalgorithm-merge-perl libasan3 libatomic1 libc-dev-bin libc6-dev libcc1-0
  libcilkrts5 libdbus-1-3 libdbus-glib-1-2 libdpkg-perl libexpat1-dev
  libfakeroot libfile-fcntllock-perl libgcc-6-dev libgirepository-1.0-1
  libglib2.0-0 libglib2.0-data libgomp1 libicu57 libisl15 libitm1 liblsan0
  libmpc3 libmpfr4 libmpx2 libpython-all-dev libpython-dev libpython2.7
  libpython2.7-dev libquadmath0 libstdc++-6-dev libtsan0 libubsan0 libxml2
  linux-libc-dev make manpages manpages-dev python-all python-all-dev
  python-cffi-backend python-crypto python-cryptography python-dbus python-dev
  python-enum34 python-gi python-idna python-ipaddress python-keyring
  python-keyrings.alt python-pip-whl python-pkg-resources python-pyasn1
  python-secretstorage python-setuptools python-six python-wheel python-xdg
  python2.7-dev sgml-base shared-mime-info xdg-user-dirs xml-core
Paquets suggérés :
  binutils-doc cpp-doc gcc-6-locales default-dbus-session-bus
  | dbus-session-bus debian-keyring g++-multilib g++-6-multilib gcc-6-doc
  libstdc++6-6-dbg gcc-multilib autoconf automake libtool flex bison gdb
  gcc-doc gcc-6-multilib libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg
  libasan3-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg
  libmpx2-dbg libquadmath0-dbg glibc-doc libstdc++-6-doc make-doc man-browser
  python-crypto-dbg python-crypto-doc python-cryptography-doc
  python-cryptography-vectors python-dbus-dbg python-dbus-doc
  python-enum34-doc python-gi-cairo gnome-keyring libkf5wallet-bin
  gir1.2-gnomekeyring-1.0 python-fs python-gdata python-kde4 python-keyczar
  doc-base python-secretstorage-doc python-setuptools-doc sgml-base-doc
  debhelper
Les NOUVEAUX paquets suivants seront installés :
  binutils build-essential cpp cpp-6 dbus dpkg-dev fakeroot g++ g++-6 gcc
  gcc-6 gir1.2-glib-2.0 libalgorithm-diff-perl libalgorithm-diff-xs-perl
  libalgorithm-merge-perl libasan3 libatomic1 libc-dev-bin libc6-dev libcc1-0
  libcilkrts5 libdbus-1-3 libdbus-glib-1-2 libdpkg-perl libexpat1-dev
  libfakeroot libfile-fcntllock-perl libgcc-6-dev libgirepository-1.0-1
  libglib2.0-0 libglib2.0-data libgomp1 libicu57 libisl15 libitm1 liblsan0
  libmpc3 libmpfr4 libmpx2 libpython-all-dev libpython-dev libpython2.7
  libpython2.7-dev libquadmath0 libstdc++-6-dev libtsan0 libubsan0 libxml2
  linux-libc-dev make manpages manpages-dev python-all python-all-dev
  python-cffi-backend python-crypto python-cryptography python-dbus python-dev
  python-enum34 python-gi python-idna python-ipaddress python-keyring
  python-keyrings.alt python-pip python-pip-whl python-pkg-resources
  python-pyasn1 python-secretstorage python-setuptools python-six python-wheel
  python-xdg python2.7-dev sgml-base shared-mime-info xdg-user-dirs xml-core
0 mis à jour, 79 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 89,8 Mo dans les archives.
Après cette opération, 277 Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] 
odoo.1507798162.txt.gz · Dernière modification : (modification externe)