Installer l'outil de gestion d'entreprise OpenERP sur Debian
OpenERP est un outil de gestion d'entreprise performant et complet. Il fonctionne sur le mode client / serveur. Le client peut être une application Web ou une application bureautique, suivant ce qui vous convient le mieux. Cet article vous propose une méthode d'installation sur Debian.
Ce guide est testé sur:
- Debian 6.0 Squeeze
- Debian 7.0 Wheezy
Ce guide est avec ces versions d'OpenERP:
- 6.1
Pré-requis
Ce guide nécessite:
- un client Bazaar récent tel qu'installé par le guide Installer le client Bazaar sur Debian.
- un serveur PostgreSQL tel que décrit par le guide Installer et configurer PostgreSQL sur Debian.
- le script pgsql-tools disponible dans le guide Simplifier l'administration d'un serveur PostgreSQL avec pgsql-tools.
- un serveur HTTP Apache 2 disposant du script a2tools disponible dans le guide Installer Apache 2 sur Debian.
Ce guide recommande:
- une version récente de la bibliothèque Python cliente de l'API Google Data, tel qu'installée par le guide Installer le client Python pour l'API Google Data.
Paramètres
Renseignez le nom d'hôte de votre serveur PostgreSQL (si vous ne savez pas de quoi il s'agit, ne modifiez pas cette valeur):
PGSQL_HOST="localhost"
Si votre serveur PostgreSQL n'est pas local, ce guide effectuera une connexion SSH pour y créer la base de données.
Renseignez l'adresse email From des emails envoyés par le serveur:
EMAIL_FROM="erp@domaine-exemple.fr"
Renseignez le nom de domaine ou sera disponible l'application:
DOMAIN="erp.domaine-exemple.fr"
L'application sera disponible via les domaines suivants:
- erp.domaine-exemple.fr: Domaine où sont accessible toutes les bases de données.
- *_erp.domaine-exemple.fr: Domaine spécifique à une base de données. Le domaine biapy_erp.domaine-exemple.fr est limité à la base de données biapy_erp.
Installation du serveur
Installez les dépendances d'installation:
command apt-get install cython python-psycopg2 python-reportlab \ python-reportlab-accel python-pychart python-pydot python-lxml \ python-tz python-pyparsing graphviz python-imaging python-setuptools \
python-yaml apg build-essential libsasl2-dev libldap2-dev python-pybabel \
python-simplejson python-mako python-werkzeug python-psutil python-dateutil \
python-docutils python-openid python-cherrypy3 python-mako \ python-formencode python-simplejson python-pyparsing python \ python-dev build-essential python-setuptools python-vatnumber poppler-utils
Créez l'utilisateur destiné à exécuter le serveur:
command adduser --system --shell "/bin/sh" \ --group --home "/var/lib/openerp" \ openerp
Placez-vous dans le dossier du nouvel utilisateur:
command pushd "/var/lib/openerp"
Optionnellement, identifiez-vous sur Launchpad.net (nécessite une clef d'identification SSH):
# command su 'openerp' -c 'command bzr launchpad-login "launchpad-user"'
Installez le logiciel depuis les dépôts Bazaar à l'aide du script d'installation dédié:
command su 'openerp' -c 'command bzr cat -d "lp:~openerp-dev/openerp-tools/trunk" "setup.sh" | command sh'
Lancez le téléchargement du logiciel en version 6.1:
command su 'openerp' -c "command make 'init-v61'"
Déclarez l'utilisation de la version 6.1:
command su 'openerp' -c "command make 'switch-to-61'"
Quittez le dossier de l'utilisateur openerp:
command popd
Créez un dossier où placer les modules supplémentaires:
command mkdir --parent "/var/lib/openerp/other-addons"
command chown -R openerp:openerp "/var/lib/openerp/other-addons"
Créez le dossier destiné à contenir les fichiers journaux:
command mkdir --parent "/etc/openerp/"
command mkdir --parent "/var/log/openerp"
command chown -R openerp:openerp "/var/log/openerp"
Configuration du serveur
Créez l'utilisateur privilégié:
PGSQL_PARAMS="$(command pgsql-tools --server="${PGSQL_HOST}" --adduser="openerp" --auto-hosts --createdb)"
Récupérez les paramètres de la nouvelle base de données:
PGSQL_USER="$(echo "${PGSQL_PARAMS}" | command grep -e "^PGSQL_USER" \ | command cut --delimiter="=" --fields="2-")" PGSQL_PASSWORD="$(echo "${PGSQL_PARAMS}" | command grep -e "^PGSQL_PASSWORD" \ | command cut --delimiter="=" --fields="2-")" echo "${PGSQL_PARAMS}"
Téléchargez le fichier init.d d'OpenERP:
command wget "https://raw.github.com/biapy/howto.biapy.com/master/openerp/openerp.init-d" \ --quiet --no-check-certificate --output-document="/etc/init.d/openerp" command chmod +x "/etc/init.d/openerp"
Téléchargez le modèle de configuration d'OpenERP:
command wget "https://raw.github.com/biapy/howto.biapy.com/master/openerp/server.cfg" \ --quiet --no-check-certificate --output-document="/etc/openerp/server.cfg"
Insérez les paramètres de base de données dans le fichier de configuration :
command sed -i \ -e "s|^[#\t ]*db_user =.*\$|db_user = ${PGSQL_USER}|" \ -e "s|^[#\t ]*db_password =.*\$|db_password = ${PGSQL_PASSWORD}|" \ -e "s|^[#\t ]*db_host =.*\$|db_host = ${PGSQL_HOST}|" \
-e "s|^[#\t ]* =.*\$|db_host = ${PGSQL_HOST}|" \
-e "s|^[#\t ]*email_from =.*\$|email_from = ${EMAIL_FROM}|" \
'/etc/openerp/server.cfg'
Créez un mot de passe "Master" pour le serveur:
MASTER_PASSWORD="$(command apg -q -a 0 -n 1 -m 16 -x 24 -M NCL)"
Ajoutez le mot de passe "Master" au fichier de configuration:
command echo "admin_passwd = ${MASTER_PASSWORD}" >> "/etc/openerp/server.cfg"
Autorisez le serveur à modifier le fichier de configuration de façon à ce que le changement du mot de passe Master par l'interface Web soit fonctionnel:
command chown "openerp" "/etc/openerp/server.cfg"
Faites en sorte que le serveur démarre automatiquement au démarrage:
command update-rc.d openerp defaults
Démarrez le serveur:
/etc/init.d/openerp start
Affichez le mot de passe maître et notez le précieusement:
command echo "Le mot de passe maître est: '${MASTER_PASSWORD}'"
Mise en place d'un OpenERP sur un domaine
Créez la configuration Apache 2 nécessaire:
command a2tools --template reverse-proxy --alias "*_${DOMAIN}" "${DOMAIN}" "http://localhost:8069/"
Modules tiers
Les fonctionnalités et le comportement de OpenERP peuvent être améliorées/ajustées à l'aide de modules complémentaires tiers. Ces modules sont disponible pour la plupart via bazaar.
Ce chapitre de ce guide est optionnel. Il propose une méthode pour tenir à jour les modules tiers.
Créez le dossier destiné à contenir les branches Bazaar des modules tiers:
command mkdir '/var/lib/openerp/addons-bazaar'
command chown -R openerp:openerp '/var/lib/openerp/addons-bazaar'
Récupérez les modules OpenObject:
su openerp -c "command bzr colo-fetch 'lp:~scigghiateam/andreacometa-addons/trunk' '/var/lib/openerp/addons-bazaar/andreacometa-addons'
command cd '/var/lib/openerp/addons-bazaar/andreacometa-addons'
command bzr branch 'lp:~scigghiateam/andreacometa-addons/6.1/' colo:6.1
command bzr switch colo:6.1"
Récupérez les modules Camp To Camp:
su openerp -c "command bzr colo-fetch 'lp:c2c-addons/6.1' '/var/lib/openerp/addons-bazaar/c2c-addons'"
Récupérez les modules Agile Business Group @ Domsense:
su openerp -c "command bzr colo-fetch 'lp:~domsense/domsense-agilebg-addons/trunk' '/var/lib/openerp/addons-bazaar/domsense-agilebg-addons'
command cd '/var/lib/openerp/addons-bazaar/domsense-agilebg-addons'
command bzr branch 'lp:~domsense/domsense-agilebg-addons/6.1/' colo:6.1
command bzr switch colo:6.1"
Récupérez les modules Systemas Adhoc:
su openerp -c "command bzr colo-fetch 'lp:adhoc-oerp' '/var/lib/openerp/addons-bazaar/sistemas-adhoc'
command cd '/var/lib/openerp/addons-bazaar/sistemas-adhoc'
command bzr branch 'lp:adhoc-oerp/6.1/' colo:6.1
command bzr switch colo:6.1"
Récupérez les modules ZhenIT:
su openerp -c "command bzr colo-fetch 'lp:~zhenit/ooaz/trunk' '/var/lib/openerp/addons-bazaar/ooaz'"
Récupérez les modules Pexego:
su openerp -c "command bzr colo-fetch 'lp:~pexego/openobject-addons/6.1-pexego' '/var/lib/openerp/addons-bazaar/pexego'"
Après avoir mis en place les dépôts Bazaar des modules tiers, sélectionnez les modules qui vous intéressent. Par exemple:
command ln -s '/var/lib/openerp/addons-bazaar/domsense-agilebg-addons/account_invoice_shipping_address' '/var/lib/openerp/other-addons'
command ln -s '/var/lib/openerp/addons-bazaar/sistemas-adhoc/delivery_extension/' '/var/lib/openerp/other-addons'
command ln -s '/var/lib/openerp/addons-bazaar/sistemas-adhoc/partner_credit_limit/' '/var/lib/openerp/other-addons'
command ln -s '/var/lib/openerp/addons-bazaar/c2c-addons/product_get_cost_field/' '/var/lib/openerp/other-addons'
command ln -s '/var/lib/openerp/addons-bazaar/c2c-addons/product_historical_margin/' '/var/lib/openerp/other-addons'
command ln -s '/var/lib/openerp/addons-bazaar/c2c-addons/product_historical_margin_report/' '/var/lib/openerp/other-addons'
command ln -s '/var/lib/openerp/addons-bazaar/c2c-addons/product_standard_margin/' '/var/lib/openerp/other-addons'
command ln -s '/var/lib/openerp/addons-bazaar/domsense-agilebg-addons/sale_address_multi_partner/' '/var/lib/openerp/other-addons'
command ln -s '/var/lib/openerp/addons-bazaar/pexego/sale_commission/' '/var/lib/openerp/other-addons'
command ln -s '/var/lib/openerp/addons-bazaar/andreacometa-addons/stock_cancel/' '/var/lib/openerp/other-addons'
Mise à jour
Mettez en place la mise à jour automatique d'OpenERP (récupération des dernières révisions Bazaar, et mise à jour de la base de données):
echo "# Update OpenERP every sunday at O1h00.
0 1 * * 7 root [ -x /etc/init.d/openerp ] && [ -d /var/lib/openerp ] && /etc/init.d/openerp upgrade" \
> '/etc/cron.d/openerp-upgrade'
Rechargez la configuration de cron:
/etc/init.d/cron reload
La mise à jour automatique peut être dangereuse aussi assurez-vous que les sauvegarde fonctionnent. C'est cependant une méthode simple pour s'assurer de disposer des derniers correctifs.
Sauvegardes
Sauvegardez l'installation avec Backup Manager (voir Installer et configurer Backup Manager sur Debian).
command backup-manager-tools add "/var/lib/openerp"
N'oubliez pas de sauvegarder la base de données (voir Installer PostgreSQL sur Debian).
Administration
Pour administrer le serveur OpenERP, cliquez sur le bouton "Bases de données" sur la page d'identification de l'interface Web.
Vous aurez alors la possibilité d'ajouter une nouvelle base pour une entreprise. Le mot de passe demandé est le mot de passe "Maître" configuré lors de l'installation du serveur.
Ajout d'une base de données
Par défault, le client Web OpenERP filtre les bases de données selon le sous-domaine utilisé pour accéder à l'interface Web.
Par exemple, si vous accédez à OpenERP via l'URL "https://gestion.biapy.fr/", la base de données doit obligatoirement se nommer "gestion" pour qu'elle apparaisse dans le formulaire d'identification de l'interface Web.
Remarque: ce comportement peut être modifié à l'aide de l'option "dblist.filter" du fichier de configuration de l'interface Web.
Les noms de base de données ne peuvent contenir de caractères spéciaux tels que "." ou "-". L'underscore "_" est toutefois autorisé.
Lors de la création d'une nouvelle base de données, ne cochez pas plus de 2 modules initiaux sous peine de rencontrer des erreurs de timeout. Vous pouvez ajouter des modules supplémentaires par la suite.
Utilisation
Lisez le livre OpenERP, pour une gestion d'entreprise efficace et intégrée pour plus d'informations sur l'utilisation d'OpenERP (télécharger la version PDF).
Si l'entreprise gérée est en basée en France, lisez Configuration de la comptabilité française sur OpenERP.
Remerciements
- Merci aux développeurs de OpenERP.
- Merci à GitHub pour l'hébergement des scripts init.d d'OpenERP.
- Merci à Alexis de Lattre pour Expérience de déploiements OpenERP dans des entreprises françaises.