Installation d'OpenGroupware.org sous Debian GNU/Linux
Installation d'OpenGroupware.org sous Debian GNU/Linux
Nowicki Christophe
Copyright © 2004 Nowicki Christophe
Ce document est disponible aux formats :
- HTML PDF PS RTF Texte
Les sources au format XML DocBook de ce document se trouvent à l'adresse http://etud.epita.fr/~nowick_c/publications/ogo_deb/ogo_deb.xm l/. _________________________________________________________
Table des matières 1. Présentation d'OpenGroupware.org
- 1. Une solution de
groupwarepour votre entreprise 1.2. Les fonctionnalites 1.3. Les points fort 1.4. Les points faibles - Installation
- 1. Les packages Debian d'OpenGroupware.org
- 1.1. Ajouter une nouvelle source de paquets Debian
- 1.2. Mettre à jour la liste des paquets 2.1.3. Installer les paquets
- 2. La base de données
- 2.1. Installation de Postgres
- 3. Le serveur HTTP
- 3.1. Installation d'Apache SSL
- 4. Le serveur de IMAP
- 4.1. Installation de Cyrus IMAP
- Configuration initiale
- 1. Configuration de la base de données PostgreSQL
- 1.1. Configuration du systeme d'authentification 3.1.2. Création des tables
- 2. Lancement d'OpenGroupware.org
3.3. Module Apache
- 3.1. Télécharger le module 3.3.2. Compiler le module 3.3.3. Configurer Apache 3.3.4. Lancer automatiquement Opengroupware.org lors du boot de la machine
- Administration basique d'OpenGroupware.org
- 1. Changer le mot de pass de l'administrateur 4.2. Ajouter un utilisateur
- 1. Configuration de la base de données PostgreSQL
- 1. Les packages Debian d'OpenGroupware.org
- Présentation d'OpenGroupware.org _________________________________________________________
- 1. Une solution de
groupwarepour votre entrepriseLe projet Opengroupware.org (OGo) vise à créer un logiciel libre de travail en groupe (collecticiel). Les logiciels qui composent le projet sont protégés par les licences GPL et LGPL. Le projet a ete initaialement developpeé en 1994 par la societe MDlink GmbHLe qui l'as libere en l'an 2000. Il est supporté par la societe SKYRiX SOftware AG qui offre des services autour d'OGo et de sa version proprietaire SKYRiX 5 pour le marché allemand. Le terme groupware regroupe tous les logiciels qui sont prévus pour être exploités sur un projet en même temps par plusieurs utilisateurs. Un serveur Opengroupware permet de facilite la collaboration au sein d'un entreprise. Le terme groupware regroupe les fonctionnalités de partage de documents, de calendriers, de carnets d'addresses et de messagerie. Il est possible d'accede aux fonctionnalites Groupware d'OGo a l'aide de clients tels que Mozilla, iCal, Ximian Evolution et Microsoft Outlook. _________________________________________________________
- 2. Les fonctionnalites
Les fonctionnalites d'Opengroupware.org
Gestion multi-utilisateurs Chaque utilisateur du collecticiel dispose de son login et de son mot de passe qui permet d'acceder au profil et aux preferences de l'utilisateur. Les droits de chaque utilisateur peuvent etre modifie par l'administrateur.
Systeme de nouvelles Pour tenir informe tous vos collaborateurs (evolution de la strategie de l'entreprise, nouveau projet, etc ...) Opengroupware met a votre disposition un systeme de nouvelles extremement simple compatable au NNTP (Network News Transport Protocol). Celui-ci est simple mais neanmoins efficace.
Annuaire Opengroupware permet de centraliser les contacts de l'entreprise et les partage au sein de l'entreprise. Il est possible de synchroniser les donnees par rapport a un annuaire compatible LDAP.
Messagerie Il est possible de se connecter a un serveur de messagerie a l'aide du protocol IMAP. Opengroupware propose un webmail, qui met a disposition les messages auquel il est possible d'acceder a l'aide d'un simple navigateur web.
Calendrier Pour gerer les rendez-vous, Opengroupware dispose d'un systeme de calendriers evolues qu'il est possible de partager entre collaborateurs. Ce calendrier est accessible a l'aide de clients qui supportent le protocol iCal comme Mozilla Calendar ou Outlook. Biensur le connecteur pour Outlook est proprietaire et payant.
Gestion des projets et des taches Opengroupware permet l'encadrement des projets C'est d'ailleurs le point fort de celui-ci Il suffit de crer un nouveau projet, d'ajouter les collaborateurs et pouvoir partager des fichiers entre colaborateurs a l'interieur d'un meme projet. D'assigner des taches a chaque employe.
Synchronisation avec un Palm On peut synchroniser les donnees du carnet d'adresses, des taches a faire, des contacts et des notes avec un Palm Pilote. _________________________________________________________
- 3. Les points fort
Les forces d'Opengroupware.org
Libre Opengroupware est un logiciel libre de qualite. Il est couvert par la licence GPL qui garanti la perenite au produit et un libre access aux sources.
Une interface web utilisable L'interface web d'OpenGroupware.org est parfaitement utilisable en production.
Ecrit dans un langage oriente objet Opengroupware.org a ete ecrit en langage Objective C, Celui-ci est un sous-ensemble du langage C. Il fournit des capacites orientees object au C. Ce qui permet de beneficier des avantages de la programmation orientee objet. _________________________________________________________
- 4. Les points faibles
Les faiblesse d'Opengroupware.org
Une traduction approximative Le produit SKYRiX Groupware dont est issu Opengroupware etait un logiciel commercial allemand. Il a donc ete traduit de l'allemand vers l'anglais puis de l'anglais vers le francais. La traduction est donc assez approximative. _________________________________________________________
- Installation
Nous allons décrire étape par étape l'installation de tous les composants qui sont indispensables au bon fonctionnement d'OpenGroupware. _________________________________________________________
- 1. Les packages Debian d'OpenGroupware.org
Pour installer Ogo nous allons utiliser les paquets deb. _________________________________________________________
- 1.1. Ajouter une nouvelle source de paquets Debian
Il faut ajouter une nouvelle source de paquets debian dans votre fichier /etc/apt/source.list.
#echo "deb http://www.opengroupware.org/packages deb/" >> /etc/apt/sour ces.list _________________________________________________________
- 1.2. Mettre à jour la liste des paquets
Une fois que vous avez ajouté la nouvelle source, il faut mettre à jour la liste des paquets disponibles.
#apt-get update _________________________________________________________
- 1.3. Installer les paquets
Il ne vous reste plus qu'à installer le meta paquet qui répresente toute la suite OpenGroupware.org. Pour cela vous avez besoin de télécharger 15Mo d'archives deb par internet de 55Mo d'espace sur le disque dur.
#apt-get install opengroupware.org
Par défaut l'interface web d'OpenGroupware est dans la langue de Sheakespeare. Il faut installer le paquet opengroupware.org-webui-resource-french en plus.
#apt-get install opengroupware.org-webui-resource-french _________________________________________________________
- 2. La base de données
Pour stocker les données (calendriers, contacts, informations d'authentification etc ...), OpenGroupware.org utilise PostgreSQL comme SGDBR (Système de gestion de base de données relationneles). PostgreSQL est le meilleur SGDBR libre, il est bien plus puissant et plus complet que son concurrent MySQL (sous-requêtes, requêtes ensemblistes, gestion des transactions, vues, procédures stockées (fonctions), déclencheurs (triggers), gestion de l'intégrité référentielle ...). Mais nous n'êtes pas oubligé d'utiliser PostgreSQL pour stocker les données de Ogo, car SKYRIX Software AG vous propose aussi un support pour Oracle et Sybase. Mais celui-ci est propriétaire et payant. De plus PostgreSQL n'a rien a envier à ces deux grosses bases de données propriétaires. _________________________________________________________
- 2.1. Installation de Postgres
Pour installer PostgreSQL nous allons utiliser les paquets Debian. Vous pouvez installer PostgreSQL sur le même serveur que OpenGroupware.org ou bien sur un serveur distinct. PostgreSQL est peu gourmand en ressources disque. Une fois que vous avez téléchargé les 5 Mo de paquets sur Internet vous aurez besoin de 15 Mo sur le disque dur. Il faut quand même prévoir pas mal de place pour les données de la base.
#apt-get install postgresql
Une fois que le paquet s'est extrait debconf va vous poser plusieurs questions. Tout d'abord le répértoire ou se trouve les données sur le systeme de fichier. Par defaut c'est le répértoire /var/lib/postgres/data.
The default location is /var/lib/postgres/data.
:-) Where should the PostgreSQL database be created? /var/lib/postgres/ data
Il est conseillé de monter ce repertoire sur un disque à part
ou même sur un RAID 1 pour éviter de perdre les données. Vous
pouvez aussi utiliser le Linux Volume Manager (LVM) pour
profiter de la fonctionnalité snapshot qui permet de faire
un backup d'un système de fichier à chaud sans perdre
l'integrité des données de la base et pourvoir redimensionner
la partition à chaud sans couper le service à vos
utilisateurs.
When a purge is requested, these files can be removed and any data that may be there can be destroyed.
:-! Should the data be purged as well as the package files? no
We suggest that UNICODE is the best encoding to use if you cannot use S QL_ASCII, unless you have a particular requirement for some other encoding.
:-) What character encoding should the database use by default? 3
L'encodage en UNICODE (UTF-8) est recommandé par le mainteneur du package. Vous n'aurez aucun problème d'encodage des caractères.
Which style do you want as your default setting?
- ISO 2. SQL 3. POSTGRES 4. GERMAN
:-) Which should be the default style for presenting dates? 1
Do you expect dates to be in European format (day before month) or in U S format (month before day)?
- European 2. US
:-) Choose European or US day/month order in dates. 1
:-! Should automatic database upgrades be attempted? no
Une fois que vous avez repondu à toutes les questions de debconf l'instllation de PostgreSQL est finie. _________________________________________________________
- 3. Le serveur HTTP
OpenGroupware.org utilise le serveur HTTP Apache. Celui-ci est utilisé par près de 3/4 des sites Web sur Internet. Apache est stable, fiable, rapide, libre et securisé. _________________________________________________________
- 3.1. Installation d'Apache SSL
Pour que vos employers puissent utiliser Opengroupware.org de n'importe quel endroit (chez un fourniseur, collaborateur, ou bien de chez eux). Nous allons installer Apache avec le support du TLS/SSL. Les communications entre l'extérieur et votre entreprise serons chiffrées. Vous pouvez installer la Apache sans le support du SSL si vous comptez utiliser Ogo seulement sur le réseau local de l'entreprise. Le serveur Apache prend seulement 5Mo d'espace disque.
#apt-get install apache-ssl
Lors de la configuration du paquet apache-ssl celui-ci va créer un certificat signé automatiquement par vous même. Pour cela il faut entrer les informations relatives à votre entreprise.
Country Name (2 letter code) [US]:FR State or Province Name (full name) []: Locality Name (eg, city) []:Paris Organization Name (eg, company) []:Le nom de notre entreprise Organizational Unit Name (eg, section) []:Le nom de notre section server name (eg. ssl.domain.tld; required!!!) [localhost]:Le FQDN de la machine Email Address []:Votre adress e-mail
Voilà le serveur HTTP Apache tourne et écoute sur le port https (443). _________________________________________________________
- 4. Le serveur de IMAP
OpenGroupware.org utilise le serveur IMAP Cyrus pour stocker les mails de vos employé et diffuser les nouvelles à l'intérieur de l'entreprise. Le protocole IMAP (Internet Message Access Protocol) est un protocole, de gestion de messagerie, destiné à remplacer POP (Post Office Protocol) 3, qui est nettement moins performant. IMAP sait ainsi stocker le courrier sur le serveur, permet un accès aux messages de n'importe quel ordinateur, un stockage hiérarchisé, un support du mode "online" et "offline", un accès simultané à une boite aux lettres partagée et il est independant du format de stockage des messages (MailDir, Mailbox, binaire ou base de données). Le Projet Cyrus à implémenté un serveur IMAP rebuste, stable et preformant doté de nombreuses fonctionnalités tel qu'un language de filtrage d'email : Sieve, un système de nouvelles comparable aux news groupe usenet. _________________________________________________________
- 4.1. Installation de Cyrus IMAP
Nous allons installer le server Cyrus IMAP dans sa version 2.1. Celui-ci a besoin de 9mo d'espace disque dur.
#apt-get install cyrus21-imapd _________________________________________________________
- Configuration initiale _________________________________________________________
- 1. Configuration de la base de données PostgreSQL _________________________________________________________
- 1.1. Configuration du systeme d'authentification
Postgres dispose d'un système d'authentification très complexe pour savoir si l'utilisateur a le droit de se connecter à la base ou non. Ce système d'authentification est configurable à l'aide du fichier /etc/postgresql/pg_hba.conf. Par defaut ce fichier ressemble à cela :
# TYPE DATABASE USER IP-ADDRESS IP-MASK MET HOD local all postgres ide nt sameuser
local all all ide nt sameuser host all all 127.0.0.1 255.255.255.255 ide nt sameuser host all all 0.0.0.0 0.0.0.0 rej ect
Il faut autoriser les connexions à la base à partir de la machine locale.
# TYPE DATABASE USER IP-ADDRESS IP-MASK MET HOD local all all tru st host all all 127.0.0.1 255.255.255.255 tru st host all all 0.0.0.0 255.255.255.255 rej ect
Une fois que vous avez modifié le fichier de configuration il faut rédémarrer PostgreSQL pour que votre modification soit prise en compte.
#/etc/init.d/postgresql restart Restarting PostgreSQL database: postmaster waiting for postmaster to shut down......done postmaster successfully shut down Starting PostgreSQL postmaster. postmaster successfully started . _________________________________________________________
- 1.2. Création des tables
Après avoir installé PostgreSQL nous devons créer un utilisateur ogo, une base de données dont le nom est ogo pour finalement créer toutes les tables.
#su - postgres $createdb ogo CREATE DATABASE $createuser -a -d ogo CREATE USER $psql ogo ogo Welcome to psql 7.3.4, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms \h for help with SQL commands \? for help on internal slash commands \g or terminate with semicolon to execute query \q to quit
ogo=#\i /usr/lib/opengroupware.org/Database/PostgreSQL/pg-build-schema. psql [ ... spip ... ] ogo=#\q $logout
Les tables necéssaires au bon fonctionnement de OpenGroupware.org sont crées dans la base postgres. _________________________________________________________
- 2. Lancement d'OpenGroupware.org
Une fois que la base de données est correctement initialisée nous pouvons lancer le deamon qui gère tous les services d'Ogo. Pour cela il faut taper les commandes suivantes en remplçant hostname par le nom de votre machine :
#su - root
#chown -R opengroupware.skyrix /usr/lib/opengroupware.org
$su - opengroupware
$source OpenGroupware.org.sh
$cd WOApps/OpenGroupware.woa
$ln -s ../../WebServerResources/
$cd ..
$OpenGroupware.woa/ix86/linux-gnu/gnu-fd-nil/OpenGroupware -WOHttpAllow
Host hostname &
Dec 28 11:08:48 OpenGroupware [1772]: SNS disabled.
Dec 28 11:08:48 OpenGroupware [1772]: |OpenGroupware| CTI Dialers:
Dec 28 11:08:48 OpenGroupware [1772]: |OpenGroupware| SKYRiX instance i
nitialized ..
Dec 28 11:08:48 OpenGroupware [1772]: |OpenGroupware| WOHttpAdaptor lis
tening on address Voila le deamon Opengroupware.org écoute sur le port 2000
toutes les connections à partir de la machine locale
(localhost). Vous pouvez préciser le nom d'une autre machine.
Ou bien plusieurs machines à l'aide de la syntaxe suivante :
-WOHttpAllowHost ([your-host],[your-host2])
Vous pouvez tester le bon fonctionnement du deamon en lançant un browser et en visitant l'adresse suivante : http://localhost:20000/OpenGroupware/.
Si tout va bien vous devriez voir l'interface Web d'Opengroupware.org. Le problème c'est que c'est le deamon Opengroupware qui gère les connection HTTP/1.1. Et toutes les spécifications de la RFC 2616 ne sont pas encore implemantées dans le deamon. Et pour des raisons de securité et de performances il vaudrait mieux laisse le serveur Apache gere les requettes HTTP. _________________________________________________________
- 3. Module Apache
Vous pouvez utiliser un module Apache pour béneficier de toutes les fonctionnalités d'Apache et soulager le deamon Ogo de la charge liée à la gestion des connections HTTP/1.1. Le module marche aussi bien pour la version 1.3 et la version 2 d'Apache. _________________________________________________________
- 3.1. Télécharger le module
Vous devez télécharger la dernière version du module OpenGroupware à la page suivante : http://www.opengroupware.org/sources/opengroupware.org-mod_ngo bjweb-latest.tar.gz. _________________________________________________________
- 3.2. Compiler le module
Vous avez besoin d'un compilateur C comme celui de la suite GCC et des bibliothèques de développement d'apache. Un petit apt-get ferra l'affaire :
#apt-get install make gcc apache-dev
Il ne ne reste plus qu'à télécharger le tarball et le compiler.
#wget http://www.opengroupware.org/sources/opengroupware.org-mod_ngobjw eb-latest.tar.gz #tar xzf opengroupware.org-mod_ngobjweb-latest.tar.gz #cd opengroupware.org-mod_ngobjweb
Une fois que vous avez extracté les sources. Vous pouvez modifier le fichier Makefile : GNUmakefile. Vous devez remplacer la variable HTTPD et indiquer l'endroit exacte où se trouve l'executable d'Apache.
HTTPD = $(APACHE)/sbin/httpd
HTTPD = $(APACHE)/sbin/apache-ssl
Il ne vous reste plus qu'a compiler le module.
#make [ ... spip ... ] #ls *.so ngobjweb_1.3.27.so
Ici 1.3.27 est la version d'Apache qui est installée sur la machine. Nous allons placer le module dans le nouveau repertoire : /usr/lib/opengroupware.org/WebServer.
#mkdir /usr/lib/opengroupware.org/WebServer #mv ngobjweb_1.3.29.so /usr/lib/opengroupware.org/WebServer
Il ne nous reste plus qu'à configurer Apache pour que celui-ci utilise ce nouveau module. _________________________________________________________
- 3.3. Configurer Apache
Pour configurer le serveur HTTP Apache il faut ajouter les lignes suivantes dans le fichier /etc/apache-ssl/http.conf.
LoadModule ngobjweb_module /usr/lib/opengroupware.org/WebServer/ngobjwe b_1.3.27.so
Alias /OpenGroupware.woa/WebServerResources/ \ /usr/lib/opengroupware.org/WebServerResources/
La première directive du fichier de configuration indique au serveur Apache qu'il faut charger le module que nous venons de compiler. La seconde permet d'indiquer que tous les requettes qui contiennent OpenGroupware dans leur URL seront gere par le module et enfin la dernière directive permet de faire pointer les images d'OpenGroupware.org sur le bon repertoire. Vous pouvez relancer Apache et acceder a l'interface d'OpenGroupware à l'aide de l'url suivante :
https://localhost/OpenGroupware _________________________________________________________
- 3.4. Lancer automatiquement Opengroupware.org lors du boot de la
machine
Une fois que vous avez configurer les differents composants d'opengroupware, il est temps d'automatiser le lancement du programme deamon lors du boot de la machine. Pour cela nous avons besoin d'installer script suivant :
http://helms-deep.cable.nu/~rwh/howtos/opengroupware
#cd /etc/init.d/ #wget --non-verbose http://helms-deep.cable.nu/~rwh/howtos/opengroupwar e 15:41:55 URL:http://helms-deep.cable.nu/%7Erwh/howtos/opengroupware [15 16/1516] -> "opengroupware" [1] #chmod +x opengroupware #update-rc.d opengroupware defaults 95 Adding system startup for /etc/init.d/opengroupware ... /etc/rc0.d/K95opengroupware -> ../init.d/opengroupware /etc/rc1.d/K95opengroupware -> ../init.d/opengroupware /etc/rc6.d/K95opengroupware -> ../init.d/opengroupware /etc/rc2.d/S95opengroupware -> ../init.d/opengroupware /etc/rc3.d/S95opengroupware -> ../init.d/opengroupware /etc/rc4.d/S95opengroupware -> ../init.d/opengroupware /etc/rc5.d/S95opengroupware -> ../init.d/opengroupware
Voila au prochain reboot de la machine. Le deamon OpenGroupware se lanceras tout seul. _________________________________________________________
- Administration basique d'OpenGroupware.org
- 1. Changer le mot de pass de l'administrateur
La permière fois que vous vous connectez à l'interface d'opengroupware.org, vous etes directement connecté en tant qu'administrateur du système. Il faut crée un mot de pass pour le compte root pour faire fonctionner l'application de façon normal. Pour cela il faut cliquer sur Misc -> Préférences et puis sur edit password.
[edit_password.png] _________________________________________________________
- 2. Ajouter un utilisateur
Pour ajouter un utilisateur il faut se connecter en tant que utilisateur root (Administrateur). Puis cliquier sur User Manager et new.
[new_user.png]