Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



OpenERP (anciennement TinyERP)

OpenERP est un progiciel de gestion intégrée libre, anciennement appelé TinyERP qui permet de gérer la plupart des aspects fonctionnels d'une entreprise : de la comptabilité à la gestion de production en passant par la gestion des ressources humaines et des projets.

Les modules fonctionnels sont :

  • CRM & SRM ; gestion de la relation client
  • Comptabilité analytique et financière
  • Gestion des stocks
  • Gestion de production (GPAO)
  • Gestion de projets et des activités de service
  • Norme qualité : ISO 9001 version 2000
  • Gestion des ventes
  • Gestion des achats
  • Marketing
  • Logistique
  • Ressources Humaines

Certains modules sont propres à des besoins spécifiques :

  • Network : Gestion d'un parc informatique
  • Auction : Spécificités pour salles de ventes publiques

Les fonctionnalités techniques :

  • serveur/client, serveur distribué
  • workflows éditables,
  • une base de données orientée objet
  • une interface éditable
  • rapports personnalisables
  • interface XML-RPC.

OpenERP est divisé en trois partie : un serveur, un client lourd (GTK) et un serveur Web permettant d'accéder à OpenERP à partir d'un navigateur Web.

L'installation d'OpenERP peut être effectuée de deux manière différentes :

  • Par les paquets
  • A la main
Le serveur Web n'est installable qu'à partir des sources

Installation par les paquets

Pour une installation en production, il est préférable d'utiliser les sources stables et une installation à la main

Installer le client : Installez openerp-client.

Installer le serveur : installer : openerp-server qui va installer les dépendances nécessaires et notamment PostgreSQL s'il ne l'était pas.

Pour le serveur Web : se référer à la partie installation à la main

Installation à la main

Pré-requis

Pour être sûr que l'installation fonctionne, il faut installer les dépendances requises par OpenERP. Tout d'abord, il faut rechargez la liste des paquets puis installez les paquets nécessaires.

Pour commencer, il faut récupérer les sources d'OpenERP (client + serveur + serveur Web)

Deux manières de récupérer les sources :

  • Les versions stables sur le site d'OpenERP
  • Les versions en développement sur Launchpad avec l'aide de Bazaar.

La procédure d'installation est la même, que vous ayez la version stable ou la version en développenent.

Installation du serveur

Si vous avez télécharger les sources stables depuis le site officiel, il faut extraire l'archive openerp-server-X-Y.tar.gz.

Maintenant, pour savoir si le serveur est fonctionnel, il suffit d'aller dans le répertoire bin du serveur puis de lancer cette commande :

python ./openerp-server.py

Si tout s'est bien passé, en tapant openerp-server dans le terminal, vous obtenez ça :

[2009-05-16 19:31:16,607] INFO:server:version - 5.0.0 
[2009-05-16 19:31:16,607] INFO:server:addons_path - /usr/lib/openerp-server/addons 
[2009-05-16 19:31:16,608] INFO:server:database hostname - localhost 
[2009-05-16 19:31:16,608] INFO:server:database port - 5432 
[2009-05-16 19:31:16,609] INFO:server:database user – « votre login »
[2009-05-16 19:31:16,609] INFO:objects:initialising distributed objects services 
[2009-05-16 19:31:18,139] INFO:web-services:starting XML-RPC services, port 8069 
[2009-05-16 19:31:18,141] INFO:web-services:starting NET-RPC service, port 8070 
[2009-05-16 19:31:18,142] INFO:web-services:the server is running, waiting for connections...

Openerp-server fonctionne.

Installation du client lourd

Si vous avez télécharger les sources stables depuis le site officiel, il faut extraire l'archive openerp-client-X-Y.tar.gz.

Maintenant, pour savoir si le serveur est fonctionnel, il suffit d'aller dans le répertoire bin du client puis de lancer cette commande :

python ./openerp-client.py

Si tout s'est bien passé, une fenêtre GTK devrait s'ouvrir.

Installation du serveur Web

Si vous avez télécharger les sources stables depuis le site officiel, il faut extraire l'archive openerp-web-X-Y.tar.gz.

Maintenant, pour savoir si le serveur est fonctionnel, il suffit d'aller dans le répertoire du serveur Web puis de lancer cette commande :

python ./openerp-web.py

Si tout s'est bien passé, vous devriez avoir ces lignes dans votre terminal :

[11/Nov/2010:18:18:16] CONFIG /home/quentin/Developpement/OpenERP/launchpad_6.0/web/doc/openerp-web.cfg
[11/Nov/2010:18:18:16] ENGINE Bus STARTING
[11/Nov/2010:18:18:16] ENGINE Started monitor thread '_TimeoutMonitor'.
[11/Nov/2010:18:18:16] ENGINE Started monitor thread 'Autoreloader'.
[11/Nov/2010:18:18:17] ENGINE Serving on 0.0.0.0:8080
[11/Nov/2010:18:18:17] ENGINE Bus STARTED

Le serveur Web fonctionne. Vous pouvez y accéder en tapant http://localhost:8080 dans la barre d'adresse de votre navigateur.

C'est bien beau, OpenERP est installé, cependant, vous ne pouvez pas créer de base de données, ce qui est embêtant.

Il faut donc installer PostgreSQL si ce n'est déjà fait.

Il faut ensuite créer un utilisateur qui sera l'utilisateur qui lancera OpenERP. En développement, il est conseillé de créer un utilisateur du même nom que votre utilisateur de la machine. En production, il est conseillé de créer un compte utilisateur et un compte PostgreSQL spécifique à OpenERP.

  • En développement :

Créer un utilisateur PostgreSQL

  • En production :

Pour qu'OpenERP puisse être lancé avec l'utilisateur openerp, il faut le créer dans le système

Cette commande va créer le dossier /home/openerp où seront installé les fichiers d'OpenERP

Ensuite, il faut créer un utilisateur PostgreSQL :

sudo -u postgres createuser -d -S -R --pwprompt openerp
  • -u postgres → Lancement de la commande sous le nom d'utilisateur postgres
  • createuser → Commande de création d'un utilisateur dans PostgreSQL
  • -d → Donne le droit de créer des base de données à l'utilisateur
  • -S → L'utilisateur créé ne sera pas super-utilisateur
  • -R → L'utilisateur n'aura pas le droit de créer de rôles dans PostgreSQL
  • –pwprompt → Affiche un message permettant d'entrer le mot de passe du nouvel utilisateur
La directive –pwprompt va vous demander un mot de passe. Notez le bien, car il faudra le rentrer dans un fichier de configuration à la fin de l'installation.

Ce n'est évidemment pas sécurisé, mais semble indispensable au début :?:. Vous pourrez changer le mot de passe de cet utilisateur une fois en exploitation.

Si vous lancez alors openerp-client ou http://localhost:8080 dans votre navigateur, vous devriez avoir le message :

Pas de base de données trouvée, vous devez en créer une

Cliquez alors sur Annuler, puis dans le menu sur Fichier > Bases de données > Nouvelle base de données sur le client GTk ou Base de données sur votre navigateur.

Dans le premier champ Mot de passe administrateur, mettez openerp (ou le mot de passe attribué au rôle openerp sur le serveur PostgreSQL) (Si ca ne fonctionne pas, essayez avec "admin".);

Dans le second champ Mot de passe administrateur (quelle idée d'avoir 2 champs ayant le même nom :?:), vous pouvez mettre le nouveau mot de passe que vous voulez, ce sera le mot de passe de l'utilisateur Administrateur dans la base de données que vous venez de créer. Le compte qui vous permettra de configurer OpenERP aux petits oignons.

Il devrait alors être possible d'ouvrir la base de données crée et de finir sa configuration.

Tout cela demanderait à être confirmé, justifié et peut-être encore simplifié… Voir l'article dans le forum

* openerp-server

créer /etc/init.d/openerp-server

mettre le script b:

#! /bin/bash

PATH=/bin:/usr/bin:/sbin:/usr/sbin

DAEMON=/usr/local/bin/openerp-server   #mettre ici votre programme ( exempel camorama)

test -x $DAEMON || exit 0

case "$1" in
    start)
#ici on écrit le machin pour démarrer le programme genre 
sleep 15
sudo su sebserveur -c /usr/local/bin/openerp-server
    ;;
  stop)
        killall openerp-server #ou rien 
    ;;
  force-reload|restart)
    $0 stop
    $0 start
    ;;
  *)
    echo "Usage: /etc/init.d/atd {start|stop|restart|force-reload|status}"
    exit 1
    ;;
esac

exit 0

le rendre exécutable:

sudo chmod 755 /etc/init.d/openerp-server 

mettre en exécution au démarrage (attention défaults risquerait de perturber d'autre service comme apache2):

sudo update-rc.d openerp-server defaults 98 02

* openerp-web

Nous devrions pouvoir appliquer la même procédure… mais hélas il doit y avoir un problème d'ordre d'exécution avec openerp-server…

Je vous propose donc une autre méthode … avec crontab

sudo vi /etc/crontab 

ajouté la ligne:

@reboot sebserveur /usr/local/bin/openerp-web 

et le tour est joué

Dans un environnement de production, on aimerait qu'OpenERP se lance automatiquement au démarrage de la machine.

Pour cela, il faut donc créer différents scripts de lancement.

Pour commencer, si ce n'est pas déjà fait, nous allons déplacer les sources des différents serveurs (OpenERP et Web) dans le /home/openerp

sudo mv openerp-server-X-Y /home/openerp
sudo mv openerp-web-X-Y /home/openerp

Ensuite, pour faciliter les mises à jour, nous allons créer des liens symboliques. Cela permettra de remplacer les sources sans avoir à modifier les scripts de démarrage.

sudo ln -s /home/openerp/openerp-server-X-Y /home/openerp/server
sudo ln -s /home/openerp/openerp-web-X-Y /home/openerp/web

Nous allons ensuite créer un dossier qui contiendra les logs du serveur OpenERP :

sudo mkdir /var/log/openerp; sudo chown -R openerp /var/log/openerp

Mise en place des différents scripts

Voici les différents fichiers à mettre en place : http://forum.ubuntu-fr.org/viewtopic.php?pid=3936858#p3936858

Installation du serveur sous ubuntu 9.04 (Jaunty)

Alternativement, il existe un script pour Ubuntu 9.04: http://opensourceconsulting.wordpress.com/2009/06/29/openerp-server-5-0-openerp-web-5-0-1-installation-script-on-ubuntu-9-0-4-sh/

Commencer par installer depuis synaptic : openerp-server et python2.5.

Ensuite, lancer openerp-server depuis un terminal :

'openerp-server'

Vous obtenez ça :

ERROR: Import xpath module 
ERROR: Try to install the old python-xml package

Openerp5 utilise « python-xml », qui se trouve dans python2.5 (par exemple) et Ubuntu 9.04 utilise Python2.6 qui n'a pas ce fichier « python-xml ».

Depuis un terminal, vous devez :

Indiquer à openerp-server d'utiliser « python2.5 » en éditant le fichier /usr/bin/openerp-server . Remplacez

exec /usr/bin/python ./openerp-server.py

par

exec /usr/bin/python2.5 ./openerp-server.py

Créer un lien symbolique :

cd /usr/lib/python2.5/site-packages/oldxml/_xmlplus/utils/
sudo ln -s /usr/lib/python2.6/dist-packages/oldxml/_xmlplus//utils/boolean.so boolean.so

Si le dossier _xmlplus/utils n'existe pas, essayez de copier boolean.so au bon endroit :

cp /usr/lib/python2.6/dist-packages/oldxml/_xmlplus/utils/boolean.so /usr/lib/python2.5/site-packages/oldxml/_xmlplus/utils

Si tout s'est bien passé, en tapant openerp-server dans le terminal, vous obtenez ça :

[2009-05-16 19:31:16,607] INFO:server:version - 5.0.0 
[2009-05-16 19:31:16,607] INFO:server:addons_path - /usr/lib/openerp-server/addons 
[2009-05-16 19:31:16,608] INFO:server:database hostname - localhost 
[2009-05-16 19:31:16,608] INFO:server:database port - 5432 
[2009-05-16 19:31:16,609] INFO:server:database user – « votre login »
[2009-05-16 19:31:16,609] INFO:objects:initialising distributed objects services 
[2009-05-16 19:31:18,139] INFO:web-services:starting XML-RPC services, port 8069 
[2009-05-16 19:31:18,141] INFO:web-services:starting NET-RPC service, port 8070 
[2009-05-16 19:31:18,142] INFO:web-services:the server is running, waiting for connections...

Openerp-server fonctionne.

Bases de données PostgreSQL

Avec une Ubuntu 9.04 française, il y a quelques problèmes d'installation et il n'est pas possible de créer de base openerp.

Il y a ici un bonne procédure concernant les problèmes de compatibilité python : doc opensourceconsulting

Une petite analyse des logs indique un problème de locale du coté de postgressql.

tail -f /var/log/openerp.log /var/log/postgresql/postgresql-8.3-main.log

Pour résoudre ce problème il faut faire passer postgresql en UTF8: (attention ça efface la base de données existante)

/etc/init.d/postgresql-8.3 restart
rm -rf /var/lib/postgresql/8.3/main/*
su - postgres

Tapez "entrée". L'administration se fait, au départ, avec l'utilisateur postgres, il ne possède pas de mot de passe: postgresql

/usr/lib/postgresql/8.3/bin/initdb --locale=fr_FR.UTF-8 -D /var/lib/postgresql/8.3/main/
cd /var/lib/postgresql/8.3/main
ln -s  /etc/postgresql-common/root.crt root.crt
ln -s  /etc/ssl/certs/ssl-cert-snakeoil.pem server.crt
ln -s /etc/ssl/private/ssl-cert-snakeoil.key server.key
/etc/init.d/postgresql-8.3 restart
tail -f /var/log/postgresql/postgresql-8.3-main.log

Vérifiez aussi /etc/default/locale→ remplacer "LANG=fr_FR" par "LANG=fr_FR.UTF-8"

dpkg-reconfigure locales

Effectuez un reboot.

N' utilisez la solution super-user dans postegresql qu' à des fins de test

Pour que la connexion du client se fasse, il faut créer un super-utilisateur dans postegresql avec le même nom que votre identifiant sous ubuntu:

 sudo su postgres

puis votre MDP

 createuser votre_identifiant_ubuntu -P

et un mot de passe (openerp ou autre). A la question

 make votre_identifiant_ubuntu as superuser 

répondre Y (yes).

Information issue de http://www.openerp.com/forum/topic13328.html?sid=37d92478f947a3abc3493525b3e52a01

Et consultez la doc: Créer un utilisateur PostgreSQL.

FIXME : — apparement la partie ci dessous n'est pas nécessaire lors de l'installation —

Éditez ensuite le fichier /etc/default/tinyerp-server pour y mettre le mot de passe de la base de données que vous venez de définir :

# Specify the database password (Default: not set).
DATABASE_PASSWORD="votre_mot_de_passe"

Par défaut, OpenERP contient tous les modules requis pour une gestion d'entreprise standard. Vous pouvez télécharger d'autres modules sur Launchpad.

Voir la discussion "OpenERP - Vos réactions / expériences " sur le forum ubuntu-fr.

  • openerp.1299085248.txt.gz
  • Dernière modification: Le 18/04/2011, 14:56
  • (modification externe)