Studs le Doodle like, le gestionnaire de sondage et dates de repas (oui, surtout...)

De OpenWikiBSD
Aller à : navigation, rechercher

Doodle, c'est super, mais ..... SapuCpalibre.. et vos données sont stockées chez eux, et surtout, le principe est tellement simple que ce serait dommage de se priver de l'avoir à domicile.

Après avoir cherché (sur Plume évidemment) un outil adapté, je suis tombé sur Studs. En dehors du nom, l'outil est excellent.


Installation

OS : OpenBSD

  • Téléchargement ici
 pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.5/packages/i386/postgresql-server
 pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.5/packages/i386/php5-pgsql
 ln -fs /var/www/conf/php5.sample/pgsql.ini /var/www/conf/php5/pgsql.ini
apachectl stop
apachectl startssl
 pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.5/packages/i386/pear
 pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.5/packages/i386/mini_sendmail
 pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.5/packages/i386/mini_sendmail-chroot
 pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.5/packages/i386/wget 
 wget --no-check-certificate https://sourcesup.renater.fr/frs/download.php/3173/studs_0.6.5.tar.gz -P /var/www/htdocs/
 cd /var/www/htdocs
 tar zxvf studs_0.6.5.tar.gz 


Suivre la doc pour le SGDB.

/usr/local/bin/createdb -U posqtgresADM studs
/usr/local/bin/psql -U posqtgresADM -h localhost -d studs -f ./install.sql
htpasswd ./admin/.htpasswd studs
touch admin/logs_studs.txt
chmod 700 admin/logs_studs.txt
chown www admin/logs_studs.txt
cp variables.php.template variables.php

Et modifiez le fichier variables.php

  • Pour RACINESERVEUR, il faut mettre le chemin chrooté : /htdocs/......

Attention, pour le SGDB : NE pas mettre localhost, mais 127.0.0.1, sauf si vous avez bien travaillé pour remplir le chroot : OBSD:Reseau..

Configuration

Pour les mails, suivre la doc ici

Pour modifier le bandeau, allez voir dans ./lang/fr/inc


LDAP

J'ai besoin d'authentifier automatiquement les users sur l'annuaire du se3.

  • Ajouter les paquets
pkg_add mod_auth_ldap
pkg_add  openldap-client
  • Ajouter à /var/www/conf/httpd.conf
Include /var/www/conf/Auth_Studs
  • Créer un fichier /var/www/conf/Auth_Studs
<Directory "/var/www/htdocs/Studs">
AllowOverride AuthConfig
AuthType Basic
AuthName "Authentification Ldap"
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off
Require group cn=profs,ou=Groups,$BASEDN
Require group cn=cpe,ou=Groups,$BASEDN
Require group cn=persdir,ou=Groups,$BASEDN
AuthLDAPURL ldap://@IP_SE3:389/ou=People,$BASEDN
</Directory>

Idem pour le repertoire admin

apachectl stop
apachectl startssl

A ce stade, si vous allez sur http://www.monWeb/Studs, vous devriez avoir une demande d'authentification avec les identifiants de l'annuaire...Oui, du SSL, serait de bon goût..

Modification apportées au code de Studs

  • Rien, ou presque, l'auteur a prévu le fonctionnement en utilisant les variables intégrées de Apache; en particulier $_POST[REMOTE_USER].Cool!

Modifications :

  • Gestion des insertions multiples ( "titi et toto" ou bien "titi toto" ou bien encore "titi,toto" insèrent dans la base les deux gastronomes titi et toto)
  • Gestion du domaine de messagerie en cas de $_POST[REMOTE_USER] différent de "".
  • Gestion du nom d'utilisateur en cas de $_POST[REMOTE_USER] différent de "".

Les pacthes suivants vont mettre à jour les fichiers pour permettre l'auth LDAP :

Et on applique :

patch -p0 < infos_sondage.patch
patch -p0 < Studs.patch
patch -p0 < contacts.patch

Désormais, vous pouvez utiliser l'authentification LDAP pour vos utilisateurs.


  • Si vous voulez simplifier (encore ?) l'interface : Vous regardez dans ./lang/fr.inc, le code des boutons qui vous gênent. Puis dans ./bandeaux.php, vous virez les liens gênants.