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 METHOD local all postgres ident sameuser local all all ident sameuser host all all 127.0.0.1 255.255.255.255 ident sameuser host all all 0.0.0.0 0.0.0.0 reject
Il faut autoriser les connexions à la base à partir de la machine locale.
# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD local all all trust host all all 127.0.0.1 255.255.255.0 trust host all all 0.0.0.0 255.255.255.255 reject
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 .
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.
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 -WOHttpAllowHost 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 initialized ..
Dec 28 11:08:48 OpenGroupware [1772]: |OpenGroupware| WOHttpAdaptor listening on address <InetSocketAddress: *:20000>
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 .
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.
Vous devez télécharger la dernière version du module OpenGroupware à la page suivante : http://www.opengroupware.org/sources/opengroupware.org-mod_ngobjweb-latest.tar.gz.
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_ngobjweb-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.
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/ngobjweb_1.3.27.so <LocationMatch "^/OpenGroupware/*"> SetHandler ngobjweb-adaptor SetAppPort 20000 </LocationMatch> 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 gerées 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 accéder à l'interface d'OpenGroupware à l'aide de l'url suivante :
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/opengroupware 15:41:55 URL:http://helms-deep.cable.nu/%7Erwh/howtos/opengroupware [1516/1516] -> "opengroupware" [1] #chmod +x opengroupware #update-rc.d opengroupware defaults 95Adding 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 lancera tout seul.