Anda di halaman 1dari 77

Micronator

SME-9
Odoo-8 (OpenERP)
Installation

Version: RC-1 / jeudi 15 janvier 2015 - 19:41


RF-232, Montral 2015
6447, avenue Jalobert, Montral. Qubec H1M 1L1

Tous droits rservs RF-232

Licence publique gnrale GNU


Permission vous est donne de copier, distribuer et/ou modifier ce document selon les termes de la Licence publique
gnrale GNU, version 3, 29 juin 2007 publie par la Free Software Foundation Inc; sans section inaltrable, sans texte
de premire page de couverture et sans texte de dernire page de couverture. Une copie de cette licence est incluse dans
la section appele Licence publique gnrale GNU de ce document, page: 76.

AVIS DE NON-RESPONSABILIT
Ce document est uniquement destin informer. Les informations, ainsi que les contenus et fonctionnalits de ce do -
cument sont fournis sans engagement et peuvent tre modifis tout moment. RF-232 n'offre aucune garantie quant
l'actualit, la conformit, l'exhaustivit, la qualit et la durabilit des informations, contenus et fonctionnalits de ce do -
cument. L'accs et l'utilisation de ce document se font sous la seule responsabilit du lecteur ou de l'utilisateur.

RF-232 ne peut tre tenu pour responsable de dommages de quelque nature que ce soit, y compris des dommages directs
ou indirects, ainsi que des dommages conscutifs rsultant de l'accs ou de l'utilisation de ce document ou de son conte -
nu.

Chaque internaute doit prendre toutes les mesures appropries (mettre jour rgulirement son logiciel antivirus, ne
pas ouvrir des documents suspects de source douteuse ou non connue) de faon protger le contenu de son ordinateur
de la contamination d'ventuels virus circulant sur la Toile.

Avertissement
Bien que nous utilisions ici un vocabulaire issu des techniques informatiques, nous ne prtendons nullement la
prcision technique de tous nos propos dans ce domaine.
En un clin-d'oeil
I- Odoo (OpenERP)............................................................7
A) Description gnrale...........................................................7
B) Particularits de ce document.............................................9
C) Introduction.......................................................................10

II- PostgreSQL..................................................................11
A) Installation.........................................................................11
B) Premiers pas......................................................................18
C) Configuration finale de PostgreSQL.................................24

III- Python...........................................................................26
A) wkhtmltopdf......................................................................29
B) Python 2.7.8 de source......................................................32

IV- virtualenv......................................................................36
A) Modules Python................................................................40

V- Odoo-8...........................................................................43
A) Configuration du serveur Odoo........................................46

VI- Divers............................................................................52

VII- Mise jour du Serveur SME.......................................59

VIII- Sauvegarde de SME.....................................................65

IX- Sauvegardes et restaurations PostgreSQL..............68

2015-01-15 Version: RC-1 3 / 77


Sommaire
I- Odoo (OpenERP)............................................................7
A) Description gnrale...........................................................7
1. Introduction....................................................................................7
2. Installation d'un Serveur SME.......................................................7
3. Manuel de l'Utilisateur...................................................................7
4. Manuel de l'Administrateur............................................................7
5. Manuel du dveloppeur..................................................................8
6. Logiciels recommands..................................................................8
B) Particularits de ce document.............................................9
1. Notes au lecteur..............................................................................9
2. Conventions....................................................................................9
3. Commentaires et suggestions.........................................................9
C) Introduction.......................................................................10
1. Rfrence......................................................................................10
2. tapes...........................................................................................10

II- PostgreSQL..................................................................11
A) Installation.........................................................................11
1. Connexion au Serveur SME-9......................................................11
2. Dpts PostgreSQL (pgdg) et cl.................................................12
3. Exclusion des rpm absolete..........................................................14
4. Installation de PostgreSQL..........................................................15
5. Initialisation de la base de donnes.............................................16
6. Lancement manuel de PostgreSQL..............................................16
7. Lancement l'amorage..............................................................17
B) Premiers pas......................................................................18
1. Rfrence......................................................................................18
2. Connexion.....................................................................................18
3. SCHEMA......................................................................................18
4. RLE............................................................................................19
5. GRANT.........................................................................................19
6. Dconnexion.................................................................................19
7. Cration d'un usager standard.....................................................19
8. Connexion la BD avec un usager standard...............................22
C) Configuration finale de PostgreSQL.................................24
1. MD5..............................................................................................24
2. Cration de l'usager odoo dans PostgreSQL...............................25

III- Python...........................................................................26
1. Dpendances................................................................................26
A) wkhtmltopdf......................................................................29
1. Introduction..................................................................................29

4 / 77 Version: RC-1 15 janvier 2015


2. Dpendance..................................................................................29
3. Installation de wkhtmltopdf..........................................................30
4. Facultatif......................................................................................30
B) Python 2.7.8 de source......................................................32
1. Introduction..................................................................................32
2. Effaage des anciens essais..........................................................32
3. Tlchargement............................................................................32
4. ./configure.....................................................................................33
5. make..............................................................................................34
6. make altinstall..............................................................................34

IV- virtualenv......................................................................36
1. Installation....................................................................................36
2. Usager standard odoo..................................................................37
A) Modules Python................................................................40
1. Installation des modules dans un environnement virtuel.............40
2. Usager odoo.................................................................................40
3. Cration d'un nouvel environnement virtuel................................40
4. Chemin..........................................................................................41
5. Installation des modules...............................................................41

V- Odoo-8...........................................................................43
1. Groupe shared..............................................................................43
2. Rpertoire html en criture pour le groupe..................................43
3. Installation depuis GitHub...........................................................44
A) Configuration du serveur Odoo........................................46
1. Introduction..................................................................................46
2. Fichier odoo-server.conf..............................................................46
3. logrotation....................................................................................47
4. Script de dmarrage (/etc/init.d/odoo).........................................48
5. Commande de dmarrage............................................................51
6. signal-event..................................................................................51

VI- Divers............................................................................52
1. Vrification des dmarrages........................................................52
2. Fichiers journaux.........................................................................52
3. Mot de passe.................................................................................52
4. Administration du serveur Odoo..................................................52
5. Site Odoo......................................................................................53
6. Primary/html................................................................................54
7. Redirection HTML........................................................................55
8. Mise jour Odoo..........................................................................57

VII- Mise jour du Serveur SME.......................................59


1. Bug 8714.......................................................................................59
2. Solution.........................................................................................60
3. Vrification aprs ramorage.....................................................63
4. Vrification de Odoo....................................................................64

VIII- Sauvegarde de SME.....................................................65


1. Sauvegarde...................................................................................65
2. Rpertoires sauvegards...............................................................65

2015-01-15 Version: RC-1 5 / 77


3. Fichier de configuration et de lancement.....................................66

IX- Sauvegardes et restaurations PostgreSQL..............68


1. Rfrence......................................................................................68
2. Sauvegarde...................................................................................69
3. Restauration.................................................................................70
4. Vrification...................................................................................71
Crdits..........................................................................................72

6 / 77 Version: RC-1 15 janvier 2015


Odoo (OpenERP)

I- Odoo (OpenERP)

A) Description gnrale

1. Introduction
Rfrence: http://fr.wikipedia.org/wiki/Odoo
Odoo, anciennement OpenERP et encore avant Tiny ERP, est la base un progiciel libre de gestion intgr
comprenant de trs nombreux modules permettant de simplifier la gestion dentreprise dans son ensemble. Le
logiciel est sous licence AGPL et est utilis par plus de 2 millions dutilisateurs travers le monde.

1.1. Le logiciel Odoo


lorigine un ERP, le logiciel Open Source sest vu tendre ses fonctionnalits des applications de "front of-
fice" (CMS, e-Commerce, Blogs, Forums, News, vnements, LiveChat, Job offers, etc).
Odoo suit les normes qualit ISO9001 version 2000 et offre une solution Open source entreprise complte tout
en intgrant toutes les informations dans une base de donnes unique. Lditeur clame fournir le seul logiciel au
monde qui permet de cumuler tout les besoins dune entreprise du dbut la fin.

1.2. La socit ditrice OpenERP SA


OpenERP S.A. est galement le nom de lentreprise qui dite le logiciel. Dans le reste de ce document on uti-
lise le terme Odoo pour dsigner le logiciel et OpenERP SA pour dsigner lentreprise de faon univoque.

2. Installation d'un Serveur SME


Vous pouvez consulter le document suivant pour installer un Serveur SME.
Installation d'un Serveur SME: http://www.micronator.org/?page_id=236.

3. Manuel de l'Utilisateur
Disponible sur le site de Micronator:
http://www.micronator.org/PDF/RF-232_SME_Documentation_fr_Utilisateur.pdf.

4. Manuel de l'Administrateur
Disponible sur le site de Micronator:
http://www.micronator.org/PDF/RF-232_SME_Documentation_fr_Administration.pdf.

2015-01-15 Version: RC-1 7 / 77


SME-9 & installation de Odoo-8

5. Manuel du dveloppeur
Disponible sur le site de Micronator: http://www.micronator.org/?page_id=88

6. Logiciels recommands
6.1. DigestIT-2004
Calcul de sommes de contrle MD5 or SHA-1: http://www.colonywest.us/digestit/

6.2. PuTTY
Logiciel d'accs SSH: http://www.putty.org/

6.3. WinSCP
Client SFTP graphique pour Windows: http://winscp.net/eng/download.php
Au dbut de linstallation, choisissez la langue French

8 / 77 Version: RC-1 15 janvier 2015


Particularits de ce document

B) Particularits de ce document

1. Notes au lecteur
* Les captures d'crans ne sont que des rfrences.
** Les informations crites ont prsance sur celles retrouves dans les captures d'crans. Veiller se rfrer
aux diffrents tableaux lorsque ceux-ci sont prsents.

2. Conventions
Toutes les commandes entrer la console sont en gras. Les affichages surveiller sont en rouge ou en bleu.
# ping 192.168.1.149
192.168.1.149 is alive
#

Les liens de rfrence internet sont en bleu et ceux intra document en bleu.
Manipulation, truc ou ruse pour se tirer d'embarras.

Une recommandation ou astuce.

Une note.

Une tape, note ou procdure surveiller.

Paragraphe non complt ou non vrifi.

Cet icne indique que cette commande est sur une seule ligne. Le PDF la mettra sur deux lignes avec un
[CR] [LF] entre les deux. Il faudra donc copier la commande entire dans un diteur de texte ASCII et
la mettre sur une seule ligne avant de la copier la console du Serveur SME-9.

3. Commentaires et suggestions
RF-232 apprcie normment changer avec ses internautes. Vos commentaires et suggestions sont indispen-
sables l'amlioration de la documentation et du site micronator.org.
N'hsitez pas nous transmettre vos commentaires et nous signaler tout problme d'ordre technique que vous
avez rencontr ou n'arrivez pas rsoudre. Tous vos commentaires seront pris en considration et nous vous
promettons une rponse dans les plus brefs dlais.
Pour nous contacter

2015-01-15 Version: RC-1 9 / 77


SME-9 & installation de Odoo-8

C) Introduction

1. Rfrence
Ce document se base sur l'article de daviddean99 de septembre 2014, Installing Odoo 8 on CentOS 6 with
Python 2.7.
https://odootricks.wordpress.com/2014/09/30/installing-odoo-8-on-centos-6-with-virtual-python-install/
Ce document donne la marche suivre, pas pas, pour installer la dernire version de Odoo sur un Serveur
SME-9. Il s'adresse ceux qui ne serait pas trs expriment en tant qu'administrateur Linux mais qui vou-
draient rouler leur propre serveur Odoo. Vous pouvez simplement copier/coller les commandes dans un termi -
nal ou un cran SSH connect votre Serveur SME-9.
Ce tutoriel a t vrifi sur un Serveur SME-9 mais il devrait aussi fonctionner sur un Serveur SME-8.x.

2. tapes
Nous allons commencer par installer le serveur de bases de donnes PostgreSQL puis, installer les paquetages
ncessaires et leurs dpendances. Ensuite, nous allons crer un environnement virtual pour Python (ainsi nous
n'interfrerons pas avec la version de Python de Serveur SME-9) et installer tous les modules qu'Odoo requiert.
Il sera alors ncessaire de descendre, depuis GitHuB, le dernier code Odoo et crer un script de lancement
compatible avec le Serveur SME-9.
Ce tutoriel assume que vous avez ralis une installation SME-9 sur un serveur ddi rouler uniquement
Odoo. Il est aussi assum que vous allez rouler Odoo et PostgreSQL sur le mme serveur.

10 / 77 Version: RC-1 15 janvier 2015


PostgreSQL

II- PostgreSQL

A) Installation

1. Connexion au Serveur SME-9


Pour ce document, le Serveur SME est l'adresse 192.168.1.10. Il est en mode serveur uniquement mais habi-
tuellement il est en mode serveur et passerelle connect en PPPoE.
Nous nous connectons en tant que root au Serveur SME-9 l'aide de PuTTY.
login as: root
root@192.168.1.10's password:
Last login: Sun Jan 11 17:46:59 2015 from pc-00129.micronator.org
[root@sme-9 ~]#
[root@sme-9 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:5C:6F:AB
inet adr:192.168.1.10 Bcast:192.168.1.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:28118 errors:0 dropped:0 overruns:0 frame:0
TX packets:4213 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:3911655 (3.7 MiB) TX bytes:354558 (346.2 KiB)

lo Link encap:Boucle locale


inet adr:127.0.0.1 Masque:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:717 errors:0 dropped:0 overruns:0 frame:0
TX packets:717 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:57978 (56.6 KiB) TX bytes:57978 (56.6 KiB)

[root@sme-9 ~]#

2015-01-15 Version: RC-1 11 / 77


SME-9 & installation de Odoo-8

2. Dpts PostgreSQL (pgdg) et cl


2.1. 32 ou 64 bits
Pour connatre le genre de CPU de notre serveur, on lance la commande suivante:
[root@sme-9 ~]# uname -p

x86_64
[root@sme-9 ~]#

2.2. Version CentOS


Pour connatre la version CentOS dont notre serveur est issu.
[root@sme-9 ~]# cat /etc/centos-release

CentOS release 6.6 (Final)


[root@sme-9 ~]#

2.3. Lien du dpt PostgreSQL


Pour connatre le lien URL du dpt (repository) de la dernire
version de PostgreSQL, on se rends au site suivant:
http://yum.postgresql.org/repopackages.php#pg94
Notre Serveur SME-9 est un 64 bits issu de CentOS-6.6. Donc
nous choisissons CentOS 6 - x86 64.
On claque (clic droit) sur CentOS 6 - x86 64 et on copie
l'adresse du lien.
Le lien pour notre cas est:
http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm

2.4. Construction de la commande yum


La commande pour installer ce dpt est compos de 2 parties: yum install -y et l'URL du paquetage dcrivant
le dpt.
On installe le paquetage dcrivant le dpt de PostgreSQL pour le serveur CentOS-6 dont le Serveur SME-9
est issu.
[root@sme-9 ~]# yum install -y http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-
centos94-9.4-1.noarch.rpm

Loaded plugins: fastestmirror, smeserver


Loading mirror speeds from cached hostfile
* base: centos.mirror.rafal.ca
* smeaddons: mirror.canada.pialasse.com
* smeextras: mirror.canada.pialasse.com
* smeos: mirror.canada.pialasse.com
* smeupdates: mirror.canada.pialasse.com
* updates: mirror.csclub.uwaterloo.ca
Setting up Install Process
pgdg-centos94-9.4-1.noarch.rpm | 5.2 kB 00:00
Examining /var/tmp/yum-root-mS86Bv/pgdg-centos94-9.4-1.noarch.rpm: pgdg-centos94-9.4-
1.noarch
Marking /var/tmp/yum-root-mS86Bv/pgdg-centos94-9.4-1.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check

12 / 77 Version: RC-1 15 janvier 2015


Installation

---> Package pgdg-centos94.noarch 0:9.4-1 will be installed


--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
pgdg-centos94 noarch 9.4-1 /pgdg-centos94-9.4-1.noarch 2.1 k

Transaction Summary
================================================================================
Install 1 Package(s)

Total size: 2.1 k


Installed size: 2.1 k
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : pgdg-centos94-9.4-1.noarch 1/1
Verifying : pgdg-centos94-9.4-1.noarch 1/1

Installed:
pgdg-centos94.noarch 0:9.4-1

Complete!
[root@sme-9 ~]#

2.5. Importation de la cl PKI


On affiche le rpertoire des cls PKI.
[root@sme-9 ~]# ls -als /etc/pki/rpm-gpg/

total 28
4 drwxr-xr-x 2 root root 4096 11 janv. 20:07 .
4 drwxr-xr-x 10 root root 4096 3 janv. 08:31 ..
4 -rw-r--r-- 1 root root 1706 30 nov. 2013 RPM-GPG-KEY-CentOS-6
4 -rw-r--r-- 1 root root 1730 30 nov. 2013 RPM-GPG-KEY-CentOS-Debug-6
4 -rw-r--r-- 1 root root 1730 30 nov. 2013 RPM-GPG-KEY-CentOS-Security-6
4 -rw-r--r-- 1 root root 1734 30 nov. 2013 RPM-GPG-KEY-CentOS-Testing-6
4 -rw-r--r-- 1 root root 1726 15 mai 2014 RPM-GPG-KEY-PGDG-94
[root@sme-9 ~]#

On importe la cl.
[root@sme-9 ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-94

[root@sme-9 ~]#

On affiche le nouveau dpt.


On entre /etc/yum.repos.d/pgdg et on fait un [TAB] pour complter la commande.
[root@sme-9 ~]# cat /etc/yum.repos.d/pgdg-94-centos.repo

[pgdg94]
name=PostgreSQL 9.4 $releasever - $basearch
baseurl=http://yum.postgresql.org/9.4/redhat/rhel-$releasever-$basearch
enabled=1
gpgcheck=1

2015-01-15 Version: RC-1 13 / 77


SME-9 & installation de Odoo-8

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-94

[pgdg94-source]
name=PostgreSQL 9.4 $releasever - $basearch - Source
failovermethod=priority
baseurl=http://yum.postgresql.org/srpms/9.4/redhat/rhel-$releasever-$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-94

[root@sme-9 ~]#

2.6. Ajout du dpt


On ajoute le dpt pgdg la base de donnes de dpts de SME.
[root@sme-9 ~]# /sbin/e-smith/db yum_repositories set pgdg94 repository \
Name 'PostgreSQL 9.4' \
BaseURL 'http://yum.postgresql.org/9.4/redhat/rhel-$releasever-$basearch' \
EnableGroups yes \
GPGCheck yes \
GPGKey file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-94 \
Visible yes \
status disabled

[root@sme-9 ~]#

On signale la modification.
[root@sme-9 ~]# signal-event yum-modify

[root@sme-9 ~]#

Vrification.
[root@sme-9 ~]# db yum_repositories show pgdg94

pgdg94=repository
BaseURL=http://yum.postgresql.org/9.4/redhat/rhel-$releasever-$basearch
EnableGroups=yes
GPGCheck=yes
GPGKey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-94
Name=PostgreSQL 9.4
Visible=yes
status=disabled
[root@sme-9 ~]#

3. Exclusion des rpm absolete


On ne veut pas de rpm "absolete" donc, on les exclut du dpt de base car autrement on rencontrera des diffi-
cults lorsqu'on fera des mises jour du Serveur SME.
[root@sme-9 ~]# db yum_repositories setprop base Exclude 'initscripts,libgsf,postgresql*'

[root@sme-9 ~]#

On signale la modification.
[root@sme-9 ~]# signal-event yum-modify

[root@sme-9 ~]#

14 / 77 Version: RC-1 15 janvier 2015


Installation

Vrification.
[root@sme-9 ~]# db yum_repositories show base

base=repository
EnableGroups=no
Exclude=initscripts,libgsf,postgresql*
GPGCheck=yes
MirrorList=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
Name=CentOS - os
Visible=yes
status=enabled
[root@sme-9 ~]#

4. Installation de PostgreSQL
Maintenant on peut procder l'installation de PostgreSQL 9.4.
[root@sme-9 ~]# yum install -y --enablerepo=pgdg94 postgresql94 postgresql94-libs
postgresql94-server \
postgresql94-contrib \
postgresql94-devel \
postgresql94-docs \
postgresql94-test

Loaded plugins: fastestmirror, smeserver


Loading mirror speeds from cached hostfile
* base: centos.mirror.ca.planethoster.net
* smeaddons: mirror.canada.pialasse.com
* smeextras: mirror.canada.pialasse.com
* smeos: mirror.canada.pialasse.com
* smeupdates: mirror.canada.pialasse.com
* updates: mirror.csclub.uwaterloo.ca
pgdg94 | 3.6 kB 00:00
pgdg94/primary_db | 90 kB 00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package postgresql94.x86_64 0:9.4.0-1PGDG.rhel6 will be installed
---> Package postgresql94-contrib.x86_64 0:9.4.0-1PGDG.rhel6 will be installed
---> Package postgresql94-devel.x86_64 0:9.4.0-1PGDG.rhel6 will be installed
---> Package postgresql94-docs.x86_64 0:9.4.0-1PGDG.rhel6 will be installed
---> Package postgresql94-libs.x86_64 0:9.4.0-1PGDG.rhel6 will be installed
---> Package postgresql94-server.x86_64 0:9.4.0-1PGDG.rhel6 will be installed
---> Package postgresql94-test.x86_64 0:9.4.0-1PGDG.rhel6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================
Package Arch Version Repository Size
=========================================================================================
Installing:
postgresql94 x86_64 9.4.0-1PGDG.rhel6 pgdg94 1.0 M
postgresql94-contrib x86_64 9.4.0-1PGDG.rhel6 pgdg94 527 k
postgresql94-devel x86_64 9.4.0-1PGDG.rhel6 pgdg94 1.5 M
postgresql94-docs x86_64 9.4.0-1PGDG.rhel6 pgdg94 13 M
postgresql94-libs x86_64 9.4.0-1PGDG.rhel6 pgdg94 192 k
postgresql94-server x86_64 9.4.0-1PGDG.rhel6 pgdg94 4.2 M
postgresql94-test x86_64 9.4.0-1PGDG.rhel6 pgdg94 1.3 M

Transaction Summary
=========================================================================================
Install 7 Package(s)

2015-01-15 Version: RC-1 15 / 77


SME-9 & installation de Odoo-8

Total download size: 22 M


Installed size: 71 M
Downloading Packages:
(1/7): postgresql94-9.4.0-1PGDG.rhel6.x86_64.rpm | 1.0 MB 00:02
(2/7): postgresql94-contrib-9.4.0-1PGDG.rhel6.x86_64.rpm | 527 kB 00:00
(3/7): postgresql94-devel-9.4.0-1PGDG.rhel6.x86_64.rpm | 1.5 MB 00:03
(4/7): postgresql94-docs-9.4.0-1PGDG.rhel6.x86_64.rpm | 13 MB 00:28
(5/7): postgresql94-libs-9.4.0-1PGDG.rhel6.x86_64.rpm | 192 kB 00:00
(6/7): postgresql94-server-9.4.0-1PGDG.rhel6.x86_64.rpm | 4.2 MB 00:07
(7/7): postgresql94-test-9.4.0-1PGDG.rhel6.x86_64.rpm | 1.3 MB 00:02
-----------------------------------------------------------------------------------------
Total 488 kB/s | 22 MB 00:46
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : postgresql94-libs-9.4.0-1PGDG.rhel6.x86_64 1/7
Installing : postgresql94-9.4.0-1PGDG.rhel6.x86_64 2/7
Installing : postgresql94-server-9.4.0-1PGDG.rhel6.x86_64 3/7
Installing : postgresql94-test-9.4.0-1PGDG.rhel6.x86_64 4/7
Installing : postgresql94-contrib-9.4.0-1PGDG.rhel6.x86_64 5/7
Installing : postgresql94-devel-9.4.0-1PGDG.rhel6.x86_64 6/7
Installing : postgresql94-docs-9.4.0-1PGDG.rhel6.x86_64 7/7
Verifying : postgresql94-docs-9.4.0-1PGDG.rhel6.x86_64 1/7
Verifying : postgresql94-server-9.4.0-1PGDG.rhel6.x86_64 2/7
Verifying : postgresql94-contrib-9.4.0-1PGDG.rhel6.x86_64 3/7
Verifying : postgresql94-test-9.4.0-1PGDG.rhel6.x86_64 4/7
Verifying : postgresql94-9.4.0-1PGDG.rhel6.x86_64 5/7
Verifying : postgresql94-libs-9.4.0-1PGDG.rhel6.x86_64 6/7
Verifying : postgresql94-devel-9.4.0-1PGDG.rhel6.x86_64 7/7

Installed:
postgresql94.x86_64 0:9.4.0-1PGDG.rhel6
postgresql94-contrib.x86_64 0:9.4.0-1PGDG.rhel6
postgresql94-devel.x86_64 0:9.4.0-1PGDG.rhel6
postgresql94-docs.x86_64 0:9.4.0-1PGDG.rhel6
postgresql94-libs.x86_64 0:9.4.0-1PGDG.rhel6
postgresql94-server.x86_64 0:9.4.0-1PGDG.rhel6
postgresql94-test.x86_64 0:9.4.0-1PGDG.rhel6

Complete!
[root@sme-9 ~]#

5. Initialisation de la base de donnes


On initialise la BD pour PostgreSQL.
Peut prendre quelques secondes.
[root@sme-9 ~]# /etc/init.d/postgresql-9.4 initdb

Initialisation de la base de donnes : [ OK ]


[root@sme-9 ~]#

6. Lancement manuel de PostgreSQL


On lance PostgreSQL.
[root@sme-9 ~]# /etc/init.d/postgresql-9.4 start

Dmarrage du service postgresql-9.4 : [ OK ]


[root@sme-9 ~]#

16 / 77 Version: RC-1 15 janvier 2015


Installation

On vrifie.
[root@sme-9 ~]# /etc/init.d/postgresql-9.4 status

postgresql-9.4 (pid 19131) en cours d'excution...


[root@sme-9 ~]#

7. Lancement l'amorage
On veut que PostgreSQL se lance tous les amorages du Serveur SME. Pour ce faire, on ajoute la commande
de dmarrage de PostgreSQL la fin du fichier /etc/rc.d/rc.local.
[root@sme-9 ~]# echo /etc/init.d/postgresql-9.4 start >> /etc/rc.d/rc.local

[root@sme-9 ~]#

On vrifie.
[root@sme-9 ~]# cat /etc/rc.d/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/etc/init.d/postgresql-9.4 start
[root@sme-9 ~]#

2015-01-15 Version: RC-1 17 / 77


SME-9 & installation de Odoo-8

B) Premiers pas

1. Rfrence
Cette section s'est inspir de l'article suivant: https://wiki.postgresql.org/wiki/First_steps.

2. Connexion
On se connecte au Serveur SME en tant que root puis on change d'usager pour devenir l'usager postgres.
[root@sme-9 ~]# su - postgres

-bash-4.1$

On vrifie.
-bash-4.1$ whoami

postgres
-bash-4.1$

On lance le terminal interactif PostgreSQL.


-bash-4.1$ psql

psql (9.4.0)
Saisissez help pour l'aide.

postgres=#

On vrifie que l'aide fonctionne.


postgres=# help

Vous utilisez psql, l'interface en ligne de commande de PostgreSQL.


Saisissez:
\copyright pour les termes de distribution
\h pour l'aide-mmoire des commandes SQL
\? pour l'aide-mmoire des commandes psql
\g ou point-virgule en fin d'instruction pour excuter la requte
\q pour quitter
postgres=#

3. SCHEMA
Une base de donnes contient un ou plusieurs schmas nomms, qui eux, contiennent des tables. Les schmas
contiennent aussi d'autres types d'objets nomms, y compris des types de donnes, fonctions et oprateurs. Seul
le nom d'objet peut tre utilis sans conflit; par exemple, schema1 et mon_schema peuvent tous les deux conte -
nir des tables nommes mytable. Contrairement aux bases de donnes; les schmas ne sont pas spars de ma-
nire rigide: un utilisateur peut accder aux objets de n'importe lequel des schmas de la base de donnes aux -

18 / 77 Version: RC-1 15 janvier 2015


Premiers pas

quels il se connecte s'il a les privilges pour le faire.


On cre un schma qu'on appellera test dans la base de donnes par dfaut appele postgres.
postgres=# CREATE SCHEMA test;

CREATE SCHEMA
postgres=#

4. RLE
Un rle est une entit qui peut possder des objets de la base de donnes et avoir des droits sur la base. Il peut
tre considr comme un "utilisateur", un "groupe" ou les deux suivant la faon dont il est utilis.
On cre un rle (user) avec un mot de passe.
postgres=# CREATE USER michelandre PASSWORD 'toto';

CREATE ROLE
postgres=#

5. GRANT
La commande GRANT a deux variantes basiques: la premire donne des droits sur un objet de la base de don -
nes (table, vue, squence, base de donnes, fonction, langage de procdure, schma ou espace logique), la se-
conde gre les appartenances un rle.
On donne, au nouveau rle, tous les droits (tel que la possibilit de crer des tables) sur le nouveau schma.
postgres=# GRANT ALL ON SCHEMA test TO michelandre;

GRANT
postgres=#

On donne, au nouveau rle, tous les droits (tel que la possibilit d 'insertion) sur toutes les tables du nouveau
schma.
postgres=# GRANT ALL ON ALL TABLES IN SCHEMA test TO michelandre;

GRANT
postgres=#

6. Dconnexion
On se dconnecte.
postgres=# \q

-bash-4.1$
Nous sommes encore logu en tant qu'usager postgres.

7. Cration d'un usager standard


7.1. Cration
On peut utiliser Server Manager pour crer un usager mais ici on utilise adduser.
Avec la cration de son rpertoire personnel dans /home/e-smith/files/users/michelandre, l'usager miche-
landre sera sauvegard avec une sauvegarde standard du Serveur SME.

2015-01-15 Version: RC-1 19 / 77


SME-9 & installation de Odoo-8

Avec le shell /bin/bash, l'usager michelandre pourra lancer toutes les commandes disponibles.
Appartenant au groupe shared, l'usager michelandre pourra accder au rpertoire de l'i-bay Primary/html.
On retourne l'usager root pour crer le nouvel usager.
-bash-4.1$ exit

logout
[root@sme-9 ~]#

On vrifie qu"on est bien l'usager root.


[root@sme-9 ~]# whoami

root
[root@sme-9 ~]#

On cre l'usager michelandre.


[root@sme-9 ~]# adduser michelandre \
--home /home/e-smith/files/users/michelandre \
--groups shared \
--shell /bin/bash

[root@sme-9 ~]#

-d, --home RP_PERSO


Le nouvel utilisateur sera cr en utilisant RP_PERSO comme valeur de rpertoire de connexion de lutilisa-
teur. Le comportement par dfaut est de concatner UTILISATEUR au rpertoire RP_BASE, et de lutiliser
en tant que nom de rpertoire de connexion. Il nest pas ncessaire que le rpertoire RP_PERSO existe mais il
ne sera pas cr sil nexiste pas.
-G, --groups GROUPE1[,GROUPE2,...[,GROUPEN]]]
Liste de groupes supplmentaires auxquels appartient galement lutilisateur. Chaque groupe est spar du sui-
vant par une virgule, sans espace entre eux. Les groupes sont soumis aux mmes restrictions que celles de lop-
tion -g. Le comportement par dfaut pour lutilisateur est de nappartenir quau groupe initial.
-s, --shell INTERPRTEUR
Le nom de linterprteur de commandes initial de lutilisateur ( login shell ). Le comportement par dfaut est
de laisser ce champ vide. Le systme slectionnera alors linterprteur par dfaut indiqu par la variable
SHELL dans /etc/default/useradd, ou une chane vide par dfaut.

7.2. Mot de passe


Pour notre dmonstration, on utilise le mot de passe prfr du fameux Gnral Toto.
[root@sme-9 ~]# passwd michelandre

Changement de mot de passe pour l'utilisateur michelandre.


Entrez le nouveau mot de passe UNIX :fghtbgh
Retapez le nouveau mot de passe UNIX :fghtbgh
passwd : mise jour russie de tous les jetons d'authentification.
[root@sme-9 ~]#

20 / 77 Version: RC-1 15 janvier 2015


Premiers pas

On vrifie la cration de l'usager.


[root@sme-9 ~]# cat /etc/passwd | grep michelandre

michelandre:x:3000:3000::/home/e-smith/files/users/michelandre:/bin/bash
[root@sme-9 ~]#

On vrifie les groupes de michelandre.


[root@sme-9 ~]# cat /etc/group | grep michelandre

shared:x:500:www,admin,public,michelandre
michelandre:x:3000:
[root@sme-9 ~]#

7.3. Shell par dfaut


Si, lors du changement d'usager, l'cran ci-dessous s'affiche c'est que le shell de l'usager est /usr/bin/rssh qui
est un shell rduit et qui permet aux clients connects au serveur de ne faire qu'un nombre limit de com -
mandes.
-bash-4.1$ su - michelandre

Mot de passe :

This account is restricted by rssh.


Allowed commands: scp sftp cvs rdist rsync

If you believe this is in error, please contact your system administrator.

-bash-4.1$

On vrifie.
[root@sme-9 ~]# cat /etc/passwd | grep michelandre

michelandre:x:5000:5000:Michel-Andre Robillard:/home/e-
smith/files/users/michelandre:/usr/bin/rssh
[root@sme-9 ~]#

On peut modifier le shell de l'usager avec la commande suivante.


[root@sme-9 ~]# usermod -s /bin/bash michelandre

[root@sme-9 ~]#

On vrifie.
[root@sme-9 ~]# cat /etc/passwd | grep michelandre

michelandre:x:5000:5000:Michel-Andre Robillard:/home/e-
smith/files/users/michelandre:/bin/bash
[root@sme-9 ~]#

Il est noter que si on lance les commandes signal-event post-upgrade; signal-event reboot, le shell par d-
faut qui tait /usr/bin/rssh sera remis aux usagers qui l'avaient auparavant.

2015-01-15 Version: RC-1 21 / 77


SME-9 & installation de Odoo-8

7.4. On devient un usager standard (michelandre)


On change d'usager.
[root@sme-9 ~]# su - michelandre

[michelandre@sme-9 ~]$

Si nous ne sommes pas root et que nous changeons d'usager, il faudra entrer le mot de passe demand qui est
alors celui donn par le Serveur SME.
-bash-4.1$ su - michelandre

Mot de passe :
-bash-4.1$

8. Connexion la BD avec un usager standard


Par dfaut, le mode d'authentification pour se loguer dans PostgreSQL est "ident" qui signifie qu'un usager xxx
de Linux ne peut se connecter qu'en tant qu'usager PostgreSQL xxx.
On se logue, en tant qu'usager ordinaire (michelandre qui a t cr prcdemment dans PostgreSQL par l'usa-
ger postgres) la base de donnes par dfaut postgres.
[michelandre@sme-9 ~]$ psql -d postgres

psql (9.4.0)
Saisissez help pour l'aide.

postgres=>

8.1. HELP
On essaie l'aide.
postgres=> HELP

Vous utilisez psql, l'interface en ligne de commande de PostgreSQL.


Saisissez:
\copyright pour les termes de distribution
\h pour l'aide-mmoire des commandes SQL
\? pour l'aide-mmoire des commandes psql
\g ou point-virgule en fin d'instruction pour excuter la requte
\q pour quitter
postgres=>

8.2. CREATE
On cre une table test dans le schma test.
postgres=> CREATE TABLE test.test (coltest varchar(20));

CREATE TABLE
postgres=>

22 / 77 Version: RC-1 15 janvier 2015


Premiers pas

8.3. INSERT
On insre une entre dans la nouvelle table.
postgres=> insert into test.test (coltest) values ('It works!');

INSERT 0 1
postgres=>

8.4. SELECT
Slection depuis une table.
postgres=> SELECT * from test.test;

coltest
-----------
It works!
(1 ligne)

postgres=>

8.5. DROP
On efface une table.
postgres=> DROP TABLE test.test;

DROP TABLE
postgres=>

8.6. Dconnexion
On se dconnecte.
postgres=> \q

[michelandre@sme-9 ~]$

Tout semble bien fonctionner.

2015-01-15 Version: RC-1 23 / 77


SME-9 & installation de Odoo-8

C) Configuration finale de PostgreSQL

1. MD5
Maintenant, il nous faut configurer PostgreSQL pour qu'il accepte les connexions avec mots de passe chiffrs
MD5 pour tre ainsi compatible avec les modules Python.
[michelandre@sme-9 ~]$ whoami

michelandre
[michelandre@sme-9 ~]$

On retourne l'usager root.


[michelandre@sme-9 ~]$ exit

logout
[root@sme-9 ~]#

On vrifie si on est bien root.


[root@sme-9 ~]# whoami

root
[root@sme-9 ~]#

En tant qu'usager root, on substitue ident pour md5 dans le fichier pg_hba.conf.
[root@sme-9 ~]# sed -i "/^host/s/ident/md5/g" /var/lib/pgsql/9.4/data/pg_hba.conf

[root@sme-9 ~]#

On vrifie.
[root@sme-9 ~]# cat /var/lib/pgsql/9.4/data/pg_hba.conf | grep md5

# METHOD can be "trust", "reject", "md5", "password", "gss", "sspi",


# "password" sends passwords in clear text; "md5" is preferred since
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
[root@sme-9 ~]#

24 / 77 Version: RC-1 15 janvier 2015


Configuration finale de PostgreSQL

2. Cration de l'usager odoo dans PostgreSQL


On peut choisir le mot de passe qu'on veut mais l'important est de le mmoriser. De plus, il est prfrable qu'il
rponde aux normes de SME pour les mots de passe.
Pour notre dmonstration, on choisit "fghtbgh" qui est le mot de passe prfr du fameux Gnral Toto.
[root@sme-9 ~]# echo -e "fghtbgh\nfghtbgh\n" | su - postgres -c "createuser --createdb
--username postgres --no-createrole --no-superuser --pwprompt odoo"

Saisir le mot de passe pour le nouveau rle :


Le saisir de nouveau :
[root@sme-9 ~]#

L'usager odoo a t crer dans PostgreSQL par l'usager postgres et non dans le Serveur SME; il n'apparat
pas dans /etc/passwd.
[root@sme-9 ~]# cat /etc/passwd | grep odoo

[root@sme-9 ~]#

2015-01-15 Version: RC-1 25 / 77


SME-9 & installation de Odoo-8

III- Python

1. Dpendances
Odoo ncessite une version moderne de Python et beaucoup de bibliothques supplmentaires. Potentiellement
celles-ci pourraient entrer en conflit avec les bibliothques Python fournis dans SME-9 et qui sont invoques
par les outils d'administration. Donc, pour viter ce risque, nous allons crer un environnement virtuel sous le
compte utilisateur du systme Odoo qui sera utilis uniquement par le serveur Odoo.
Premirement, commenons par installer quelques dpendances de paquetages:
En tant qu'usager root.
[root@sme-9 ~]# yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel
sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libffi-devel libxslt libxslt-devel
libxml2 libxml2-devel openldap-devel libjpeg-turbo-devel openjpeg-devel libtiff-devel git
libpng libXext libz.so.1 xorg-x11-fonts-Type1 curl

Loaded plugins: fastestmirror, smeserver


Loading mirror speeds from cached hostfile
* base: less.cogeco.net
* smeaddons: mirror.canada.pialasse.com
* smeextras: mirror.canada.pialasse.com
* smeos: mirror.canada.pialasse.com
* smeupdates: mirror.canada.pialasse.com
* updates: less.cogeco.net
Setting up Install Process
...
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================
Package Arch Version Repository Size
============================================================================================
Installing:
bzip2-devel x86_64 1.0.5-7.el6_0 base 250 k
gcc x86_64 4.4.7-11.el6 base 10 M
git x86_64 1.7.1-3.el6_4.1 base 4.6 M
libXext x86_64 1.3.2-2.1.el6 base 35 k
libffi-devel x86_64 3.0.5-3.2.el6 base 18 k
libjpeg-turbo-devel x86_64 1.2.1-3.el6_5 base 96 k
libtiff-devel x86_64 3.9.4-10.el6_5 base 468 k
...
Transaction Summary
===========================================================================================
Install 54 Package(s)
Upgrade 30 Package(s)

Total download size: 68 M


Downloading Packages:
(1/84): bzip2-devel-1.0.5-7.el6_0.x86_64.rpm | 250 kB 00:00
(2/84): cloog-ppl-0.15.7-1.2.el6.x86_64.rpm | 93 kB 00:00
...
(84/84): zlib-devel-1.2.3-29.el6.x86_64.rpm | 44 kB 00:00
--------------------------------------------------------------------------------------------

26 / 77 Version: RC-1 15 janvier 2015


Python

Total 451 kB/s | 68 MB 02:34


Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : libgcc-4.4.7-11.el6.x86_64 1/114
Updating : nss-softokn-freebl-3.14.3-18.el6_6.x86_64 2/114
...
...
...
Verifying : cyrus-sasl-2.1.23-15.el6_6.1.x86_64 1/114
Verifying : cyrus-sasl-devel-2.1.23-15.el6_6.1.x86_64 2/114
...
Verifying : glibc-headers-2.12-1.132.el6_5.2.x86_64 114/114

Installed:
bzip2-devel.x86_64 0:1.0.5-7.el6_0 gcc.x86_64 0:4.4.7-11.el6
git.x86_64 0:1.7.1-3.el6_4.1 libXext.x86_64 0:1.3.2-2.1.el6
...
Dependency Installed:
cloog-ppl.x86_64 0:0.15.7-1.2.el6 cpp.x86_64 0:4.4.7-11.el6
cyrus-sasl-devel.x86_64 0:2.1.23-15.el6_6.1 fontconfig.x86_64 0:2.8.0-5.el6
...
Updated:
curl.x86_64 0:7.19.7-40.el6_6.3 libxml2.x86_64 0:2.7.6-17.el6_6.1
wget.x86_64 0:1.12-5.el6_6.1

Dependency Updated:
cyrus-sasl.x86_64 0:2.1.23-15.el6_6.1 cyrus-sasl-lib.x86_64 0:2.1.23-15.el6_6.1
cyrus-sasl-md5.x86_64 0:2.1.23-15.el6_6.1 e2fsprogs.x86_64 0:1.41.12-21.el6
e2fsprogs-libs.x86_64 0:1.41.12-21.el6 glibc.x86_64 0:2.12-1.149.el6_6.4
glibc-common.x86_64 0:2.12-1.149.el6_6.4 glibc-devel.x86_64 0:2.12-1.149.el6_6.4
glibc-headers.x86_64 0:2.12-1.149.el6_6.4 keyutils.x86_64 0:1.4-5.el6
keyutils-libs.x86_64 0:1.4-5.el6 krb5-libs.x86_64 0:1.10.3-33.el6
libX11.x86_64 0:1.6.0-2.2.el6 libX11-common.noarch 0:1.6.0-2.2.el6
libcom_err.x86_64 0:1.41.12-21.el6 libcurl.x86_64 0:7.19.7-40.el6_6.3
libgcc.x86_64 0:4.4.7-11.el6 libselinux.x86_64 0:2.0.94-5.8.el6
libselinux-utils.x86_64 0:2.0.94-5.8.el6 libss.x86_64 0:1.41.12-21.el6
libxcb.x86_64 0:1.9.1-2.el6 nscd.x86_64 0:2.12-1.149.el6_6.4
nss-softokn-freebl.x86_64 0:3.14.3-18.el6_6 openldap.x86_64 0:2.4.39-8.el6
openldap-clients.x86_64 0:2.4.39-8.el6 openldap-servers.x86_64 0:2.4.39-8.el6
openssl.x86_64 0:1.0.1e-30.el6_6.4

Complete!
[root@sme-9 ~]#

1.1. cabextract
cabextract est ncessaire pour l'extraction
des fichiers de polices et la commande
yum ne le trouvera pas dans ses dpts.
Par contre, on peut se rendre au site:
http://pkgs.repoforge.org/cabextract/,
choisir le fichier dsir, extraire son
adresse de tlchargement et construire la
commande ci-dessous pour l'installer.
Avec un clac (clic doit de la souris) sur cabextract-1.4-1.el6.rf.x86_64.rpm et choisissant Copier l'adresse
du lien donne comme adresse de tlchargement pour RHEL6 and CentOS-6 x86 64bit:
http://pkgs.repoforge.org/cabextract/cabextract-1.4-1.el6.rf.x86_64.rpm et on peut alors indiquer l'adresse
yum.

2015-01-15 Version: RC-1 27 / 77


SME-9 & installation de Odoo-8

[root@sme-9 ~]# yum install -y http://pkgs.repoforge.org/cabextract/cabextract-1.4-


1.el6.rf.x86_64.rpm

Loaded plugins: fastestmirror, smeserver


Loading mirror speeds from cached hostfile
* base: centos.mirror.rafal.ca
* smeaddons: mirror.canada.pialasse.com
* smeextras: mirror.canada.pialasse.com
* smeos: mirror.canada.pialasse.com
* smeupdates: mirror.canada.pialasse.com
* updates: less.cogeco.net
Setting up Install Process
cabextract-1.4-1.el6.rf.x86_64.rpm | 46 kB 00:00
Examining /var/tmp/yum-root-GKbtUk/cabextract-1.4-1.el6.rf.x86_64.rpm: cabextract-1.4-
1.el6.rf.x86_64
Marking /var/tmp/yum-root-GKbtUk/cabextract-1.4-1.el6.rf.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package cabextract.x86_64 0:1.4-1.el6.rf will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================
Package Arch Version Repository Size
============================================================================================
Installing:
cabextract x86_64 1.4-1.el6.rf /cabextract-1.4-1.el6.rf.x86_64 97 k

Transaction Summary
============================================================================================
Install 1 Package(s)

Total size: 97 k
Installed size: 97 k
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : cabextract-1.4-1.el6.rf.x86_64 1/1
Verifying : cabextract-1.4-1.el6.rf.x86_64 1/1

Installed:
cabextract.x86_64 0:1.4-1.el6.rf

Complete!
[root@sme-9 ~]#

28 / 77 Version: RC-1 15 janvier 2015


wkhtmltopdf

A) wkhtmltopdf

1. Introduction
Nous avons aussi besoin du paquetage wkhtmltopdf afin de gnrer des rapports PDF dans Odoo.

2. Dpendance
wkhtmltopdf a une dpendance xorg-x11-fonts-75dpi.
En tant qu'usager root.
[root@sme-9 ~]# yum install -y xorg-x11-fonts-75dpi

Loaded plugins: fastestmirror, smeserver


Loading mirror speeds from cached hostfile
* base: mirror.science.uottawa.ca
* smeaddons: mirror.canada.pialasse.com
* smeextras: mirror.canada.pialasse.com
* smeos: mirror.canada.pialasse.com
* smeupdates: mirror.canada.pialasse.com
* updates: mirror.science.uottawa.ca
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package xorg-x11-fonts-75dpi.noarch 0:7.2-9.1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================
Package Arch Version Repository Size
==========================================================================================
Installing:
xorg-x11-fonts-75dpi noarch 7.2-9.1.el6 base 2.8 M

Transaction Summary
==========================================================================================
Install 1 Package(s)

Total download size: 2.8 M


Installed size: 2.9 M
Is this ok [y/N]: y
Downloading Packages:
xorg-x11-fonts-75dpi-7.2-9.1.el6.noarch.rpm | 2.8 MB 00:04
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : xorg-x11-fonts-75dpi-7.2-9.1.el6.noarch 1/1
Verifying : xorg-x11-fonts-75dpi-7.2-9.1.el6.noarch 1/1

Installed:
xorg-x11-fonts-75dpi.noarch 0:7.2-9.1.el6

Complete!
[root@sme-9 ~]#

2015-01-15 Version: RC-1 29 / 77


SME-9 & installation de Odoo-8

3. Installation de wkhtmltopdf
Le lien dans la commande est pour la version 64 bits de SME-9. Pour la version 32bit il n'y a qu' remplacer
"amd64" par "i386" dans le nom du fichier ci-dessous. (Cette commande prend un certain temps complter.)
[root@sme-9 ~]# rpm -ivh http://sourceforge.net/projects/wkhtmltopdf/files/0.12.2/wkhtmltox-
0.12.2_linux-centos6-amd64.rpm

Rcupration de http://sourceforge.net/projects/wkhtmltopdf/files/0.12.2/wkhtmltox-
0.12.2_linux-centos6-amd64.rpm
Prparation... ########################################### [100%]
1:wkhtmltox ########################################### [100%]
[root@sme-9 ~]#

On vrifie la commande de lancement.


[root@sme-9 ~]# ls -als /usr/local/bin/wkhtmltopdf

35552 -rwxr-xr-x 1 root root 36404496 9 janv. 08:27 /usr/local/bin/wkhtmltopdf


[root@sme-9 ~]#

3.1. Cration d'un lien


Nous allons crer un lien dans le rpertoire /usr/bin pointant vers wkhtmltopdf.
[root@sme-9 ~]# ln -s /usr/local/bin/wkhtmltopdf /usr/bin/

[root@sme-9 ~]#

On vrifie.
[root@sme-9 ~]# ls -als /usr/bin/wkhtmltopdf

0 lrwxrwxrwx 1 root root 26 12 janv. 11:43 /usr/bin/wkhtmltopdf ->


/usr/local/bin/wkhtmltopdf
[root@sme-9 ~]#

4. Facultatif
Vous pouvez installer les polices de base de Microsoft afin qu'elles soient disponibles lorsque vous gnrez des
rapports dans Odoo. Nous devons d'abord installer quelques dpendances, puis le gestionnaire msttcore-fonts-
installer tlcharge les polices de sourceforge, les installe et les active sur votre Serveur SME.

4.1. Pour les 64 bit (x86) seulement


[root@sme-9 ~]# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/libmspack-0.4-
0.1.alpha.el6.x86_64.rpm

Rcupration de http://dl.fedoraproject.org/pub/epel/6/x86_64/libmspack-0.4-
0.1.alpha.el6.x86_64.rpm
Prparation... ########################################### [100%]
1:libmspack ########################################### [100%]
[root@sme-9 ~]#

[root@sme-9 ~]# rpm -ivh


https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-
1.noarch.rpm

Rcupration de https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-
installer-2.6-1.noarch.rpm

30 / 77 Version: RC-1 15 janvier 2015


wkhtmltopdf

Prparation... ########################################### [100%]


1:msttcore-fonts-installe########################################### [100%]
...
...
...
### Adding fonts to Xft
### Indexing the new fonts for Xft
/usr/share/fonts: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/msttcore: caching, new cache contents: 54 fonts, 0 dirs
/usr/share/X11/fonts/Type1: caching, new cache contents: 13 fonts, 0 dirs
/usr/share/X11/fonts/TTF: skipping, no such directory
/usr/local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/var/cache/fontconfig: cleaning cache directory
/root/.fontconfig: not cleaning non-existent cache directory
/usr/bin/fc-cache: succeeded
### Removing tmp directory /tmp/refresh-msttcore-fonts-eVRxGi
[root@sme-9 ~]#

4.2. Pour les 32 bit (i386) seulement


rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/libmspack-0.4-0.1.alpha.el6.i686.rpm

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/cabextract-1.3-3.el6.i686.rpm

rpm -ivh https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-


installer-2.6-1.noarch.rpm

2015-01-15 Version: RC-1 31 / 77


SME-9 & installation de Odoo-8

B) Python 2.7.8 de source

1. Introduction
Maintenant, nous allons tlcharger et installer Python 2.7.8 partir de la source. La premire commande sup-
prime toutes installations prcdentes de python2.7 installes lors de tentatives prcdentes.
Aprs la compilation nous utilisons "altinstall" pour viter d'craser l'installation de python par dfaut du Ser-
veur SME.
Nous ferons le "build" de Python dans le rpertoire personnel de l'utilisateur root car certaines distributions
CentOS empchent l'excution des programmes compils en C dans le rpertoire /tmp/ pour des raisons de s-
curit (voir: "noexec" dans /etc/fstab).

2. Effaage des anciens essais


Juste au cas ou ce ne serait pas notre premier essai d'installation.
[root@sme-9 ~]# rm -r /usr/local/lib/python2.7

rm: impossible de supprimer /usr/local/lib/python2.7 : Aucun fichier ou dossier de ce


type
[root@sme-9 ~]#

3. Tlchargement
On doit tre connect au serveur en tant que l'usager root.
On s'assure qu'on est bien dans le rpertoire personnel de root.
[root@sme-9 ~]# cd

[root@sme-9 ~]#

On vrifie.
[root@sme-9 ~]# pwd

/root
[root@sme-9 ~]#

On tlcharge.
[root@sme-9 ~]# wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz

--2015-01-10 19:15:13-- http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz


Rsolution de python.org... 104.130.43.121, 2001:4802:7901:0:e60a:1375:0:5
Connexion vers python.org|104.130.43.121|:80...connect.
requte HTTP transmise, en attente de la rponse...301 Moved Permanently
Emplacement: https://python.org/ftp/python/2.7.8/Python-2.7.8.tgz [suivant]
--2015-01-10 19:15:14-- https://python.org/ftp/python/2.7.8/Python-2.7.8.tgz
Connexion vers python.org|104.130.43.121|:443...connect.

32 / 77 Version: RC-1 15 janvier 2015


Python 2.7.8 de source

requte HTTP transmise, en attente de la rponse...301 Moved Permanently


Emplacement: https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz [suivant]
--2015-01-10 19:15:14-- https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
Rsolution de www.python.org... 23.235.44.223
Connexion vers www.python.org|23.235.44.223|:443...connect.
requte HTTP transmise, en attente de la rponse...200 OK
Longueur: 14846119 (14M) [application/octet-stream]
Sauvegarde en : Python-2.7.8.tgz

100%[========================================================>] 14 846 119 592K/s ds 25s

2015-01-10 19:15:39 (584 KB/s) - Python-2.7.8.tgz sauvegard [14846119/14846119]

[root@sme-9 ~]#

On vrifie.
[root@sme-9 ~]# ls -als Python-2.7.8.tgz

14500 -rw-r--r-- 1 root root 14846119 29 juin 2014 Python-2.7.8.tgz


[root@sme-9 ~]#

On extrait.
[root@sme-9 ~]# tar -zxf Python-2.7.8.tgz

[root@sme-9 ~]#

On se rend dans le rpertoire cr par l'extraction.


[root@sme-9 ~]# cd Python-2.7.8

[root@sme-9 Python-2.7.8]#

On vrifie.
[root@sme-9 Python-2.7.8]# pwd

/root/Python-2.7.8
[root@sme-9 Python-2.7.8]#

4. ./configure
[root@sme-9 Python-2.7.8]# ./configure --prefix=/usr/local --enable-shared LDFLAGS="-Wl,-
rpath /usr/local/lib"

checking build system type... x86_64-unknown-linux-gnu


checking host system type... x86_64-unknown-linux-gnu
checking for --enable-universalsdk... no
checking for --with-universal-archs... 32-bit
checking MACHDEP... linux2
checking EXTRAPLATDIR...
checking for --without-gcc... no
...
...
...
checking for build directories... done
configure: creating ./config.status
config.status: creating Makefile.pre
config.status: creating Modules/Setup.config
config.status: creating Misc/python.pc
config.status: creating Modules/ld_so_aix

2015-01-15 Version: RC-1 33 / 77


SME-9 & installation de Odoo-8

config.status: creating pyconfig.h


creating Modules/Setup
creating Modules/Setup.local
creating Makefile
[root@sme-9 Python-2.7.8]#

5. make
[root@sme-9 Python-2.7.8]# make

gcc -pthread -c -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-


prototypes -I. -IInclude -I./Include -fPIC -DPy_BUILD_CORE -o Modules/python.o
./Modules/python.c
gcc -pthread -c -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-
prototypes -I. -IInclude -I./Include -fPIC -DPy_BUILD_CORE -o Parser/acceler.o
Parser/acceler.c
gcc -pthread -c -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-
prototypes -I. -IInclude -I./Include -fPIC -DPy_BUILD_CORE -o Parser/grammar1.o
Parser/grammar1.c
...
...
...
gcc -pthread -shared -Wl,-rpath /usr/local/lib build/temp.linux-x86_64-2.7/root/Python-
2.7.8/Modules/_ctypes/_ctypes.o build/temp.linux-x86_64-2.7/root/Python-
2.7.8/Modules/_ctypes/callbacks.o build/temp.linux-x86_64-2.7/root/Python-
2.7.8/Modules/_ctypes/callproc.o build/temp.linux-x86_64-2.7/root/Python-
2.7.8/Modules/_ctypes/stgdict.o build/temp.linux-x86_64-2.7/root/Python-
2.7.8/Modules/_ctypes/cfield.o build/temp.linux-x86_64-2.7/root/Python-
2.7.8/Modules/_ctypes/libffi/src/prep_cif.o build/temp.linux-x86_64-2.7/root/Python-
2.7.8/Modules/_ctypes/libffi/src/closures.o build/temp.linux-x86_64-2.7/root/Python-
2.7.8/Modules/_ctypes/libffi/src/x86/ffi64.o build/temp.linux-x86_64-2.7/root/Python-
2.7.8/Modules/_ctypes/libffi/src/x86/unix64.o build/temp.linux-x86_64-2.7/root/Python-
2.7.8/Modules/_ctypes/libffi/src/x86/ffi.o build/temp.linux-x86_64-2.7/root/Python-
2.7.8/Modules/_ctypes/libffi/src/x86/sysv.o -L/usr/local/lib -L. -lpython2.7 -o
build/lib.linux-x86_64-2.7/_ctypes.so

Python build finished, but the necessary bits to build these modules were not found:
bsddb185 dl imageop
sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

running build_scripts
creating build/scripts-2.7
copying and adjusting /root/Python-2.7.8/Tools/scripts/pydoc -> build/scripts-2.7
copying and adjusting /root/Python-2.7.8/Tools/scripts/idle -> build/scripts-2.7
copying and adjusting /root/Python-2.7.8/Tools/scripts/2to3 -> build/scripts-2.7
copying and adjusting /root/Python-2.7.8/Lib/smtpd.py -> build/scripts-2.7
changing mode of build/scripts-2.7/pydoc from 644 to 755
changing mode of build/scripts-2.7/idle from 644 to 755
changing mode of build/scripts-2.7/2to3 from 644 to 755
changing mode of build/scripts-2.7/smtpd.py from 644 to 755
/usr/bin/install -c -m 644 ./Tools/gdb/libpython.py python-gdb.py
[root@sme-9 Python-2.7.8]#

6. make altinstall
[root@sme-9 Python-2.7.8]# make altinstall

/usr/bin/install -c python /usr/local/bin/python2.7


if test -f libpython2.7.so; then \
if test -n "" ; then \
/usr/bin/install -c -m 555 /usr/local/bin; \
else \
/usr/bin/install -c -m 555 libpython2.7.so

34 / 77 Version: RC-1 15 janvier 2015


Python 2.7.8 de source

/usr/local/lib/libpython2.7.so.1.0; \
if test libpython2.7.so != libpython2.7.so.1.0; then \
(cd /usr/local/lib; ln -sf libpython2.7.so.1.0
libpython2.7.so) \
fi \
fi; \
else true; \
fi
running build
running build_ext
building dbm using gdbm

Python build finished, but the necessary bits to build these modules were not found:
bsddb185 dl imageop
sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

running build_scripts
Creating directory /usr/local/lib/python2.7
Creating directory /usr/local/lib/python2.7/lib-tk
Creating directory /usr/local/lib/python2.7/lib-tk/test
...
...
...
running install_scripts
copying build/scripts-2.7/pydoc -> /usr/local/bin
copying build/scripts-2.7/smtpd.py -> /usr/local/bin
copying build/scripts-2.7/2to3 -> /usr/local/bin
copying build/scripts-2.7/idle -> /usr/local/bin
changing mode of /usr/local/bin/pydoc to 755
changing mode of /usr/local/bin/smtpd.py to 755
changing mode of /usr/local/bin/2to3 to 755
changing mode of /usr/local/bin/idle to 755
running install_egg_info
Writing /usr/local/lib/python2.7/lib-dynload/Python-2.7.8-py2.7.egg-info
rm /usr/local/lib/python2.7/lib-dynload/_sysconfigdata.py*
[root@sme-9 Python-2.7.8]#

2015-01-15 Version: RC-1 35 / 77


SME-9 & installation de Odoo-8

IV- virtualenv

1. Installation
Avec Python install avec succs, il est temps d'ajouter l'environnement virtuel Python (virtualenv) et le mo-
dule utilitaire d'installation de PIP.
[root@sme-9 ~]# wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O -
| /usr/local/bin/python2.7

--2015-01-10 19:34:10-- https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py


Rsolution de bitbucket.org... 131.103.20.167, 131.103.20.168
Connexion vers bitbucket.org|131.103.20.167|:443...connect.
requte HTTP transmise, en attente de la rponse...200 OK
Longueur: 10479 (10K) [text/plain]
Sauvegarde en : STDOUT

100%[=========================================================>] 10 479 --.-K/s ds 0s

2015-01-10 19:34:12 (372 MB/s) - envoi vers sortie standard [10479/10479]

Downloading https://pypi.python.org/packages/source/s/setuptools/setuptools-11.3.1.zip
Extracting in /tmp/tmpoLhGed
Now working in /tmp/tmpoLhGed/setuptools-11.3.1
Installing Setuptools
running install
...
...
...
Installing easy_install script to /usr/local/bin
Installing easy_install-2.7 script to /usr/local/bin

Installed /usr/local/lib/python2.7/site-packages/setuptools-11.3.1-py2.7.egg
Processing dependencies for setuptools==11.3.1
Finished processing dependencies for setuptools==11.3.1
[root@sme-9 ~]#

1.1. pip virtualenv


[root@sme-9 ~]# /usr/local/bin/easy_install-2.7 pip virtualenv

Searching for pip


Reading https://pypi.python.org/simple/pip/
/usr/local/lib/python2.7/site-packages/setuptools-11.3.1-
py2.7.egg/pkg_resources/__init__.py:2510: PEP440Warning: 'pip (dev)' is being parsed as a
legacy, non PEP 440, version. You may find odd behavior and sort order. In particular it
will be sorted as less than 0.0. It is recommend to migrate to PEP 440 compatible versions.
Best match: pip 6.0.6
Downloading https://pypi.python.org/packages/source/p/pip/pip-
6.0.6.tar.gz#md5=bbb17814bdf82187f46aaf9cec6b6caa
Processing pip-6.0.6.tar.gz
Writing /tmp/easy_install-rg7dHs/pip-6.0.6/setup.cfg
Running pip-6.0.6/setup.py -q bdist_egg --dist-dir /tmp/easy_install-rg7dHs/pip-6.0.6/egg-
dist-tmp-PUWyVc

36 / 77 Version: RC-1 15 janvier 2015


virtualenv

warning: no previously-included files found matching '.coveragerc'


warning: no previously-included files found matching '.mailmap'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching 'pip/_vendor/Makefile'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files found matching 'dev-requirements.txt'
no previously-included directories found matching '.travis'
no previously-included directories found matching 'docs/_build'
no previously-included directories found matching 'contrib'
no previously-included directories found matching 'tasks'
no previously-included directories found matching 'tests'
creating /usr/local/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg
Extracting pip-6.0.6-py2.7.egg to /usr/local/lib/python2.7/site-packages
Adding pip 6.0.6 to easy-install.pth file
Installing pip script to /usr/local/bin
Installing pip2.7 script to /usr/local/bin
Installing pip2 script to /usr/local/bin

Installed /usr/local/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip
Searching for virtualenv
Reading https://pypi.python.org/simple/virtualenv/
Best match: virtualenv 12.0.5
Downloading https://pypi.python.org/packages/source/v/virtualenv/virtualenv-
12.0.5.tar.gz#md5=637abbbd04d270ee8c601ab29c4f7561
Processing virtualenv-12.0.5.tar.gz
Writing /tmp/easy_install-X4vcFc/virtualenv-12.0.5/setup.cfg
Running virtualenv-12.0.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-
X4vcFc/virtualenv-12.0.5/egg-dist-tmp-7DdAXp
warning: no previously-included files matching '*' found under directory 'docs/_templates'
warning: no previously-included files matching '*' found under directory 'docs/_build'
creating /usr/local/lib/python2.7/site-packages/virtualenv-12.0.5-py2.7.egg
Extracting virtualenv-12.0.5-py2.7.egg to /usr/local/lib/python2.7/site-packages
Adding virtualenv 12.0.5 to easy-install.pth file
Installing virtualenv script to /usr/local/bin
Installing virtualenv-2.7 script to /usr/local/bin

Installed /usr/local/lib/python2.7/site-packages/virtualenv-12.0.5-py2.7.egg
Processing dependencies for virtualenv
Finished processing dependencies for virtualenv
[root@sme-9 ~]#

2. Usager standard odoo


Maintenant, nous allons crer un utilisateur standard odoo et configurer l'environnement virtuel.

2.1. Cration de l'usager


Avec la cration de son rpertoire personnel dans /home/e-smith/files/users/odoo, l'usager odoo sera sauve-
gard avec une sauvegarde standard du Serveur SME.
En tant dans le groupe shared, l'usager odoo pourra crire dans le rpertoire html de l'i-bay Primary.
Avec le shell /bin/bash, l'usager odoo pourra lancer toutes les commandes disponibles.
[root@sme-9 ~]# adduser odoo \
--home /home/e-smith/files/users/odoo \
--groups shared \
--shell /bin/bash

[root@sme-9 ~]#

2015-01-15 Version: RC-1 37 / 77


SME-9 & installation de Odoo-8

-d, --home RP_PERSO


Le nouvel utilisateur sera cr en utilisant RP_PERSO comme valeur de rpertoire de connexion de lutilisa-
teur. Le comportement par dfaut est de concatner UTILISATEUR au rpertoire RP_BASE, et de lutiliser
en tant que nom de rpertoire de connexion. Il nest pas ncessaire que le rpertoire RP_PERSO existe mais il
ne sera pas cr sil nexiste pas.
-G, --groups GROUPE1[,GROUPE2,...[,GROUPEN]]]
Liste de groupes supplmentaires auxquels appartient galement lutilisateur. Chaque groupe est spar du sui-
vant par une virgule, sans espace entre eux. Les groupes sont soumis aux mmes restrictions que celles de lop-
tion -g. Le comportement par dfaut pour lutilisateur est de nappartenir quau groupe initial.
-s, --shell INTERPRTEUR
Le nom de linterprteur de commandes initial de lutilisateur ( login shell ). Le comportement par dfaut est
de laisser ce champ vide. Le systme slectionnera alors linterprteur par dfaut indiqu par la variable
SHELL dans /etc/default/useradd, ou une chane vide par dfaut.

2.2. Mot de passe


Pour notre dmonstration, encore une fois on utilise le mot de passe prfr du fameux Gnral Toto.
[root@sme-9 ~]# passwd odoo

Changement de mot de passe pour l'utilisateur odoo.


Entrez le nouveau mot de passe UNIX :fghtbgh
Retapez le nouveau mot de passe UNIX :fghtbgh
passwd : mise jour russie de tous les jetons d'authentification.
[root@sme-9 ~]#

2.3. Cration des rpertoires


[root@sme-9 ~]# DIR="/var/run/odoo /var/log/odoo /home/e-smith/files/ibays/Primary/html/odoo
/home/e-smith/files/ibays/Primary/html/andromeda-addons"
for NAME in $DIR
do
if [ ! -d $NAME ]; then
mkdir $NAME
chown odoo.odoo $NAME
fi
done

[root@sme-9 ~]#

On vrifie.
[root@sme-9 ~]# ls -alsd /var/run/odoo

4 drwxr-xr-x 2 odoo odoo 4096 10 janv. 19:43 /var/run/odoo


[root@sme-9 ~]#

[root@sme-9 ~]# ls -alsd /var/log/odoo

4 drwxr-xr-x 2 odoo odoo 4096 10 janv. 19:43 /var/log/odoo


[root@sme-9 ~]#

[root@sme-9 ~]# ls -alsd /home/e-smith/files/ibays/Primary/html/odoo

4 drwxr-sr-x 2 odoo odoo 4096 10 janv. 19:43 /home/e-smith/files/ibays/Primary/html/odoo


[root@sme-9 ~]#

38 / 77 Version: RC-1 15 janvier 2015


virtualenv

[root@sme-9 ~]# ls -alsd /home/e-smith/files/ibays/Primary/html/andromeda-addons

4 drwxr-sr-x 2 odoo odoo 4096 10 janv. 19:43 /home/e-


smith/files/ibays/Primary/html/andromeda-addons
[root@sme-9 ~]#

2015-01-15 Version: RC-1 39 / 77


SME-9 & installation de Odoo-8

A) Modules Python

1. Installation des modules dans un environnement virtuel


Pour bien rouler, Odoo ncessite beaucoup de modules Python. Maintenant que l'environnement virtuel Py-
thon a t install, nous devons y ajouter tous les modules supplmentaires requis.
Note importante pour les utilisateurs de cPanel & WHM: Si votre fournisseur d'hbergement utilise cPanel &
WHM comme gestionnaire de votre serveur, vous devez activer l'accs au compilateur pour l'utilisateur odoo
sinon l'installation de Python et des modules supplmentaires chouera.
Voir ici pour des instructions sur la faon de permettre l'accs au compilateur.
Vous pouvez dsactiver l'accs au compilateur aprs l'installation de Odoo.
Tout d'abord nous allons passer de l'usager root celui de odoo. Ensuite nous allons crer un nouvel environ-
nement virtuel qu'on nommera odoo et enfin nous allons l'activer.
Les commandes de cette section doivent tre excutes en tant qu'utilisateur odoo.

2. Usager odoo
Changement d'usager.
[root@sme-9 ~]# su - odoo

[odoo@sme-9 ~]$

on vrifie.
[odoo@sme-9 ~]$ whoami

odoo
[odoo@sme-9 ~]$

[odoo@sme-9 ~]$ pwd

/home/e-smith/files/users/odoo
[odoo@sme-9 ~]$

3. Cration d'un nouvel environnement virtuel


On cre le nouvel environnement virtuel et on le nomme odoo.
[odoo@sme-9 ~]$ /usr/local/bin/virtualenv --python=/usr/local/bin/python2.7 odoo

Already using interpreter /usr/local/bin/python2.7


New python executable in odoo/bin/python2.7
Also creating executable in odoo/bin/python
Installing setuptools, pip...done.
[odoo@sme-9 ~]$

40 / 77 Version: RC-1 15 janvier 2015


Modules Python

On active le nouvel environnement virtuel.


[odoo@sme-9 ~]$ source odoo/bin/activate

(odoo)[odoo@sme-9 ~]$

4. Chemin
Avant de commencer l'installation du module, nous devons ajouter le chemin vers les binaires de PostgreSQL,
sinon l'installation du module PsycoPG2 chouera.
ATTENTION: Si on a install une version plus jour que psql-9.4, il faut ajuster la commande.
(odoo)[odoo@sme-9 ~]$ export PATH=/usr/pgsql-9.4/bin:$PATH

(odoo)[odoo@sme-9 ~]$

5. Installation des modules


Maintenant, nous allons installer tous les modules Python. Notez que nous remplaons PIL par pillow - qui est
un "fork" qui supporte beaucoup mieux PIL et qui travaille bien avec l'emplacement des bibliothques de d-
veloppement de CentOS.
(odoo)[odoo@sme-9 ~]$ pip install http://download.gna.org/pychart/PyChart-1.39.tar.gz

pip install babel


pip install docutils
pip install feedparser
pip install gdata
pip install Jinja2
pip install mako
pip install mock
pip install psutil
pip install psycopg2
pip install pydot
pip install python-dateutil
pip install python-openid
pip install pytz
pip install pywebdav
pip install pyyaml
pip install reportlab
pip install simplejson
pip install unittest2
pip install vatnumber
pip install vobject
pip install werkzeug
pip install xlwt
pip install pyopenssl
pip install lxml
pip install python-ldap
pip install decorator
pip install requests
pip install pillow
pip install pyPdf
pip install passlib

Collecting http://download.gna.org/pychart/PyChart-1.39.tar.gz
Downloading http://download.gna.org/pychart/PyChart-1.39.tar.gz (115kB)
100% |################################| 118kB 267kB/s
...
...
...
--------------------------------------------------------------------
PIL SETUP SUMMARY

2015-01-15 Version: RC-1 41 / 77


SME-9 & installation de Odoo-8

--------------------------------------------------------------------
version Pillow 2.7.0
platform linux2 2.7.8 (default, Jan 10 2015, 19:21:08)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)]
--------------------------------------------------------------------
--- TKINTER support available
--- JPEG support available
*** OPENJPEG (JPEG2000) support not available
--- ZLIB (PNG/ZIP) support available
--- LIBTIFF support available
--- FREETYPE2 support available
*** LITTLECMS2 support not available
*** WEBP support not available
*** WEBPMUX support not available
--------------------------------------------------------------------
To add a missing option, make sure you have the required
library, and set the corresponding ROOT variable in the
setup.py script.
To check the build, run the selftest.py script.
changing mode of build/scripts-2.7/pilfont.py from 664 to 775
changing mode of build/scripts-2.7/pilfile.py from 664 to 775
changing mode of build/scripts-2.7/pilprint.py from 664 to 775
changing mode of build/scripts-2.7/pildriver.py from 664 to 775
changing mode of build/scripts-2.7/pilconvert.py from 664 to 775
changing mode of /home/odoo/odoo/bin/pilfont.py to 775
changing mode of /home/odoo/odoo/bin/pilfile.py to 775
changing mode of /home/odoo/odoo/bin/pilprint.py to 775
changing mode of /home/odoo/odoo/bin/pildriver.py to 775
changing mode of /home/odoo/odoo/bin/pilconvert.py to 775
Running setup.py install for reportlab
################################################
#Attempting install of _rl_accel & pyHnj
#extensions from '/tmp/pip-build-OZvC_H/reportlab/src/rl_addons/rl_accel'
################################################
...
...
...
100% |################################| 409kB 595kB/s
Installing collected packages: passlib
Running setup.py install for passlib
Successfully installed passlib-1.6.2
(odoo)[odoo@sme-9 ~]$

42 / 77 Version: RC-1 15 janvier 2015


Odoo-8

V- Odoo-8

1. Groupe shared
On revient l'usager root.
(odoo)[odoo@sme-9 ~]$ exit

logout
[root@sme-9 html]#

On vrifie que l'usager odoo est bien dans le groupe shared.


[root@sme-9 html]# cat /etc/group |grep odoo

shared:x:500:www,admin,public,michelandre,odoo
odoo:x:5001:
[root@sme-9 html]#

2. Rpertoire html en criture pour le groupe


On se rend dans le rpertoire de l'i-bay Primary.
[root@sme-9 ~]# cd /home/e-smith/files/ibays/Primary/

[root@sme-9 Primary]# ls -als

On affiche le contenu.
[root@sme-9 Primary]# ls -als

total 20
4 drwxr-xr-x 5 root root 4096 3 janv. 08:35 .
4 drwxr-xr-x 3 root root 4096 3 janv. 08:35 ..
4 drwxr-s--- 2 admin shared 4096 3 janv. 08:35 cgi-bin
4 drwxr-s--- 2 admin shared 4096 3 janv. 08:35 files
4 drwxr-s--- 2 admin shared 4096 3 janv. 08:35 html
[root@sme-9 Primary]#

Pour l'installation Odoo seulement, nous allons rendre le rpertoire html en criture pour le groupe shared. De
cette faon, l'usager odoo qui fait partie de ce groupe pourra crire dans ce rpertoire.
[root@sme-9 Primary]# chmod g+w html/

[root@sme-9 Primary]#

2015-01-15 Version: RC-1 43 / 77


SME-9 & installation de Odoo-8

On vrifie.
[root@sme-9 Primary]# ls -alsd html/

4 drwxrws--- 2 admin shared 4096 3 janv. 08:35 html/


[root@sme-9 Primary]#

3. Installation depuis GitHub


Maintenant, il est enfin temps d'installer Odoo. Nous allons tlcharger la dernire version de Odoo, la version
8, depuis le dpt GitHub.
Notez que nous installons dans le rpertoire /home/e-smith/files/ibays/Primary/html/. De cette faon, nous
pouvons facilement grer l'installation en un seul endroit et la sparer du reste du systme d'exploitation. De
plus, ce rpertoire fait partie des sauvegardes du Serveur SME.
Important. Ces commandes doivent tre excutes en tant qu'usager odoo.
Nous changeons d'usager.
[root@sme-9 ~]# su - odoo

[odoo@sme-9 ~]$

On vrifie.
[odoo@sme-9 ~]$ whoami

odoo
[odoo@sme-9 ~]$

On se rend dans le rpertoire d'installation.


[odoo@sme-9 ~]$ cd /home/e-smith/files/ibays/Primary/html/

[odoo@sme-9 html]$

On vrifie.
[odoo@sme-9 html]$ pwd

/home/e-smith/files/ibays/Primary/html
[odoo@sme-9 html]$

On tlcharge Odoo 8.0.


[odoo@sme-9 html]$ git clone https://github.com/odoo/odoo.git --branch 8.0

Initialized empty Git repository in /home/e-smith/files/ibays/Primary/html/odoo/odoo/.git/


remote: Counting objects: 1400419, done.
remote: Compressing objects: 100% (2295/2295), done.
remote: Total 1400419 (delta 981), reused 1043 (delta 82)
Receiving objects: 100% (1400419/1400419), 582.72 MiB | 599 KiB/s, done.
Resolving deltas: 100% (1179180/1179180), done.
[odoo@sme-9 html]$

On ajuste le propritaire et le groupe.


[odoo@sme-9 html]$ chown -R odoo.odoo odoo

44 / 77 Version: RC-1 15 janvier 2015


Odoo-8

[odoo@sme-9 html]$
On vrifie.
[odoo@sme-9 html]$ ls -als

total 20
4 drwxrws--- 4 admin shared 4096 14 janv. 09:28 .
4 drwxr-xr-x 6 root root 4096 13 janv. 19:59 ..
4 drwxr-sr-x 2 odoo odoo 4096 14 janv. 09:28 andromeda-addons
4 -rw-r----- 1 admin shared 202 20 nov. 2005 index.htm
4 drwxr-sr-x 8 odoo odoo 4096 14 janv. 10:03 odoo
[odoo@sme-9 html]$

On retourne l'usager root.


[odoo@sme-9 html]$ exit

logout
[root@sme-9 ~]#

On vrifie.
[root@sme-9 ~]# whoami

root
[root@sme-9 ~]#

2015-01-15 Version: RC-1 45 / 77


SME-9 & installation de Odoo-8

A) Configuration du serveur Odoo

1. Introduction
Pour plus de scurit, nous avons dsactiv les diffrents modules RPC car nous ne les utilisons pas. Nous
avons aussi ajust l'criture des journaux de telle sorte que nous n'y inscrivons que les avertissements et les er-
reurs fatales. Nous sommes situ Montral de sorte que le fuseau horaire est dfini sur America/Toronto.
Nous allons crer un fichier de configuration de base pour le serveur Odoo.

2. Fichier odoo-server.conf
2.1. Mot de passe de l'usager odoo de PostgreSQL
Lors de la cration de l'usager odoo de PostgreSQL, nous lui avons donn le mot de passe prfr (fghtbgh) du
fameux Gnral Toto.

2.2. Mot de passe de l'admin


Pour notre dmonstration, on utilise, encore une fois, le mot de passe prfr (fghtbgh) du fameux Gnral.
On gnre le fichier de configuration, /etc/odoo-server.conf, du serveur Odoo.
IMPORTANT: Toutes les commandes qui suivent doivent tre excutes en tant qu'usager root.
cat > /etc/odoo-server.conf << EOF
[options]
; This is the password that allows database operations:
admin_passwd = fghtbgh
; DATABASE OPTIONS
db_host = localhost
db_port = 5432
db_user = odoo
db_password = fghtbgh
; MISC SETTINGS
addons_path = /home/e-smith/files/ibays/Primary/html/odoo/addons
load = web
timezone = America/Toronto
without-demo=all
no-xmlrpc = True
no-xmlrpcs = True
no-netrpc = True
; LOG SETTINGS
logfile = /var/log/odoo/odoo-server.log
log_handler = werkzeug:WARNING
log_level = warn
no-logrotate = True

EOF

46 / 77 Version: RC-1 15 janvier 2015


Configuration du serveur Odoo

On vrifie le contenu du fichier.


[root@sme-9 ~]# cat /etc/odoo-server.conf

[options]
; This is the password that allows database operations:
admin_passwd = fghtbgh
; DATABASE OPTIONS
db_host = localhost
db_port = 5432
db_user = odoo
db_password = fghtbgh
; MISC SETTINGS
addons_path = /home/e-smith/files/ibays/Primary/html/odoo/addons
load = web
timezone = America/Toronto
without-demo=all
no-xmlrpc = True
no-xmlrpcs = True
no-netrpc = True
; LOG SETTINGS
logfile = /var/log/odoo/odoo-server.log
log_handler = werkzeug:WARNING
log_level = warn
no-logrotate = True

[root@sme-9 ~]#

On ajuste le propritaire et le groupe du fichier.


[root@sme-9 ~]# chown root.odoo /etc/odoo-server.conf

[root@sme-9 ~]#

On ajuste les droits sur le fichier.


[root@sme-9 ~]# chmod 640 /etc/odoo-server.conf

[root@sme-9 ~]#

On vrifie.
[root@sme-9 ~]# ls -alsd /etc/odoo-server.conf

4 -rw-r----- 1 root odoo 518 12 janv. 19:58 /etc/odoo-server.conf


[root@sme-9 ~]#

3. logrotation
Nous avons autoris la rotation des journaux en utilisant les outils CentOS de telle sorte que les journaux sont
grs de la mme manire que toutes les autres applications.
cat > /etc/logrotate.d/odoo-server << EOF
/var/log/odoo/*.log {
copytruncate
missingok
notifempty
}
EOF

2015-01-15 Version: RC-1 47 / 77


SME-9 & installation de Odoo-8

On vrifie.
[root@sme-9 html]# cat /etc/logrotate.d/odoo-server

/var/log/odoo/*.log {
copytruncate
missingok
notifempty
}
[root@sme-9 html]#

4. Script de dmarrage (/etc/init.d/odoo)


Nous allons crer un script pour dmarrer/arrter facilement le serveur Odoo. Nous allons tlcharger un script
pr-cr d'initialisation puis utiliser la commande sed pour modifier le script pr-cr de telle sorte qu'il s'har-
monise avec l'environnement virtuel Python que nous avons install plus tt.
On tlcharge le script pr-cr d'initialisation.
[root@sme-9 ~]# wget -O /etc/init.d/odoo
https://raw.githubusercontent.com/Johnzero/OE7/master/install/openerp-server.init

--2015-01-12 20:12:30--
https://raw.githubusercontent.com/Johnzero/OE7/master/install/openerp-server.init
Rsolution de raw.githubusercontent.com... 23.235.46.133
Connexion vers raw.githubusercontent.com|23.235.46.133|:443...connect.
requte HTTP transmise, en attente de la rponse...200 OK
Longueur: 2908 (2,8K) [text/plain]
Sauvegarde en : /etc/init.d/odoo

100%[=====================================================>] 2 908 --.-K/s ds 0,003s

2015-01-12 20:12:31 (1,07 MB/s) - /etc/init.d/odoo sauvegard [2908/2908]

[root@sme-9 ~]#

On change une des commandes de lancement de Odoo.


[root@sme-9 ~]# sed -i "s/openerp/odoo/g" /etc/init.d/odoo

[root@sme-9 ~]#

On change l'autre.
[root@sme-9 ~]# sed -i "s/OpenERP/Odoo/g" /etc/init.d/odoo

[root@sme-9 ~]#

On modifie le chemin vers openerp-server.


[root@sme-9 ~]# sed -i "s/\/usr\/bin\/setsid \/usr\/bin\/odoo-server/~\/odoo\/bin\/python
\/home\/e-smith\/files\/ibays\/Primary\/html\/odoo\/openerp-server/" /etc/init.d/odoo
[root@sme-9 ~]#

Vrification finale du fichier.


[root@sme-9 ~]# cat /etc/init.d/odoo
#!/bin/bash
# odoo-server This shell script takes care of starting and stopping
# Odoo server

48 / 77 Version: RC-1 15 janvier 2015


Configuration du serveur Odoo

#
# chkconfig: 345 95 05
# description: Odoo server
#
# pidfile: /var/run/odoo-server.pid
# config: /etc/odoo-server.conf
### BEGIN INIT INFO
# Provides: odoo-server
# Required-Start: postgresql
# Required-Stop: postgresql
# Should-Start: $network harddrake
# Default-Start: 345
# Short-Description: Launches the Odoo server.
# Description: This startup script launches the Odoo server.
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
PIDFILE=/var/run/odoo/odoo-server.pid
LOCKFILE=/var/lock/subsys/odoo-server
LOGFILE=/var/log/odoo/odoo-server.log
OPTS="--pidfile=$PIDFILE --logfile=$LOGFILE"
prog="odoo-server"
desc="Odoo Server Daemon"
# check if the odoo-server conf file is present, then use it
if [ -f /etc/odoo-server.conf ]; then
OPTS="$OPTS -c /etc/odoo-server.conf"
fi
# Source function library
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 0
fi
# check the existence of the odoo-server script
[ -z "/usr/bin/odoo-server" ] && exit 0
RETVAL=0
start() {
if [ -d /etc/odoo/start.d ] ; then
echo -n $"Preparing $desc: "
run-parts --exit-on-error /etc/odoo/start.d
RETVAL=$?
echo
[ $RETVAL -ne 0 ] && return $RETVAL
fi
echo -n $"Starting $desc ($prog): "
daemon --user odoo --check odoo-server \
"~/odoo/bin/python /home/e-smith/files/ibays/Primary/html/odoo/openerp-server \
-c /etc/odoo-server.conf \
--pidfile=$PIDFILE \
--logfile=$LOGFILE &"
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $LOCKFILE
return $RETVAL
}
stop() {

2015-01-15 Version: RC-1 49 / 77


SME-9 & installation de Odoo-8

echo -n $"Stopping $desc ($prog): "


kill -TERM `cat $PIDFILE` > /dev/null 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ] ; then
rm -f $LOCKFILE
echo_success
echo
else
echo_failure
echo
fi
if [ -d /etc/odoo/stop.d ] ; then
echo -n $"Clearing $desc: "
run-parts /etc/odoo/stop.d
echo
fi
return $RETVAL
}
restart() {
stop
start
}
condrestart() {
[ -e $LOCKFILE ] && restart || :
}
status() {
if [ -f $PIDFILE ] ; then
checkpid `cat $PIDFILE`
RETVAL=$?
if [ $RETVAL -eq 0 ] ; then
echo $"$prog is running..."
else
echo $"$prog is stopped"
fi
else
echo $"$prog is stopped"
fi
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
condrestart)
condrestart
;;
status)
status
;;
probe)
exit 0
;;
*)

50 / 77 Version: RC-1 15 janvier 2015


Configuration du serveur Odoo

echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"


exit 1
esac
[root@sme-9 ~]#

On rend le script excutable.


[root@sme-9 ~]# chmod +x /etc/init.d/odoo

[root@sme-9 ~]#

On vrifie.
[root@sme-9 ~]# ls -alsd /etc/init.d/odoo

4 -rwxr-xr-x 1 root root 2908 12 janv. 20:12 /etc/init.d/odoo


[root@sme-9 ~]#

5. Commande de dmarrage
On ajoute la commande de lancement du script la fin du fichier /etc/rc.d/rc.local car le Serveur SME-9 roule
sous le niveau 7 et chkconfig ne prend en compte que les niveaux [0..6]. On ne peut donc pas utiliser chkcon-
fig pour configurer le script de dmarre pour le niveau 7.
[root@sme-9 ~]# echo "/etc/init.d/odoo start" >> /etc/rc.d/rc.local

[root@sme-9 ~]#

On vrifie.
[root@sme-9 ~]# cat /etc/rc.d/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/etc/init.d/postgresql-9.4 start
/etc/init.d/odoo start
[root@sme-9 ~]#

6. signal-event
Trs important
Lorsque tout est termin et pour que les nouvelles configurations soient permanentes.

[root@sme-9 html]# signal-event post-upgrade; signal-event reboot

Broadcast message from root@sme-9


(/dev/pts/0) at 10:29 ...

The system is going down for reboot NOW!


[root@sme-9 html]#

2015-01-15 Version: RC-1 51 / 77


SME-9 & installation de Odoo-8

VI- Divers

1. Vrification des dmarrages


1.1. PostgreSQL
Usage: /etc/init.d/postgresql-9.4 {start|stop|status|restart|upgrade|condrestart|try-restart|reload|force-reload|
initdb|promote}
Pour vrifier le statut.
[root@sme-9 ~]# /etc/init.d/postgresql-9.4 status
postgresql-9.4 (pid 2688) en cours d'excution...
[root@sme-9 ~]#

1.2. Odoo
Syntaxe: /etc/init.d/odoo {start|stop|status|restart|condrestart|reload}
Pour vrifier le statut.
[root@sme-9 ~]# /etc/init.d/odoo status
odoo-server est en cours d'excution...
[root@sme-9 ~]#

2. Fichiers journaux
Vous pouvez vrifier les fichiers journaux /var/log/messages et /var/log/odoo/odoo-server.log pour vous assu-
rer que tout a dmarrer correctement. Notez que vous pouvez galement utiliser /etc/init.d/odoo restart et
/etc/init.d/odoo stop pour redmarrer et arrter Odoo au besoin.

3. Mot de passe
N'oubliez pas que vous pouvez trouver le mot de passe de l'admin de votre base de donnes dans le fichier de
configuration de Odoo: /etc/odoo-server.conf.

4. Administration du serveur Odoo


Pour administrer le serveur Odoo, il suffit de se loguer avec le nom d'usager admin et de fournir son mot de
passe tel que contenu dans le fichier de configuration de Odoo: /etc/odoo-server.conf.

52 / 77 Version: RC-1 15 janvier 2015


Divers

5. Site Odoo
Il faut autoriser java script et les t-
moins dans notre fureteur.

On doit spcifier le port 8069 soit:


http://adresse-du-serveur:8069.

5.1. cran: Create a New Database


Master password: le mot de passe pour admin_passwd qu'on a spcifi dans le fichier de configuration
/etc/odoo-server.conf.
Select a database name: le nom de notre socit.
Load demonstration data: cochez si on veut les donnes d'exemples.
Default language: on choisit, dans le menu droulant, la langue par dfaut pour notre site. La traduction
franaise n'est pas encore termine.
Choose password: on donne le mot de passe pour db_password qu'on a spcifi dans le fichier de configu-
ration /etc/odoo-server.conf.
Confirm password: on confirme.
On clic Create Database pour crer notre premire base de donnes pour notre socit. Ce processus peut
prendre quelques instant.
Nous sommes prt utiliser Odoo.

2015-01-15 Version: RC-1 53 / 77


SME-9 & installation de Odoo-8

Aprs quelques modifications.

6. Primary/html
Il nous faut maintenant retourner les droits originaux au rpertoire Primary/html; il fait enlever le droit d'cri-
ture au groupe.
On s'assure que nous sommes root.
[root@sme-9 ~]# whoami

root
[root@sme-9 ~]#

On se rend dans le rpertoire Primary.


[root@sme-9 ~]# cd /home/e-smith/files/ibays/Primary/

[root@sme-9 Primary]#

On enlve le droit d'criture au groupe pour le rpertoire html.


[root@sme-9 Primary]# chmod g-w html/

[root@sme-9 Primary]#

On vrifie.
[root@sme-9 Primary]# ls -alsd html/

4 drwxr-s--- 4 admin shared 4096 14 janv. 10:13 html/


[root@sme-9 Primary]#

54 / 77 Version: RC-1 15 janvier 2015


Divers

7. Redirection HTML
Pour accder Odoo sur notre site, il faut absolument spcifier le port 8069.
On pourrait crer une rgle iptables qui redirigerait le port standard 80 vers le port 8069. Le problme avec un
tel scnario est qu'on perdrait l'accs Server-Manager ou notre site Internet standard qui pourrait tre aussi
hberger sur le serveur.

7.1. Seul le site Odoo roule sur le serveur


Si Odoo est le seul site qui roule sur le serveur, on peut modifier le fichier index.html, qui est dans le rpertoire
Primary/html, pour qu'il fasse une redirection html vers le port 8069.
En tant logu root, on se rend dans le rpertoire Primary/html.
[root@sme-9 ~]# cd /home/e-smith/files/ibays/Primary/html/

[root@sme-9 html]#

On vrifie.
[root@sme-9 html]# pwd

/home/e-smith/files/ibays/Primary/html
[root@sme-9 html]#

On modifie le fichier index.html.


cat > ./index.htm << EOF
<head>
<META http-EQUIV="Refresh" CONTENT="0; url=http://192.168.1.10:8069">
</head>
EOF

On vrifie.
[root@sme-9 html]# cat index.htm

<head>
<META http-EQUIV="Refresh" CONTENT="0; url=http://192.168.1.10:8069">
</head>
[root@sme-9 html]#

On ajuste le propritaire et le groupe.


[root@sme-9 html]# chown admin:shared index.htm

[root@sme-9 html]#

On vrifie.
[root@sme-9 html]# ls -als index.htm

4 -rw-r--r-- 1 admin shared 87 14 janv. 12:48 index.htm


[root@sme-9 html]#

2015-01-15 Version: RC-1 55 / 77


SME-9 & installation de Odoo-8

On se rend sur notre site sans spcifier de port et on est automatiquement rediriger vers Odoo.

7.2. Un autre site roule sur le serveur


Si un autre site est hberg sur le serveur, nous allons
crer un fichier index.html dans les rpertoire
Primary/htm/odoo et qui fera une redirection html
vers le port 8069.
En tant logu root, on se rend dans le rpertoire Pri-
mary/html/odoo.
[root@sme-9 ~]# cd /home/e-smith/files/ibays/Primary/html/odoo

[root@sme-9 odoo]#

On vrifie.
[root@sme-9 odoo]# pwd

/home/e-smith/files/ibays/Primary/html/odoo
[root@sme-9 odoo]#

On cre le fichier index.html.


cat > ./index.htm << EOF
<head>
<META http-EQUIV="Refresh" CONTENT="0; url=http://192.168.1.10:8069">
</head>
EOF

On vrifie.
[root@sme-9 odoo]# cat index.htm

<head>
<META http-EQUIV="Refresh" CONTENT="0; url=http://192.168.1.10:8069">
</head>
[root@sme-9 odoo]#

On ajuste le propritaire et le groupe.


[root@sme-9 odoo]# chown admin:shared index.htm

[root@sme-9 odoo]#

56 / 77 Version: RC-1 15 janvier 2015


Divers

On vrifie.
[root@sme-9 odoo]# ls -als index.htm

4 -rw-r--r-- 1 admin shared 87 14 janv. 13:08 index.htm


[root@sme-9 odoo]#

On se rend sur notre site en ajoutant odoo l'adresse de notre site i.e. http://adresse-de-notre-site/odoo.
Nous sommes aussitt redirig vers le port 8069.

8. Mise jour Odoo


Si vous souhaitez mettre jour le code de Odoo la
dernire version, vous pouvez facilement le faire en ar-
rtant le serveur puis en effectuant un "git pull".
Notez que vous devez faire le "git pull" en tant qu'utili-
sateur odoo.
[root@sme-9 ~]# su - odoo

[odoo@sme-9 ~]$

On vrifie.
[odoo@sme-9 ~]$ whoami

odoo
[odoo@sme-9 ~]$

On arrte le serveur Odoo.


[root@sme-9 odoo]# /etc/init.d/odoo stop

Arrt de Odoo Server Daemon (odoo-server) : [ OK ]


[root@sme-9 odoo]#

On vrifie le statut du serveur Odoo.


[root@sme-9 odoo]# /etc/init.d/odoo status

odoo-server est arrt


[root@sme-9 odoo]#

On se rend dans le rpertoire Primary/html/odoo.


[odoo@sme-9 ~]$ cd /home/e-smith/files/ibays/Primary/html/odoo

[odoo@sme-9 odoo]$

2015-01-15 Version: RC-1 57 / 77


SME-9 & installation de Odoo-8

On vrifie.
[odoo@sme-9 odoo]$ pwd

/home/e-smith/files/ibays/Primary/html/odoo
[odoo@sme-9 odoo]$

On lance le "git pull".


[odoo@sme-9 odoo]$ git pull

remote: Counting objects: 78, done.


remote: Compressing objects: 100% (66/66), done.
remote: Total 78 (delta 6), reused 22 (delta 4)
Unpacking objects: 100% (78/78), done.
From https://github.com/odoo/odoo
30a7bea..f406847 7.0 -> origin/7.0
35a061e..ba5978a 8.0 -> origin/8.0
c79fdfc..327cb95 master -> origin/master
Updating 35a061e..ba5978a
Fast-forward
MANIFEST.in | 1 +
addons/point_of_sale/point_of_sale.py | 16 +++++++---------
2 files changed, 8 insertions(+), 9 deletions(-)
[odoo@sme-9 odoo]$

On redevient root car l'usager odoo peut arrter le serveur Odoo mais il ne peut pas le repartir.
[odoo@sme-9 odoo]$ exit

logout
[root@sme-9 ~]#

On vrifie.
[root@sme-9 ~]# whoami

root
[root@sme-9 ~]#

On relance le serveur Odoo.


[root@sme-9 ~]# /etc/init.d/odoo start

Dmarrage de Odoo Server Daemon (odoo-server) : [ OK ]


[root@sme-9 ~]#

On vrifie.
[root@sme-9 ~]# /etc/init.d/odoo status

odoo-server est en cours d'excution...


[root@sme-9 ~]#

58 / 77 Version: RC-1 15 janvier 2015


Mise jour du Serveur SME

VII- Mise jour du Serveur SME

1. Bug 8714
http://bugs.contribs.org/show_bug.cgi?id=8714 Issue with libgomp and smeserver-support-2.6.0-2.el6.sme

1.1. Vrification du bug avec Server Manager

1.2. Vrification du bug avec la console


[root@sme-9 ~]# yum update

Loaded plugins: fastestmirror, smeserver


Loading mirror speeds from cached hostfile
* base: mirror.science.uottawa.ca
* smeaddons: mirror.canada.pialasse.com
* smeextras: mirror.canada.pialasse.com
* smeos: mirror.canada.pialasse.com
* smeupdates: mirror.canada.pialasse.com
* updates: mirror.netflash.net
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package ORBit2.x86_64 0:2.14.17-3.2.el6_3 will be updated
---> Package ORBit2.x86_64 0:2.14.17-5.el6 will be an update
...
...
...

---> Package yum-plugin-fastestmirror.noarch 0:1.1.30-17.el6_5 will be updated


---> Package yum-plugin-fastestmirror.noarch 0:1.1.30-30.el6 will be an update
--> Running transaction check

2015-01-15 Version: RC-1 59 / 77


SME-9 & installation de Odoo-8

---> Package stunnel.x86_64 0:4.29-3.el6_6.1 will be installed


--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================
Package Arch Version Repository Size
============================================================================================
Installing:
kernel x86_64 2.6.32-504.3.3.el6 updates 29 M
Updating:
ORBit2 x86_64 2.14.17-5.el6 base 168 k
at x86_64 3.1.10-44.el6_6.2 updates 60 k
...
...
...
xz x86_64 4.999.9-0.5.beta.20091007git.el6 base 137 k
xz-libs x86_64 4.999.9-0.5.beta.20091007git.el6 base 89 k
xz-lzma-compat x86_64 4.999.9-0.5.beta.20091007git.el6 base 16 k
yum noarch 3.2.29-60.el6.centos base 1.0 M
yum-plugin-fastestmirror noarch 1.1.30-30.el6 base 31 k
Installing for dependencies:
stunnel x86_64 4.29-3.el6_6.1 updates 121 k

Transaction Summary
============================================================================================
Install 2 Package(s)
Upgrade 171 Package(s)

Total size: 244 M


Total download size: 322 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): nss-softokn-freebl-3.14.3-19.el6_6.i686.rpm | 156 kB 00:00
(2/2): nss-softokn-freebl-3.14.3-19.el6_6.x86_64.rpm | 166 kB 00:00
--------------------------------------------------------------------------------------------
Total 341 kB/s | 322 kB 00:00
Running rpm_check_debug
ERROR with rpm_check_debug vs depsolve:
libgomp = 4.4.7-11.el6 is needed by (installed) gcc-4.4.7-11.el6.x86_64
libgomp.so.1()(64bit) is needed by (installed) gcc-4.4.7-11.el6.x86_64
libgomp = 4.4.7-11.el6 is needed by (installed) gcc-4.4.7-11.el6.x86_64
libgomp = 4.4.7-11.el6 is needed by (installed) gcc-4.4.7-11.el6.x86_64
libgomp = 4.4.7-11.el6 is needed by (installed) gcc-4.4.7-11.el6.x86_64
You could try running: rpm -Va --nofiles --nodigest
Your transaction was saved, rerun it with: yum load-transaction /tmp/yum_save_tx-2015-01-14-
20-17ES88cA.yumtx
[root@sme-9 ~]#

2. Solution
2.1. gcc
Nous avions besoin de gcc pour la compilation, entre autre de Python.
Est-ce que gcc est requis par quel que paquetage?
[root@sme-9 ~]# rpm -q --whatrequires gcc

aucun paquetage ne requiert gcc


[root@sme-9 ~]#

60 / 77 Version: RC-1 15 janvier 2015


Mise jour du Serveur SME

Quel gcc avons-nous d'install?


[root@sme-9 ~]# rpm -qa | grep gcc

gcc-4.4.7-11.el6.x86_64
libgcc-4.4.7-11.el6.x86_64
[root@sme-9 ~]#

Avoir gcc install est un risque de scurit vu qu'un pirate pourrait s'en servir pour compiler un malveillant;
mais surtout, il occasionne un bug.
On peut donc le dsinstaller sans problme. Si plus tard nous en avions encore besoin, il suffirait de l'installer
nouveau.
Le 15 janvier 2015, Stphane de Labrusse a crit: "smeserver-support is waiting a release in smeupdates-
testing, that is a core issue and not a smeserver-phpvirtualbox issue".
On dsinstalle donc gcc.
[root@sme-9 ~]# rpm -e gcc-4.4.7-11.el6.x86_64

[root@sme-9 ~]#

On vrifie.
[root@sme-9 ~]# rpm -qa | grep gcc

libgcc-4.4.7-11.el6.x86_64
[root@sme-9 ~]#

2.2. On relance la mise jour


[root@sme-9 ~]# yum update

Loaded plugins: fastestmirror, smeserver


Loading mirror speeds from cached hostfile
* base: mirror.netflash.net
* smeaddons: mirror.canada.pialasse.com
* smeextras: mirror.canada.pialasse.com
* smeos: mirror.canada.pialasse.com
* smeupdates: mirror.canada.pialasse.com
* updates: mirror.netflash.net
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package ORBit2.x86_64 0:2.14.17-3.2.el6_3 will be updated
---> Package ORBit2.x86_64 0:2.14.17-5.el6 will be an update
...
...
...

--> Running transaction check


---> Package stunnel.x86_64 0:4.29-3.el6_6.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================
Package Arch Version Repository Size
============================================================================================
Installing:
kernel x86_64 2.6.32-504.3.3.el6 updates 29 M
Updating:
ORBit2 x86_64 2.14.17-5.el6 base 168 k

2015-01-15 Version: RC-1 61 / 77


SME-9 & installation de Odoo-8

at x86_64 3.1.10-44.el6_6.2 updates 60 k


audit x86_64 2.3.7-5.el6 base 208 k
...
...
...
yum noarch 3.2.29-60.el6.centos base 1.0 M
yum-plugin-fastestmirror noarch 1.1.30-30.el6 base 31 k
Installing for dependencies:
stunnel x86_64 4.29-3.el6_6.1 updates 121 k

Transaction Summary
============================================================================================
Install 2 Package(s)
Upgrade 171 Package(s)

Total size: 244 M


Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
Updating : bash-4.1.2-29.el6.x86_64 1/345
Updating : audit-libs-2.3.7-5.el6.x86_64 2/345
Updating : coreutils-libs-8.4-37.el6.x86_64 3/345
...
Cleanup : 1:telnet-0.17-47.el6_3.1.x86_64 344/345
Cleanup : lzo-2.03-3.1.el6.x86_64 345/345
Migrating existing database mailpatterns
Migrating existing database yum_available
Migrating existing database yum_updates
Migrating existing database hosts
Migrating existing database networks
Migrating existing database backups
Migrating existing database domains
Migrating existing database accounts
Migrating existing database yum_installed
Migrating existing database configuration
Migrating existing database yum_repositories
Migrating existing database spamassassin
Verifying : libpciaccess-0.13.3-0.1.el6.x86_64 1/344
Verifying : 1:microcode_ctl-1.17-19.el6.x86_64 2/344
Verifying : libblkid-2.17.2-12.18.el6.x86_64 3/344
...
Verifying : hwdata-0.233-9.1.el6.noarch 343/344
Verifying : policycoreutils-2.0.83-19.39.el6.x86_64 344/344

Installed:
kernel.x86_64 0:2.6.32-504.3.3.el6

Dependency Installed:
stunnel.x86_64 0:4.29-3.el6_6.1

Updated:
ORBit2.x86_64 0:2.14.17-5.el6
at.x86_64 0:3.1.10-44.el6_6.2
audit.x86_64 0:2.3.7-5.el6
...
...
...

xz-lzma-compat.x86_64 0:4.999.9-0.5.beta.20091007git.el6
yum.noarch 0:3.2.29-60.el6.centos
yum-plugin-fastestmirror.noarch 0:1.1.30-30.el6

Complete!

62 / 77 Version: RC-1 15 janvier 2015


Mise jour du Serveur SME

==============================================================
WARNING: You now need to run BOTH of the following commands
to ensure consistent system state:

signal-event post-upgrade; signal-event reboot

You should run these commands unless you are certain that
yum made no changes to your system.
==============================================================
[root@sme-9 ~]#

2.3. signal-event
Cette fois-ci, la mise jour a bien fonctionn, on signale la mise jour.
[root@sme-9 ~]# signal-event post-upgrade; signal-event reboot

Broadcast message from root@sme-9


(/dev/pts/0) at 21:21 ...

The system is going down for reboot NOW!


[root@sme-9 ~]#

3. Vrification aprs ramorage


[root@sme-9 ~]# /etc/init.d/postgresql-9.4 status

postgresql-9.4 (pid 2117) en cours d'excution...


[root@sme-9 ~]#

[root@sme-9 ~]# /etc/init.d/odoo status

odoo-server est en cours d'excution...


[root@sme-9 ~]#

Vrification avec Server Manager.

Il n'y a pas signaler la mise jour car tout est dj


jour.

2015-01-15 Version: RC-1 63 / 77


SME-9 & installation de Odoo-8

4. Vrification de Odoo
Tout semble bien fonctionner.

64 / 77 Version: RC-1 15 janvier 2015


Sauvegarde de SME

VIII- Sauvegarde de SME

1. Sauvegarde
On lance une sauvegarde sur un ordinateur distant.

2. Rpertoires sauvegards

2015-01-15 Version: RC-1 65 / 77


SME-9 & installation de Odoo-8

3. Fichier de configuration et de lancement


Le fichiers ci-dessous devraient tre sauvegards dans le rpertoire de l'usager odoo afin qu'ils puissent tre
sauvegarder lors d'une sauvegarde standard du Serveur SME.
[root@sme-9 ~]# ls -als /etc/odoo-server.conf
4 -rw-r----- 1 root odoo 492 14 janv. 10:16 /etc/odoo-server.conf
[root@sme-9 ~]#
[root@sme-9 ~]#
[root@sme-9 ~]# ls -als /etc/init.d/odoo
4 -rwxr-xr-x 1 root root 2864 14 janv. 10:19 /etc/init.d/odoo
[root@sme-9 ~]#
[root@sme-9 ~]#
[root@sme-9 ~]# ls -als /etc/rc.d/rc.local
4 -rwxr-xr-x 1 root root 276 14 janv. 12:02 /etc/rc.d/rc.local
[root@sme-9 ~]#

On change d'usager pour devenir l'usager odoo.


[root@sme-9 html]# su - odoo

[odoo@sme-9 ~]$

On vrifie.
[odoo@sme-9 ~]$ whoami

odoo
[odoo@sme-9 ~]$

O sommes-nous?
[odoo@sme-9 ~]$ pwd

/home/e-smith/files/users/odoo
[odoo@sme-9 ~]$

On cre un rpertoire de sauvegarde.


[odoo@sme-9 ~]$ mkdir sauvegarde_odoo

[odoo@sme-9 ~]$

On vrifie.
[odoo@sme-9 ~]$ ls -alsd sauvegarde_odoo/

4 drwxrwxr-x 2 odoo odoo 4096 15 janv. 17:02 sauvegarde_odoo/


[odoo@sme-9 ~]$

66 / 77 Version: RC-1 15 janvier 2015


Sauvegarde de SME

On copie les fichiers cits ci-haut dans le rpertoire de sauvegarde.


[odoo@sme-9 ~]$ cp /etc/odoo-server.conf /etc/init.d/odoo /etc/rc.d/rc.local
./sauvegarde_odoo/

[odoo@sme-9 ~]$

On vrifie.
[odoo@sme-9 ~]$ ls -als sauvegarde_odoo/

total 20
4 drwxrwxr-x 2 odoo odoo 4096 15 janv. 17:05 .
4 drwx------ 7 odoo odoo 4096 15 janv. 17:02 ..
4 -rwxr-xr-x 1 odoo odoo 2864 15 janv. 17:05 odoo
4 -rw-r----- 1 odoo odoo 492 15 janv. 17:05 odoo-server.conf
4 -rwxr-xr-x 1 odoo odoo 276 15 janv. 17:05 rc.local
[odoo@sme-9 ~]$

La prochaine sauvegarde standard du Serveur SME sauvegardera aussi ces fichiers.

2015-01-15 Version: RC-1 67 / 77


SME-9 & installation de Odoo-8

IX- Sauvegardes et restaurations PostgreSQL

1. Rfrence
http://docs.postgresqlfr.org/9.3/backup.html

1.1. Utilisation de pg_dumpall


Pour permettre une sauvegarde aise de tout le contenu d'un cluster, le programme pg_dumpall(1) est fourni.
pg_dumpall sauvegarde toutes les bases de donnes d'un cluster (ensemble des bases d'une instance) PostgreS-
QL et prserve les donnes communes au cluster, telles que les rles et tablespaces. L'utilisation basique de
cette commande est:
pg_dumpall > fichier_de_sortie
Le fichier de sauvegarde rsultant peut tre restaur avec psql:
psql -f fichier_d_entree postgres
(N'importe quelle base de donnes peut tre utilise pour la connexion mais si le rechargement est excut sur
un cluster vide, il est prfrable d'utiliser postgres.) Il faut obligatoirement avoir le profil superutilisateur pour
restaurer une sauvegarde faite avec pg_dumpall, afin de pouvoir restaurer les informations sur les rles et les
tablespaces. Si les tablespaces sont utiliss, il faut s'assurer que leurs chemins sauvegards sont appropris la
nouvelle installation.
pg_dumpall fonctionne en mettant des commandes pour recrer les rles, les tablespaces et les bases vides,
puis en invoquant pg_dump pour chaque base de donnes. Cela signifie que, bien que chaque base de donnes
est cohrente en interne, les images des diffrentes bases de donnes peuvent ne pas tre tout fait synchroni -
ses.

1.2. Grer les grosses bases de donnes


Certains systmes d'exploitation ont des limites sur la taille maximum des fichiers qui posent des problme lors
de la cration de gros fichiers de sauvegarde avec pg_dump. Heureusement, pg_dump peut crire sur la sortie
standard, donc vous pouvez utiliser les outils Unix standards pour contourner ce problme potentiel. Il existe
plusieurs autres mthodes:
Compresser le fichier de sauvegarde. Tout programme de compression habituel est utilisable. Par exemple gzip:
pg_dump base_de_donnees | gzip > nom_fichier.gz
Pour restaurer:
gunzip -c nom_fichier.gz | psql base_de_donnees
ou
cat nom_fichier.gz | gunzip | psql base_de_donnees
Couper le fichier avec split. La commande split permet de dcouper le fichier en fichiers plus petits, de taille
acceptable par le systme de fichiers sous-jacent. Par exemple, pour faire des morceaux de 1 Mo:
pg_dump base_de_donnees | split -b 1m - nom_fichier

68 / 77 Version: RC-1 15 janvier 2015


Sauvegardes et restaurations PostgreSQL

Pour restaurer:
cat nom_fichier* | psql base_de_donnees

2. Sauvegarde
On change d'usager pour devenir l'usager postgres.
[root@sme-9 ~]# su - postgres

-bash-4.1$

On vrifie.
-bash-4.1$ whoami

postgres
-bash-4.1$

O sommes-nous?
-bash-4.1$ pwd

/var/lib/pgsql
-bash-4.1$

On sauvegarde.
-bash-4.1$ pg_dumpall --clean > PostgreSQL_Odoo-8_2015-01-15_17h16

-bash-4.1$

-c
--clean
Inclut les commandes SQL pour nettoyer (drop) les bases de donnes avant de les recrer.
La commande DROP pour les rles et les tablespaces sont aussi ajouts.
-f filename
--file=filename
Envoie la sortie vers le fichier spcifi. Si ce paramtre n'est pas spcifi, la sortie standard est utilise.

On vrifie.
-bash-4.1$ ls -als PostgreSQL_Odoo-8_2015-01-15_17h16

9036 -rw-r--r-- 1 postgres postgres 9251485 15 janv. 17:16 PostgreSQL_Odoo-8_2015-01-


15_17h16
-bash-4.1$

On retourne l'usager root.


-bash-4.1$ exit

logout
[root@sme-9 ~]#

2015-01-15 Version: RC-1 69 / 77


SME-9 & installation de Odoo-8

On dplace le fichier de sauvegarde vers le rpertoire de l'usager odoo pour que ce fichier puisse tre sauve-
gard lors d'une sauvegarde standard du Serveur SME.
[root@sme-9 ~]# mv /var/lib/pgsql/PostgreSQL_Odoo-8_2015-01-15_17h16 /home/e-
smith/files/users/odoo/sauvegarde_odoo/

[root@sme-9 ~]#

On vrifie
[root@sme-9 ~]# ls -als /home/e-smith/files/users/odoo/sauvegarde_odoo/

total 9056
4 drwxrwxr-x 2 odoo odoo 4096 15 janv. 17:17 .
4 drwx------ 7 odoo odoo 4096 15 janv. 17:02 ..
4 -rwxr-xr-x 1 odoo odoo 2864 15 janv. 17:09 odoo
4 -rw-r----- 1 odoo odoo 492 15 janv. 17:09 odoo-server.conf
9036 -rw-r--r-- 1 postgres postgres 9251485 15 janv. 17:16 PostgreSQL_Odoo-8_2015-01-
15_17h16
4 -rwxr-xr-x 1 odoo odoo 276 15 janv. 17:09 rc.local
[root@sme-9 ~]#

2.1. cron
On pourrait crer un cron pour excuter une sauvegarde hebdomadaire.
Il serait prfrable de faire la sauvegarde dans le rpertoire personnel de root ou de l'usager odoo car ainsi les
sauvegardes du Serveur SME sauvegarderaient aussi les sauvegardes PostgreSQL.

3. Restauration
On affiche les fichiers de sauvegarde.
[root@sme-9 ~]# ls -als /home/e-smith/files/users/odoo/sauvegarde_odoo/PostgreSQL_Odoo*

9036 -rw-r--r-- 1 postgres postgres 9251485 15 janv. 17:16 /home/e-


smith/files/users/odoo/sauvegarde_odoo/PostgreSQL_Odoo-8_2015-01-15_17h16
[root@sme-9 ~]#

On dplace le fichier de sauvegarde


[root@sme-9 ~]# mv /home/e-smith/files/users/odoo/sauvegarde_odoo/PostgreSQL_Odoo-8_2015-01-
15_17h16 /var/lib/pgsql/

[root@sme-9 ~]#

On vrifie.
[root@sme-9 ~]# ls -als /var/lib/pgsql/PostgreSQL_Odoo-8_2015-01-15_17h16

9036 -rw-r--r-- 1 postgres postgres 9251485 15 janv. 17:16 /var/lib/pgsql/PostgreSQL_Odoo-


8_2015-01-15_17h16
[root@sme-9 ~]#

On change pour l'usager postgres.


[root@sme-9 ~]# su - postgres

-bash-4.1$

70 / 77 Version: RC-1 15 janvier 2015


Sauvegardes et restaurations PostgreSQL

On vrifie.
[root@sme-9 ~]# whoami

root
[root@sme-9 ~]#

On liste le fichier de restauration.


-bash-4.1$ ls -als PostgreSQL*

9036 -rw-r--r-- 1 postgres postgres 9251485 15 janv. 17:16 PostgreSQL_Odoo-8_2015-01-


15_17h16
-bash-4.1$

On restaure.
-bash-4.1$ psql -f PostgreSQL_Odoo-8_2015-01-15_17h16

SET
SET
SET
DROP DATABASE
...
...
...
SET
SET
SET
COMMENT
CREATE EXTENSION
COMMENT
REVOKE
REVOKE
GRANT
GRANT
-bash-4.1$

4. Vrification
On se logue avec un compte quelconque.

Victoire totale.

2015-01-15 Version: RC-1 71 / 77


Crdits

Crdits

2015 RF-232
Auteur: Michel-Andr Robillard CLP
Remerciement: Tous les contributeurs GNU/GPL.
Intgr par: Michel-Andr Robillard CLP
Contact: michelandre at micronator.org
Rpertoire de ce document: E:\000_DocPourRF232_general\RF-232_SME-9.0_Odoo\RF-232_SME-
9.0_Odoo_Installation_2015-01-15_19h41.odt

Historique des modifications:

Version Date Commentaire Auteur


RC-1 2015-01-11 Dbut. M.-A. Robillard

2015-01-15 Version: RC-1 72 / 77


Index

Index
1 chmod g+w html/..........................43 E
chmod 640....................................47
192.168.1.10.................................11 easy_install-2.7.............................36
chmod g-w html/...........................54
cran.............................................53
Choose password..........................53
3 EnableGroups...............................14
chown -R......................................44
environnement virtuel...................40
32 bit (i386) seulement.................31 chown admin:shared.....................55
EOF...............................................47
32 ou 64 bits.................................12 chown root.odoo...........................47
ERP.................................................7
cl PKI..........................................13
ERROR with rpm_check_debug. .60
coltest............................................22
6 tape................................................9
Commande de dmarrage.............51
Exclude=.......................................15
64 bit (x86) seulement..................30 commande yum............................12
exit................................................58
Commentaire................................72
8 Configuration finale......................24
Confirm password........................53 F
8069........................................53, 55 Connexion la BD.......................22 fghtbgh..........................................46
Conventions....................................9 Fichier de configuration................66
A cPanel & WHM............................40 fichier_d_entree............................68
CPU..............................................12 fichier_de_sortie...........................68
absolete.........................................14
CR...................................................9 Fichiers journaux..........................52
addons_path..................................46
CREATE.......................................22 fork................................................41
adduser michelandre.....................20
Create a New Database.................53
admin_passwd..............................46
Create Database............................53
adresse du lien..............................27
CREATE SCHEMA.....................19 G
AGPL..............................................7
CREATE TABLE test.test............22 gcc.................................................26
Ajout du dpt..............................14
CREATE USER............................19 Gnral Toto.................................20
altinstall........................................32
createuser......................................25 GitHuB..........................................10
America/Toronto...........................46
Cration des rpertoires................38 GPGCheck....................................14
anciens essais................................32
Crdits...........................................72 GPGKey........................................14
ASCII..............................................9
cron...............................................70 GRANT........................................19
astuce..............................................9
GRANT ALL ON ALL TABLES. 19
Avertissement.................................2
D GRANT ALL ON SCHEMA........19
grep...............................................21
B daviddean99..................................10 grosses bases de donnes..............68
db_host.........................................46 groupe shared................................20
base de donnes par dfaut...........19
db_password.................................46 Groupe shared...............................43
BaseURL......................................14
db_password.................................53 gzip...............................................68
Bug 8714......................................59
db_port..........................................46
bug avec la console.......................59
db_user.........................................46
bug avec Server Manager.............59
Dconnexion...........................19, 23 H
build..............................................32
Default language...........................53 help...............................................18
Dpendances.................................26 HELP............................................22
C dpendances de paquetages..........26 http://download.gna.org/...............41
cabextract......................................27 dpt PostgreSQL.........................12 http://pkgs.repoforge.org/.............28
CentOS 6 - x86 64........................12 depsolve........................................60 https://bitbucket.org/.....................36
CentOS-6......................................12 Description gnrale.......................7 https://github.com/........................44
CentOS-6 x86 64bit......................27 DigestIT-2004.................................8 https://raw.githubusercontent.com48
CentOS-6.6...................................12 DROP...........................................23
Chemin.........................................41 DROP TABLE..............................23 I
chkconfig......................................51
i-bay Primary................................37

2015-01-15 Version: RC-1 73 / 77


Index

ident..............................................22 non vrifi.......................................9 rpm --import.................................13


initdb.............................................16 NON-RESPONSABILIT.............2 rpm -e gcc-4.4.7-11.el6.x86_64....61
Initialisation..................................16 note.................................................9 rpm -q --whatrequires gcc.............60
INSERT........................................23 Notes au lecteur..............................9 rpm -qa | grep gcc.........................61
Installation d'un Serveur SME........7 rpm absolete..................................14
Installation depuis GitHub............44 O RPM-GPG-KEY-PGDG-94..........13
INTERPRTEUR.........................20
ISO9001..........................................7 objets nomms..............................18
Odoo-8..........................................43 S
odoo.git.........................................44 Sauvegarde de SME......................65
J odoo/bin/activate..........................41 sauvegarde_odoo..........................66
java script......................................53 Open Source...................................7 SCHEMA......................................18
OpenERP........................................7 Script de dmarrage......................48
L OpenERP SA..................................7 script de lancement.......................10
sed.................................................24
Lancement l'amorage...............17 SELECT........................................23
Lancement manuel........................16 P
SELECT *.....................................23
LF...................................................9 passwd michelandre......................20 Select a database name.................53
libgomp.........................................60 PDF...........................................9, 29 Server Manager.............................19
load...............................................46 pg_dumpall...................................68 serveur et passerelle......................11
Load demonstration data..............53 pg_hba.conf..................................24 serveur Odoo.................................46
log_handler...................................46 pgdg..............................................12 Serveur SME...................................7
log_level.......................................46 PIL................................................41 serveur uniquement.......................11
logfile............................................46 pillow............................................41 setprop base Exclude....................14
logiciel Odoo..................................7 PIP................................................36 SFTP...............................................8
Logiciels recommands..................8 pip install......................................41 SHA-1.............................................8
logrotation.....................................47 pip virtualenv................................36 shared............................................20
point-virgule.................................18 Shell par dfaut.............................21
M PostgreSQL 9.4.............................15 show base......................................15
PPPoE...........................................11 signal-event.............................51, 63
make.............................................34 Premiers pas..................................18 signal-event post-upgrade.............21
make altinstall...............................34 Primary/htm/odoo.........................56 signal-event reboot.......................21
Manipulation...................................9 Primary/html...........................20, 54 signal-event yum-modify..............14
Manuel de l'Administrateur............7 Primary/html/odoo........................38 Site Odoo......................................53
Manuel de l'Utilisateur...................7 procdure........................................9 SME-8.x........................................10
Manuel du dveloppeur..................8 psql...............................................18 split...............................................68
Master password...........................53 psql -d postgres.............................22 SSH.................................................8
MD5..........................................8, 24 psql -f............................................71 status=disabled.............................14
MirrorList.....................................15 PsycoPG2.....................................41 su - postgres..................................18
Mise jour....................................59 PuTTY............................................8 superutilisateur..............................68
mkdir sauvegarde_odoo................66 PyChart-1.39.tar.gz.......................41
modules RPC................................46 Python 2.7.....................................10
Mot de passe.................................20 T
mot de passe de l'admin................52 tablespaces....................................68
mv.................................................70 R
tmoins..........................................53
recommandation.............................9 timezone........................................46
N Redirection HTML.......................55 Tiny ERP........................................7
rfrence internet............................9
niveaux [0..6]................................51 Rpertoires sauvegards...............65
no-logrotate...................................46 repository......................................12 U
no-netrpc.......................................46 rhel-6-x86_64...............................12 uname -p.......................................12
no-xmlrpc.....................................46 RHEL6..........................................27 Usager odoo..................................40
no-xmlrpcs....................................46 RLE............................................19 usager postgres.............................18
noexec...........................................32 rpath..............................................33 usager standard.............................19

74 / 77 Version: RC-1 2015-01-15


Index

Usager standard odoo...................37 --branch 8.0...................................44 /etc/fstab........................................32


usermod -s....................................21 --clean...........................................69 /etc/group......................................21
--createdb......................................25 /etc/init.d/odoo status....................57
V --enablerepo=pgdg94....................15 /etc/init.d/odoo stop......................57
--file=filename..............................69 /etc/init.d/postgresql-9.4.........16, 52
varchar(20)...................................22 --groups.........................................20 /etc/logrotate.d..............................48
Vrification...................................71 --home...........................................20 /etc/odoo-server.conf....................46
Vrification de Odoo....................64 --no-createrole..............................25 /etc/passwd....................................21
Version CentOS............................12 --no-superuser...............................25 /etc/pki/rpm-gpg/..........................13
Victoire.........................................71 --prefix=/usr/local.........................33 /etc/rc.d/rc.local............................17
virtualenv......................................36 --pwprompt...................................25 /etc/yum.repos.d/..........................13
Visible...........................................14 --shell............................................20 /home/e-smith/files/users/odoo,....37
--username postgres......................25 /sbin/e-smith/db............................14
W -c...................................................69 /tmp/..............................................32
-d, --home RP_PERSO..............20 /usr/bin/.........................................30
wget........................................26, 48
-f filename....................................69 /usr/bin/rssh..................................21
whoami.........................................18
-G, --groups..................................20 /usr/local/lib..................................33
WinSCP..........................................8
-s, --shell.......................................20 /var/lock/subsys/local...................17
wkhtmltopdf.................................29
/var/run/odoo................................38

X .
./configure.....................................33 \
xorg-x11-fonts-75dpi....................29
./index.htm....................................55 \?...................................................18
\copyright......................................18
Y [ \g...................................................18
yum install -y................................12 \h...................................................18
[TAB]............................................13 \q.............................................18, 19
yum update...................................59
yum_repositories..........................14
yum-modify..................................14 /
/bin/bash.......................................20 RF-232........................................2
- /etc/centos-release.........................12

2015-01-15 Version: RC-1 75 / 77


Licence publique gnrale GNU

LICENCE PUBLIQUE GNRALE GNU mande de leur abandonner ces droits. En consquence, de luvre qui permet ou facilite les modifications de Article 4. Acheminement des copies conformes.
vous avez certaines responsabilits si vous distribuez des celle-ci. Le "code objet" dune uvre signifie toute Vous pouvez acheminer des copies conformes du code
Version 3, du 29 juin 2007. copies dun tel programme ou si vous le modifiez : les forme de luvre qui nen est pas le code source. source du Programme tel que vous lavez reu, sur nim-
Copyright (C) 2007 Free Software Foundation, Inc. responsabilits de respecter la libert des autres. Une "Interface Standard" signifie une interface qui est porte quel support, pourvu que vous publiiez scrupuleu-
<http://fsf.org/> Par exemple, si vous distribuez des copies dun tel pro- soit celle dune norme officielle dfinie par un organisme sement et de faon approprie sur chaque copie une no-
Chacun est autoris copier et distribuer des copies gramme, que ce soit gratuit ou contre un paiement, vous de normalisation reconnu ou, dans le cas des interfaces tice de Droit dAuteur approprie; gardez intactes toutes
conformes de ce document de licence, mais toute modifi- devez accorder aux Destinataires les mmes liberts que spcifies pour un langage de programmation particulier, les notices tablissant que cette Licence et tous les
cation en est proscrite. vous avez reues. Vous devez aussi vous assurer queux une interface largement utilise parmi les dveloppeurs termes additionnels non permissifs ajouts en accord
----------------------------------- aussi reoivent ou peuvent recevoir son code source. Et qui travaillent dans ce langage. avec larticle 7 sappliquent ce code; et donnez cha-
Traduction franaise par Philippe Verdy <verdy_p () vous devez leur montrer les termes de cette licence afin Les "Bibliothques Systme" dune uvre excutable in- cun des Destinataires une copie de cette Licence en
wanadoo (point) fr>, le 30 juin 2007 (dernire correction quils connaissent leurs droits. cluent tout ce qui, en dehors de luvre dans son en- mme temps que le Programme.
du 4 janvier 2011). Les dveloppeurs qui utilisent la GPL GNU protgent semble, (a) est inclus dans la forme usuelle de paquetage Vous pouvez facturer un prix quelconque, y compris gra-
Avertissement important au sujet de cette traduction vos droits en deux tapes : (1) ils affirment leur droits dun Composant Majeur mais ne fait pas partie de ce tuit, pour chacune des copies que vous acheminez, et
franaise. dauteur (copyright) sur le logiciel, et (2) vous ac- Composant Majeur et (b) sert seulement permettre vous pouvez offrir une protection additionnelle de sup-
Ceci est une traduction en franais de la licence GNU cordent cette Licence qui vous donne la permission l- lutilisation de luvre avec ce Composant Majeur ou port ou de garantie en change dun paiement.
General Public License (GPL). Cette traduction est gale de le copier, le distribuer et/ou le modifier. mettre en uvre une Interface Standard pour laquelle une Article 5. Acheminement des versions sources modi-
fournie ici dans lespoir quelle facilitera sa comprhen- Pour la protection des dveloppeurs et auteurs, la GPL mise en uvre est disponible au public sous forme de fies.
sion, mais elle ne constitue pas une traduction officielle stipule clairement quil ny a pas de garantie pour ce lo - code source; un "Composant Majeur" signifie, dans ce Vous pouvez acheminer une uvre base sur le Pro-
ou approuve dun point de vue juridique. giciel libre. Aux fins la fois des utilisateurs et auteurs, contexte, un composant majeur essentiel (noyau, systme gramme, ou bien les modifications pour le produire
La Free Software Foundation (FSF) ne publie pas cette la GPL require que les versions modifies soient mar- de fentrage, etc.) du systme dexploitation (le cas partir du Programme, sous la forme de code source sui-
traduction et ne la pas approuve en tant que substitut ques comme changes, afin que leurs problmes ne chant) dun systme sur lequel luvre excutable vant les termes de larticle 4, pourvu que vous satisfas-
valide au plan lgal pour la licence authentique GNU soient pas attribus de faon errone aux auteurs des ver- fonctionne, ou bien un compilateur utilis pour produire siez aussi chacune des conditions requises suivantes :
General Public Licence. Cette traduction na pas encore sions prcdentes. le code objet de luvre, ou un interprte de code objet a) Luvre doit comporter des notices videntes tablis-
t passe en revue attentivement par un juriste et donc Certains dispositifs sont conus pour empcher laccs utilis pour excuter celui-ci. sant que vous lavez modifie et donnant la date corres-
le traducteur ne peut garantir avec certitude quelle re- des utilisateurs linstallation ou lexcution de versions Le "Source Correspondant" dune uvre sous forme de pondante.
prsente avec exactitude la signification lgale des modifies du logiciel lintrieur de ces dispositifs, alors code objet signifie lensemble des codes sources nces- b) Luvre doit comporter des notices videntes tablis-
termes de la licence authentique GNU General Public que les fabricants le peuvent. Ceci est fondamentalement saires pour gnrer, installer et (dans le cas dune uvre sant quelle est dite selon cette Licence et les condi -
License publie en anglais. Cette traduction ntablit incompatible avec le but de protger la libert des utilisa - excutable) excuter le code objet et modifier luvre, y tions ajoutes daprs larticle 7. Cette obligation vient
donc lgalement aucun des termes et conditions dutilisa- teurs de modifier le logiciel. Laspect systmatique de compris les scripts pour contrler ces activits. Cepen- modifier lobligation de larticle 4 de "garder intactes
tion dun logiciel sous licence GNU GPL seul le texte tels abus se produit dans le secteur des produits destins dant, cela ninclue pas les Bibliothques Systme de toutes les notices."
original en anglais le fait. Si vous souhaitez tre sr que aux utilisateurs individuels, ce qui est prcisment ce qui luvre, ni les outils dusage gnral ou les programmes c) Vous devez licencier luvre entire, comme un tout,
les activits que vous projetez seront autorises par la est le plus inacceptable. Aussi, nous avons conu cette libres gnralement disponibles qui peuvent tre utiliss suivant cette Licence quiconque entre en possession
GNU General Public License, veuillez vous rfrer sa version de la GPL pour prohiber cette pratique pour ces sans modification pour achever ces activits mais ne sont dune copie. Cette Licence sappliquera en consquence,
seule version anglaise authentique. produits. Si de tels problmes surviennent dans dautres pas partie de cette uvre. Par exemple le Source Corres- avec les termes additionnels applicables prvus par lar-
La FSF vous recommande fermement de ne pas utiliser domaines, nous nous tenons prt tendre cette restric- pondant inclut les fichiers de dfinition dinterfaces asso- ticle 7, la totalit de luvre et chacune de ses parties,
cette traduction en tant que termes officiels pour vos tion ces domaines dans de futures versions de la GPL, cis aux fichiers sources de luvre, et le code source indpendamment de la faon dont elles sont empaque-
propres programmes; veuillez plutt utiliser la version autant quil sera ncessaire pour protger la libert des des bibliothques partages et des sous-routines lies dy- tes. Cette licence ne donne aucune permission de licen-
anglaise authentique telle que publie par la FSF. Si vous utilisateurs. namiquement, pour lesquelles luvre est spcifique- cier luvre dune autre faon, mais elle ninvalide pas
choisissez dacheminer cette traduction en mme temps Finalement, chaque programme est constamment menac ment conue pour les requrir via, par exemple, des com- une telle permission que vous auriez reue sparment.
quun Programme sous licence GNU GPL, cela ne vous par les brevets logiciels. Les tats ne devraient pas auto- munications de donnes ou contrles de flux internes d) Si luvre a des interfaces utilisateurs interactives,
dispense pas de lobligation dacheminer en mme temps riser de tels brevets restreindre le dveloppement et entre ces sous-programmes et dautres parties de chacune doit afficher les Notices Lgales Appropries;
une copie de la licence authentique en anglais, et de lutilisation de logiciels libres sur des ordinateurs luvre. cependant si le Programme a des interfaces qui naf-
conserver dans la traduction cet avertissement important dusage gnral; mais dans ceux qui le font, nous vou- Le Source Correspondant na pas besoin dinclure tout ce fichent pas les Notices Lgales Appropries, votre
en franais et son quivalent en anglais ci-dessous. lons spcialement viter le danger que les brevets appli - que les utilisateurs peuvent rgnrer automatiquement uvre na pas les modifier pour quelles les affichent.
qus un programme libre puisse le rendre effectivement partir dautres parties du Source Correspondant. Une compilation dune uvre Couverte avec dautres
Important Warning About This French Translation. propritaire. Pour empcher ceci, la GPL assure que les Le Source Correspondant pour une uvre sous forme de uvres spares et indpendantes, qui ne sont pas par
This is a translation of the GNU General Public License brevets ne peuvent tre utiliss pour rendre le pro- code source est cette mme uvre. leur nature des extensions de luvre Couverte, et qui ne
(GPL) into French. This translation is distributed in the gramme non-libre. Article 2. Permissions de base. sont pas combins avec elle de faon former un pro-
hope that it will facilitate understanding, but it is not an Les termes prcis et conditions concernant la copie, la Tous les droits accords suivant cette Licence le sont jus- gramme plus large, dans ou sur un volume de stockage
official or legally approved translation. distribution et la modification suivent. quau terme des Droits dAuteur (copyright) sur le ou un support de distribution, est appel un "agrgat" si
The Free Software Foundation (FSF) is not the publisher Programme, et sont irrvocables pourvu que les condi- la compilation et son Droit dAuteur rsultant ne sont pas
of this translation and has not approved it as a legal sub- TERMES ET CONDITIONS tions tablies soient remplies. Cette Licence affirme ex- utiliss pour limiter laccs ou les droits lgaux des utili-
stitute for the authentic GNU General Public License. Article 0. Dfinitions. plicitement votre permission illimite dexcuter le Pro- sateurs de la compilation en de de ce que permettent
The translation has not been reviewed carefully by law- "Cette Licence" se rfre la version 3 de la GNU Gen- gramme non modifi. La sortie produite par lexcution les uvres individuelles. Linclusion dune uvre Cou-
yers, and therefore the translator cannot be sure that it eral Public License (le texte original en anglais). dune uvre Couverte nest couverte par cette Licence verte dans un agrgat ne cause pas lapplication de cette
exactly represents the legal meaning of the authentic "Droit dAuteur" signifie aussi les droits du copyright que si cette sortie, tant donn leur contenu, constitue Licence aux autres parties de lagrgat.
GNU General Public License published in English. This ou voisins qui sappliquent dautres types duvres, une uvre Couverte. Cette Licence reconnat vos Article 6. Acheminement des formes non sources.
translation does not legally state the terms and conditions tels que celles sur les masques de semi-conducteurs. propres droits dusage raisonnable (fair use en lgisla- Vous pouvez acheminer sous forme de code objet une
of use of any Program licenced under GNU GPL only "Le Programme" se rfre toute uvre qui peut tre su- tion des tats-Unis dAmrique) ou autres quivalents, uvre Couverte suivant les termes des articles 4 et 5,
the original English text of the GNU LGPL does that. If jette au Droit dAuteur (copyright) et dont les droits tels quils sont pourvus par la loi applicable sur le Droit pourvu que vous acheminiez galement suivant les
you wish to be sure whether your planned activities are dutilisation sont concds en vertu de cette Licence. dAuteur (copyright). termes de cette Licence le Source Correspondant lisible
permitted by the GNU General Public License, please Chacun des Licencis, qui cette Licence est concde, Vous pouvez crer, excuter et propager sans condition par une machine, dune des faons suivantes :
refer to its sole authentic English version. est dsign par "vous." Les "Licencis" et les "Destina - des uvres Couvertes que vous nacheminez pas, aussi a) Acheminer le code objet sur, ou inclus dans, un pro-
The FSF strongly urges you not to use this translation as taires" peuvent tre des personnes physiques ou morales longtemps que votre licence demeure en vigueur. Vous duit physique (y compris un support de distribution phy-
the official distribution terms for your programs; instead, (individus ou organisations). pouvez acheminer des uvres Couvertes dautres per- sique), accompagn par le Source Correspondant fix
please use the authentic English version published by the "Modifier" une uvre signifie en obtenir une copie et sonnes dans le seul but de leur faire raliser des modifi- sur un support physique durable habituellement utilis
FSF. If you choose to convey this translation along with adapter tout ou partie de luvre dune faon qui nces- cations votre usage exclusif, ou pour quils vous four- pour les changes de logiciels.
a Program covered by the GPL Licence, this does not re - site une autorisation dun titulaire de Droit dAuteur, nissent des facilits vous permettant dexcuter ces b) Acheminer le code objet sur, ou inclus dans, un pro -
move your obligation to convey at the same time a copy autre que celle permettant den produire une copie uvres, pourvu que vous vous conformiez aux termes de duit physique (y compris un support de distribution phy-
of the authentic GNU GPL License in English, and you conforme. Luvre rsultante est appele une "version cette Licence lors de lacheminement de tout matriel sique), accompagn dune offre crite, valide pour au
must keep in this translation this important warning in modifie" de la prcdente uvre, ou une uvre "base dont vous ne contrlez pas le Droit dAuteur (copy- moins trois annes et valide pour aussi longtemps que
English and its equivalent in French above. sur" la prcdente uvre. right). Ceux qui, ds lors, ralisent ou excutent pour vous fournissez des pices de rechange ou un support
----------------------------------- Une "uvre Couverte" signifie soit le Programme non vous les uvres Couvertes ne doivent alors le faire client pour ce modle de produit, afin de donner qui-
Prambule modifi soit une uvre base sur le Programme. quexclusivement pour votre propre compte, sous votre conque possde le code objet soit (1) une copie du
La Licence Publique Gnrale GNU (GNU General "Propager" une uvre signifie faire quoi que ce soit avec direction et votre contrle, suivant des termes qui leur in- Source Correspondant tout logiciel dans ce produit qui
Public License) est une licence libre, en copyleft, elle qui, sans permission, vous rendrait directement ou terdisent de raliser, en dehors de leurs relations avec est couvert par cette Licence, sur un support physique
destine aux uvres logicielles et dautres types indirectement responsable dun dlit de contrefaon sui- vous, toute copie de votre matriel soumis au Droit durable habituellement utilis pour les changes de logi-
duvres. vant les lois relatives au Droit dAuteur, lexception de dAuteur. ciels, pour un prix non suprieur au cot raisonnable de
Les licences de la plupart des uvres logicielles et autres son excution sur un ordinateur ou de la modification Lacheminement dans toutes les autres circonstances la ralisation physique de lacheminement de la source,
uvres de la pratique sont conues pour vous ter votre dune copie prive. La propagation inclue la copie, la nest permis que selon les conditions tablies ci-dessous. ou soit (2) un accs permettant de copier le Source Cor-
libert de partager et modifier ces uvres. linverse, la distribution (avec ou sans modification), la mise dispo- La concession de sous-licences nest pas autoris; lar- respondant depuis un serveur rseau sans frais.
Licence Publique Gnrale GNU a pour but de garantir sition envers le public, et aussi d'autres activits dans ticle 10 rend cet usage non ncessaire. c) Acheminer des copies individuelles du code objet
votre libert de partager et changer toutes les versions certains pays. Article 3. Protection des droits lgaux des utilisateurs avec une copie de loffre crite de fournir le Source Cor-
dun programme afin dassurer quil restera libre pour "Acheminer" une uvre signifie tout moyen de propaga- envers les lois anti-contournement. respondant. Cette alternative est permise seulement oc-
tous les utilisateurs. Nous, la Free Software Founda- tion de celle-ci qui permet dautres parties den raliser Aucune uvre Couverte ne doit tre vue comme faisant casionnellement et non-commercialement, et seulement
tion, utilisons la Licence Publique Gnrale GNU pour ou recevoir des copies. La simple interaction dun utilisa- partie dune mesure technologique effective selon toute si vous avez reu le code objet avec une telle offre, en
la plupart de nos logiciels; cela sapplique aussi toute teur travers un rseau informatique, sans transfert ef- loi applicable remplissant les obligations prvues lar- accord avec larticle 6 alina b.
autre uvre dite de cette faon par ses auteurs. Vous fectif dune copie, ne constitue pas un acheminement. ticle 11 du trait international sur le droit dauteur adopt d) Acheminer le code objet en offrant un accs depuis un
pouvez, vous aussi, lappliquer vos propres pro- Une interface utilisateur interactive affiche des "Notices lOMPI le 20 dcembre 1996, ou toutes lois similaires emplacement dsign (gratuit ou contre facturation) et
grammes. Lgales Appropries" quand elle comprend un dispositif qui prohibent ou restreignent le contournement de telles offrir un accs quivalent au Source Correspondant de la
Quand nous parlons de logiciel libre (free), nous nous convenable, bien visible et vident qui (1) affiche une mesures. mme faon via le mme emplacement et sans factura-
rfrons la libert (freedom), pas au prix. Nos Li- notice approprie sur les droits dauteur et (2) informe Si vous acheminez une uvre Couverte, vous renoncez tion supplmentaire. Vous navez pas besoin dobliger
cences Publiques Gnrales sont conues pour assurer lutilisateur quil ny a pas de garantie pour luvre (sauf tout pouvoir lgal dinterdire le contournement des me- les Destinataires copier le Source Correspondant en
que vous ayez la libert de distribuer des copies de logi- si des garanties ont t fournies hors du cadre de cette Li- sures technologiques dans tous les cas o un tel contour- mme temps que le code objet. Si lemplacement pour
ciel libre (et le facturer si vous le souhaitez), que vous re- cence), que les licencis peuvent acheminer luvre sous nement serait effectu en exerant les droits prvus dans copier le code objet est un serveur rseau, le Source
ceviez le code source ou pouviez lobtenir si vous le vou- cette Licence, et comment consulter une copie de cette cette Licence pour cette uvre Couverte, et vous dcla- Correspondant peut tre sur un serveur diffrent (opr
lez, que vous pouviez modifier le logiciel ou en utiliser Licence. Si linterface prsente une liste de commandes rez rejeter toute intention de limiter lopration ou la mo- par vous ou par un tiers) qui supporte des facilits qui-
toute partie dans de nouveaux logiciels libres, et que utilisateur ou doptions, tel quun menu, un lment dification de luvre, en tant que moyens pour renforcer, valentes de copie, pourvu que vous mainteniez des di-
vous sachiez que vous avez le droit de faire tout ceci. vident dans la liste prsente remplit ce critre. lencontre des utilisateurs de cette uvre, vos droits l- rections claires proximit du code objet indiquant o
Pour protger vos droits, nous avons besoin dempcher Article 1. Code source. gaux ou ceux de tierces parties dinterdire le contourne- trouver le Source Correspondant. Indpendamment de
que dautres vous restreignent ces droits ou vous de- Le "code source" dune uvre signifie la forme prfre ment desdites mesures technologiques. quel serveur hberge le Source Correspondant, vous res-

76 / 77 Version: RC-1 15 janvier 2015


Licence publique gnrale GNU

tez oblig de vous assurer quil reste disponible aussi de faon diffrente des termes des articles 15 et 16 de transfre le contrle dune organisation, ou de substan- devant exclure ou limiter toute licence implicite ou
longtemps que ncessaire pour satisfaire ces obliga- cette Licence; ou tiellement tous ses actifs, ou la subdivision dune organi - dautres moyens de dfense une infraction qui vous se-
tions. b) qui requirent la prservation de notices lgales rai- sation, ou la fusion de plusieurs organisations. Si la pro- raient autrement disponible selon la loi applicable rela-
e) Acheminer le code objet en utilisant une transmission sonnables spcifies ou les attributions dauteur dans ce pagation dune uvre Couverte rsulte dune transaction tive aux brevets.
dgal--gal, pourvu que vous informiez les autres par- constituant ou dans les Notices Lgales Appropries af- dentit, chaque partie cette transaction qui reoit une Article 12. Non abandon de la libert des autres.
ticipants sur lendroit o le code objet et le Source Cor- fiches par les uvres qui le contiennent; ou copie de luvre reoit aussi les licences pour luvre Si des conditions vous sont imposes (que ce soit par d-
respondant de luvre sont offerts sans frais au public c) qui prohibent la reprsentation incorrecte de lorigine que le prdcesseur intress cette partie avait ou pour- cision judiciaire, par un accord ou autrement) qui contre-
gnral suivant larticle 6 alina d. de ce constituant, ou qui requirent que les versions mo- rait donner selon le paragraphe prcdent, plus un droit disent les conditions de cette Licence, elles ne vous ex-
Une portion sparable du code objet, dont le code source difies dun tel constituant soient marques par des de possession du Source Correspondant de cette uvre cusent pas des conditions de cette Licence. Si vous ne
est exclu du Source Correspondant en tant que Biblio- moyens raisonnables comme diffrentes de la version depuis le prdcesseur intress si ce prdcesseur en pouvez pas acheminer une uvre Couverte de faon
thque Systme, na pas besoin dtre incluse dans originale; ou dispose ou peut lobtenir par des efforts raisonnables. satisfaire simultanment vos obligations suivant cette Li-
lacheminement de luvre sous forme de code objet. d) qui limitent lusage but publicitaire des noms des Vous ne pouvez imposer aucune restriction avance dans cence et toutes autres obligations pertinentes, alors en
Un "Produit Utilisateur" est soit (1) un "Produit de concdants de licence et des auteurs du constituant; ou lexercice des droits accords ou affirms selon cette Li - consquence vous ne pouvez pas du tout lacheminer. Par
Consommation," ce qui signifie toute proprit person- e) qui refusent accorder des droits selon la lgislation cence. Par exemple, vous ne pouvez imposer aucun paie- exemple, si vous avez un accord sur des termes qui vous
nelle tangible normalement utilise des fins person- relative aux marques commerciales, pour lutilisation ment pour la licence, aucune royaltie, ni aucune autre obligent collecter pour le racheminement des royalties
nelles, familiales ou relatives au foyer, soit (2) toute dans des noms commerciaux, marques commerciales ou charge pour lexercice des droits accords selon cette Li- depuis ceux qui vous acheminez le Programme, la
chose conue ou vendue pour lincorporation dans un marques de services; ou cence; et vous ne pouvez amorcer aucun litige judiciaire seule faon qui puisse vous permettre de satisfaire la
lieu dhabitation. Pour dterminer si un produit constitue f) qui requirent lindemnisation des concdants de li- (y compris une rclamation croise ou contre-rclama- fois ces termes et ceux de cette Licence sera de vous
un Produit de Consommation, les cas ambigus sont rso- cences et auteurs du constituant par quiconque achemine tion dans un procs) sur lallgation quune revendica- abstenir entirement dacheminer le Programme.
lus en fonction de la couverture. Pour un produit particu- ce constituant (ou des versions modifies de celui-ci) en tion de brevet est enfreinte par la ralisation, lutilisation, Article 13. Utilisation avec la Licence Gnrale Pu-
lier reu par un utilisateur particulier, lexpression "nor- assumant contractuellement la responsabilit envers le la vente, loffre de vente, ou limportation du Programme blique Affero GNU.
malement utilise" ci-avant se rfre une utilisation ty- Destinataire, pour toute responsabilit que ces engage- ou dune quelconque portion de celui-ci. Nonobstant toute autre clause de cette Licence, vous
pique ou lusage commun de produits de mme catgo- ments contractuels imposent directement ces oc- Article 11. Brevets. avez la permission de lier ou combiner toute uvre Cou-
rie, indpendamment du statut de cet utilisateur particu- troyants de licences et auteurs. Un contributeur est un titulaire de Droit dAuteur verte avec une uvre place sous la version 3 de la Li-
lier ou de la faon spcifique dont cet utilisateur particu- Tous les autres termes additionnels non permissifs sont (copyright) qui autorise lutilisation selon cette Li- cence Gnrale Publique GNU Affero (GNU Affero
lier utilise effectivement ou sattend lui-mme ou est at- considrs comme des restrictions avances dans le cence du Programme ou de luvre sur laquelle le Pro- General Public License) en une seule uvre combine,
tendu utiliser ce produit. Un produit est un Produit de sens de larticle 10. Si le Programme tel que vous lavez gramme est bas. Luvre ainsi soumise licence est ap- et dacheminer luvre rsultante. Les termes de cette
Consommation indpendamment du fait que ce produit a reu, ou toute partie de celui-ci, contient une notice ta- pele la "version contributive" de ce contributeur. Licence continueront sappliquer la partie formant
ou na pas dutilisations substantielles commerciales, in- blissant quil est gouvern par cette Licence en mme Les "revendications de brevet essentielles" sont toutes les une uvre Couverte, mais les obligations spciales de la
dustrielles ou hors Consommation, moins que de telles temps quun terme qui est une restriction avance, vous revendications de brevets dtenues ou contrles par le Licence Gnrale Publique GNU Affero, article 13,
utilisations reprsentent le seul mode significatif dutili- pouvez ter ce terme. Si un document de licence contient contributeur, quelles soient dj acquises par lui ou ac- concernant linteraction travers un rseau, sapplique-
sation du produit. une restriction avance mais permet la reconcession de quises subsquemment, qui pourraient tre enfreintes de ront la combinaison en tant que telle.
Les "Informations dInstallation" dun Produit Utilisateur licence ou lacheminement suivant cette Licence, vous quelque manire, permises par cette Licence, sur la rali- Article 14. Versions rvises de cette Licence.
signifient toutes les mthodes, procdures, cls dautori- pouvez ajouter une uvre Couverte constituante gouver- sation, lutilisation ou la vente de la version contributive La Free Software Foundation peut publier des versions
sation ou autres informations requises pour installer et ne par les termes de ce document de licence, pourvu que de celui-ci. Aux fins de cette dfinition, le "contrle" in- rvises et/ou nouvelles de la Licence Publique Gnrale
excuter des versions modifies dune uvre Couverte la restriction avance ne survit pas une telle cession de clue le droit de concder des sous-licences de brevets GNU (GNU General Public License) de temps en
dans ce Produit Utilisateur partir dune version modi- licence ou un tel acheminement. dune manire consistante, ncessaire et suffisante, avec temps. De telles version nouvelles resteront similaires
fie de son Source Correspondant. Les informations qui Si vous ajoutez des termes une uvre Couverte en ac- les obligations de cette Licence. dans lesprit avec la prsente version, mais peuvent diff-
suffisent assurer la continuit de fonctionnement du cord avec cet article, vous devez placer, dans les fichiers Chaque contributeur vous accorde une licence de brevet rer dans le dtail afin de traiter de nouveaux problmes
code objet modifi ne doivent en aucun cas tre emp- sources appropris, une dclaration des termes addition- non exclusive, mondiale et libre de toute royaltie, selon ou proccupations.
ches ou interfres du seul fait quune modification a nels qui sappliquent ces fichiers, ou une notice indi- les revendications de brevet essentielles, pour raliser, Chaque version reoit un numro de version distinctif. Si
t effectue. quant o trouver les termes applicables. utiliser, vendre, offrir la vente, importer et autrement le Programme indique quune version spcifique de la
Si vous acheminez le code objet dune uvre Couverte Les termes additionnels, quils soient permissifs ou non excuter, modifier et propager les contenus de sa version Licence Publique Gnrale GNU "ou toute version ult-
dans, ou avec, ou spcifiquement pour lutilisation dans, permissifs, peuvent tre tablis sous la forme dune li- contributive. rieure" (or any later version) sapplique celui-ci,
un Produit Utilisateur et si lacheminement se produit en cence crite sparment, ou tablis comme des excep- Dans les trois paragraphes suivants, une "licence de bre- vous avez le choix de suivre soit les termes et conditions
tant qulment dune transaction dans laquelle le droit tions; les obligations ci-dessus sappliquent dans chacun vet" dsigne tous les accords ou engagements exprims, de cette version numrote, soit ceux de nimporte quelle
de possession et dutilisation du Produit Utilisateur est de ces cas. quel que soit le nom que vous lui donnez, de ne pas version publie ultrieurement par la Free Software
transfr au Destinataire dfinitivement ou pour un terme Article 8. Terminaison. mettre en vigueur un brevet (telle quune permission ex- Foundation. Si le Programme nindique pas une version
fix (indpendamment de la faon dont la transaction est Vous ne pouvez ni propager ni modifier une uvre Cou- plicite pour mettre en pratique un brevet, ou un accord spcifique de la Licence Publique Gnrale GNU, vous
caractrise), le Source Correspondant achemin selon verte autrement que suivant les termes de cette Licence. pour ne pas poursuivre un Destinataire pour cause de pouvez choisir lune quelconque des versions qui ont t
cet article-ci doit tre accompagn des Informations Toute autre tentative de le propager ou le modifier est violation de brevet). "Accorder" une telle licence de bre- publies par la Free Software Foundation.
dInstallation. Mais cette obligation ne sapplique pas si nulle et terminera automatiquement vos droits selon cette vet une partie signifie conclure un tel accord ou enga - Si le Programme spcifie quun intermdiaire peut dci-
ni vous ni aucune tierce partie ne dtient la possibilit Licence (y compris toute licence de brevet accorde se- gement ne pas faire appliquer le brevet cette partie. der quelles versions futures de la Licence Gnrale Pu-
dinstaller un code objet modifi sur le Produit Utilisa- lon le troisime paragraphe de larticle 11). Si vous acheminez une uvre Couverte, dpendant en blique GNU peut tre utilise, la dclaration publique
teur (par exemple, luvre a t installe en mmoire Cependant, si vous cessez toute violation de cette Li - connaissance dune licence de brevet, et si le Source dacceptation dune version par cet intermdiaire vous
morte). cence, alors votre licence depuis un titulaire de Droit Correspondant de luvre nest pas disponible qui- autorise choisir cette version pour le Programme.
Lobligation de fournir les Informations dInstallation dAuteur (copyright) est rinstaure (a) titre provi- conque copie, sans frais et suivant les termes de cette Li - Des versions ultrieures de la licence peuvent vous don-
ninclue pas celle de continuer fournir un service de soire moins que et jusqu ce que le titulaire de Droit cence, travers un serveur rseau publiquement acces- ner des permissions additionnelles ou diffrentes. Cepen-
support, une garantie ou des mises jour pour une uvre dAuteur termine finalement et explicitement votre li- sible ou tout autre moyen immdiatement accessible, dant aucune obligation additionnelle nest impose lun
qui a t modifie ou installe par le Destinataire, ou cence, et (b) de faon permanente si le titulaire de Droit alors vous devez soit (1) rendre la Source Correspon- des auteurs ou titulaires de Droit dAuteur du fait de
pour le Produit Utilisateur dans lequel elle a t modifie dAuteur ne parvient pas vous notifier de la violation dante ainsi disponible, soit (2) vous engager vous pri- votre choix de suivre une version ultrieure.
ou installe. Laccs un rseau peut tre rejet quand la par quelque moyen raisonnable dans les soixante (60) ver pour vous-mme du bnfice de la licence de brevet Article 15. Dclaration dabsence de garantie.
modification elle-mme affecte matriellement et dfa- jours aprs la cessation. pour cette uvre particulire, soit (3) vous engager, Il ny a aucune garantie pour le programme, dans les li-
vorablement les oprations du rseau ou viole les rgles De plus, votre licence depuis un titulaire particulier de dune faon consistante avec les obligations de cette Li - mites permises par la loi applicable. moins que cela ne
et protocoles de communication au travers du rseau. Droit dAuteur est rinstaure de faon permanente si ce cence, tendre la licence de brevet aux Destinataires de soit tabli diffremment par crit, les propritaires de
Le Source Correspondant achemin et les Informations titulaire vous a notifi de la violation par quelque moyen cette uvre. "Dpendant en connaissance" signifie que droits et/ou les autres parties fournissent le programme
dInstallation fournies, en accord avec cet article, doivent raisonnable, et si cest la premire fois que vous avez re- vous avez effectivement connaissance que, selon la li- "en ltat" sans garantie daucune sorte, quelle soit ex -
tre dans un format publiquement document (et dont u une notification de violation de cette Licence (pour cence de brevet, votre acheminement de luvre Cou- prime ou implicite, ceci comprenant, sans se limiter
une implmentation est disponible auprs du public sous une uvre quelconque) depuis ce titulaire de Droit dAu- verte dans un pays, ou lutilisation de luvre Couverte celles-ci, les garanties implicites de commercialisabilit
forme de code source) et ne doit ncessiter aucune cl ou teur, et si vous rsolvez la violation dans les trente (30) par votre Destinataire dans un pays, enfreindrait un ou et dadquation un objectif particulier. Vous assumez le
mot de passe spcial pour le dpaquetage, la lecture ou la jours qui suivent votre rception de la notification. plusieurs brevets identifiables dans ce pays o vous avez risque entier concernant la qualit et les performances du
copie. La terminaison de vos droits suivant cette section ne ter- des raisons de penser quils sont valides. programme. Dans lventualit o le programme savre-
Article 7. Termes additionnels. minera pas les licences des parties qui ont reu des co- Si, conformment ou en liaison avec une mme tran- rait dfectueux, vous assumez les cots de tous les ser-
Les permissions additionnelles dsignent les termes pies ou droits de votre part suivant cette Licence. Si vos saction ou un mme arrangement, vous acheminez, ou vices, rparations ou corrections ncessaires.
qui supplmentent ceux de cette Licence en mettant des droits ont t termins et non rinstaurs de faon perma - propagez en procurant un acheminement de, une uvre Article 16. Limitation de responsabilit.
exceptions lune ou plusieurs de ses conditions. Les nente, vous ntes plus qualifi recevoir de nouvelles Couverte et si accordez une licence de brevet lune des En aucune autre circonstance que celles requises par la
permissions additionnelles qui sont applicables au Pro- licences pour les mmes constituants selon larticle 10. parties recevant luvre Couverte pour lui permettre loi applicable ou accordes par crit, un titulaire de droits
gramme entier doivent tre traites comme si elles Article 9. Acceptation non requise pour obtenir des dutiliser, propager, modifier ou acheminer une copie sur le programme, ou tout autre partie qui modifie ou
taient incluent dans cette Licence, dans les limites de copies. spcifique de luvre Couverte, alors votre accord est achemine le programme comme permis ci-dessus, ne
leur validit suivant la loi applicable. Si des permissions Vous ntes pas oblig daccepter cette licence afin de re- automatiquement tendu tous les Destinataires de peut tre tenu pour responsable envers vous pour les
additionnelles sappliquent seulement une partie du cevoir ou excuter une copie du Programme. La propaga- luvre Couverte et des uvres bases sur celle-ci. dommages, incluant tout dommage gnral, spcial, acci-
Programme, cette partie peut tre utilise sparment sui- tion asservie dune uvre Couverte qui se produit sim- Une licence de brevet est "discriminatoire" si, dans le dentel ou induit survenant par suite de lutilisation ou de
vant ces permissions, mais le Programme tout entier reste plement en consquence dune transmission dgal-- champ de sa couverture, elle ninclut pas un ou plusieurs lincapacit dutiliser le programme (y compris, sans se
gouvern par cette Licence sans regard aux permissions gal pour recevoir une copie ne ncessite pas laccepta- des droits qui sont spcifiquement accords selon cette limiter celles-ci, la perte de donnes ou linexactitude
additionnelles. tion. Cependant, rien dautre que cette Licence ne vous Licence, ou en prohibe lexercice, ou est conditionne des donnes retournes ou les pertes subies par vous ou
Quand vous acheminez une copie dune uvre Cou- accorde la permission de propager ou modifier une quel- par le non-exercice dun ou plusieurs de ces droits. Vous des parties tierces ou lincapacit du programme fonc-
verte, vous pouvez votre convenance ter toute permis- conque uvre Couverte. Ces actions enfreignent le Droit ne pouvez pas acheminer une uvre Couverte si vous tionner avec tout autre programme), mme si un tel titu-
sion additionnelle de cette copie, ou de nimporte quelle dAuteur si vous nacceptez pas cette Licence. Par cons- tes partie un arrangement, selon lequel une partie laire ou toute autre partie a t avis de la possibilit de
partie de celui-ci. (Des permissions additionnelles quent, en modifiant ou propageant une uvre Couverte, tierce exerant son activit dans la distribution de logi- tels dommages.
peuvent tre rdiges de faon requrir leur propre sup- vous indiquez votre acceptation de cette Licence pour ciels et laquelle vous effectuez un paiement fond sur Article 17. Interprtation des sections 15 et 16.
pression dans certains cas o vous modifiez luvre.) agir ainsi. ltendue de votre activit dacheminement de luvre, Si la dclaration dabsence de garantie et la limitation de
Vous pouvez placer les permissions additionnelles sur le Article 10. Cession automatique de Licence aux Desti- et selon lequel la partie tierce accorde, une quelconque responsabilit fournies ci-dessus ne peuvent prendre effet
matriel achemin, ajoutes par vous une uvre Cou- nataires et intermdiaires. partie qui recevrait depuis vous luvre Couverte, une localement selon leurs termes, les cours de justice qui les
verte pour laquelle vous avez ou pouvez donner les per- Chaque fois que vous acheminez une uvre Couverte, le licence de brevet discriminatoire (a) en relation avec les examinent doivent appliquer la lgislation locale qui ap-
missions de Droit dAuteur (copyright) appropries. Destinataire reoit automatiquement une licence de la copies de luvre Couverte achemines par vous (ou les proche au plus prs possible une leve absolue de toute
Nonobstant toute autre clause de cette Licence, pour tout part des concdants originaux, pour excuter, modifier et copies ralises partir de ces copies), ou (b) avant tout responsabilit civile lie au Programme, moins quune
constituant que vous ajoutez une uvre Couverte, vous propager cette uvre, suivant les termes de cette Li - destine et en relation avec des produits spcifiques ou garantie ou assumation de responsabilit accompagne
pouvez (si autoris par les titulaires de Droit dAuteur cence. Vous ntes pas responsable du renforcement de la compilations contenant luvre Couverte, moins que une copie du Programme en change dun paiement.
pour ce constituant) supplmenter les termes de cette Li - conformation des tierces parties aux termes de cette Li- vous ayez conclu cet arrangement ou que la licence de
cence avec des termes : cence. brevet ait t accorde avant le 28 mars 2007.
a) qui rejettent la garantie ou limitent la responsabilit Une "transaction dentit" dsigne une transaction qui Rien dans cette Licence ne devrait tre interprt comme

2015-01-15 Version: RC-1 77 / 77