Ceci est une ancienne révision du document !
Table des matières
Wiki associé à une liste
En cours de rédaction
- Soit récupération des sources sur la VM fournie par sympa :
- Soit la package des sources modifiés
en cours d'élaboration
Version du wiki
dokuwiki-2009-02-14
Emplacement et arborescence du wiki
/var/www/html/wikifarm
- create_wiki.pl : script qui créée le wiki associé à une liste
- dokuwiki : lien sur dokuwiki-2009-02-14
- dokuwiki-2009-02-14\
- farm-controler\ : lien sur dokuwiki
- modeles\ : fichier à recopier pour la création d'un wiki
- RCS
- virtualwrapper.c
create_wiki.pl
modifier les paramètres du script
- my $sympa_expl = '/home/sympa/list_data/';
- my $hostname = 'crocus-test.inpg.fr' ;
- my $listmaster = 'webcri@grenoble-inp.fr' ;
- $typeauth{$hostname} = 'shibboleth';
farm-controler
Le dossier /var/www/html/wikifarm/farm-controler contient :
- des sous dossiers renvoyant sur des sous-dossiers de /var/www/html/dokuwiki
bin -> ../dokuwiki/bin/ conf -> ../dokuwiki/conf/ data -> ../dokuwiki/data/ doku.php -> ../dokuwiki/doku.php feed.php -> ../dokuwiki/feed.php inc -> ../dokuwiki/inc/ index.php -> ../dokuwiki/index.php lib -> ../dokuwiki/lib/ README -> ../dokuwiki/README VERSION -> ../dokuwiki/VERSION
- des fichiers
- COPYING
- index.html sert à rien propre à renater
- farmlist sert à rien propre à renater
- farm.patch
- wsdl sert à rien propre à renater
- les sous dossiers pour les wikis associés aux listes
Nomenclature : [nom liste]@[nom robot]
Exemples :
- test2@serveur.grenoble-inp.fr
- test3@serveur.grenoble-inp.fr
- test4@serveur.grenoble-inp.fr
Dossier associé à un wiki
Chaque dossier d'un wiki
- conf : fichiers de configuration du wiki
- data : données de publication du wiki
- doku.php
- install.php
des sous dossiers renvoyant sur des sous-dossiers
inc -> ../inc index.php -> doku.php lib -> ../lib
modeles
- httpd.conf : partie à copier dans /etc/httpd/conf/httpd.conf pour la déclaration du wiki
- list : dossier à copier pour la création du dossier du wiki
- sympa_tpl : dossier des templates
- à remplacer pour la liste
- admin.tt2 : partie droite du menu admin de la liste si un wiki a été créé
- list_menu.tt2 : menu gauche de la liste si un wiki a été créé
- .htaccess
- conf
- data
- doku.php
- install.php
- FR_fr
- admin.tt2 : à modifier pour remplacer les liens en dur vers le cru
httpd.conf
Alias /wiki/(%list%) /var/www/html/wikifarm/farm-controler/(%list%)@(%robot%) <directory "/var/www/html/wikifarm/farm-controler/(%list%)@(%robot%)"> Options All -Indexes AllowOverride All </directory>
Ajouter
Order deny,allow Deny from all Allow from .grenoble-inp.fr
AuthType shibboleth ShibRequireSession Off require shibboleth
list/.htaccess
## Enable this to restrict editing to logged in users only
## You should disable Indexes and MultiViews either here or in the
## global config. Symlinks maybe needed for URL rewriting.
#Options -Indexes -MultiViews +FollowSymLinks
## make sure nobody gets the htaccess files
<Files ~ "^[\._]ht">
Order allow,deny
Deny from all
Satisfy All
</Files>
## Uncomment these rules if you want to have nice URLs using
## $conf['rewrite'] = 1 - not needed for rewrite mode 2
RewriteEngine on
#
## Not all installations will require the following line. If you do,
## change "/dokuwikio the path to your dokuwiki directory relative
## to your document root.
RewriteBase /wiki/(%list%)
#
RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L]
RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L]
RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L]
RewriteRule ^$ doku.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) doku.php?id=$1 [QSA,L]
RewriteRule ^index.php$ doku.php
list/data/.htaccess
order allow,deny deny from all
list/conf
local.protected.php
inclus dans local.php, à paramétrer
$conf['start'] = 'index.php'; $conf['plugin']['shibbolethauth']['sympaApplicationId'] = 'wikishib'; $conf['plugin']['shibbolethauth']['sympaApplicationPwd'] = 'shwk10f+d';$conf['plugin']['shibbolethauth']['shibbolethLoginURL'] = 'https://listes.grenoble-inp.fr/sympa/sso_login/federation_renater/Shibboleth.sso/Login'; $conf['plugin']['shibbolethauth']['shibbolethLogoutURL'] = 'http://listes.grenoble-inp.fr/sympa/sso_login/federation_renater/Shibboleth.sso/Logout?return=http%3A%2F%2Fcrocus-test.inpg.fr/wiki/(%list%)@(%robot%)'; $conf['resendpasswd'] = '0';
sympa_tpl
FR_fr/admin.tt2
<form action="http://virtualsympa.cru.fr/cgi-bin/delete_wiki.cgi" method="post"> ..... <input class="MainMenuLinks" type="submit" name="action_restore_email" value="Supprimer le wiki de la liste [%list%]" /> : merci de consulter <a href="http://www.cru.fr/services/wiki/index">la description du service de wiki.</a> ..... <form action="http://virtualsympa.cru.fr/cgi-bin/create_wiki.cgi" method="post"> ..... <input class="MainMenuLinks" type="submit" name="action_restore_email" value="Créer le wiki de la liste [%list%]" /> : merci de consulter <a href="http://www.cru.fr/services/wiki/index">la description du service de wiki.</a>
dokuwiki
Modifications apportées
inc/auth
Ajout
- punbb.class.php
- shibboleth.class.php
- sympa.class.php
shibboleth.class.php
Modification pour que l'adresse mail renvoyée soit en minuscule
function trustExternal($user,$pass,$sticky=false){
.......
$USERINFO['name'] = $user = strtolower($_SERVER[$conf['plugin']['shibbolethauth']['shibbolethEmailAttribute']]);
$USERINFO['mail'] = $mail = strtolower($_SERVER[$conf['plugin']['shibbolethauth']['shibbolethEmailAttribute']]);
function getUserData( $user ) {
$user = strtolower($user);
function getUserGroups($user) {
lib/exe
Modification de la 1ère ligne
if(!defined('DOKU_INC'))
define('DOKU_INC',dirname(join('/',
array_slice(explode(/',$_SERVER['SCRIPT_FILENAME']),0,-2))).'/');
pour
- css.php
- js.php
- mediamanager.php
- opensearch.php
lib/plugins
Ajout <columns>
- batchedit
- box
- code
- color
- delicious
- divalign
- doodle
- gallery
- goto
- header
<newcolumn>
- highlight
- importoldchangelog
- importoldindex
- include
- loglog
- logstats
- note
- nssize
- odt
- pagelist
<newcolumn>
- pagemove
- permissioninfo
- searchindex
- shibbolethauth
- styler
- superacl
- sympaauth
- tmp
- txtconf
</columns>
CGI
/var/www/cgi-bin
- create_wiki.cgi
- delete_wiki.cgi
Les droits sont -rwsr-sr-x 1 root root : chmod 6755
Modifier les constants my $listmaster
remplacer http par https si besoin
httpd.conf
#
# Load config files from the config directory "/etc/httpd/conf.d".
#
Include conf.d/wiki/*.conf
AccessFileName .htaccess
<Directory "/var/www/html">
Options Indexes FollowSymLinks +ExecCGI
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from grenoble-inp.fr
</Directory>
AddHandler cgi-script .cgi .pl .c
mkdir /etc/httpd/conf.d/wiki
sympa
Modifier les templates suivants
~sympa/etc/web_tt2
- admin.tt2
- list_menu.tt2
- fr_FR
- admin.tt2
Récupérer l’icône wait.gif sous /home/sympa/static_content/icons/
/etc/sudoers
# visudo
## Allows apache to rum config script apache ALL=(root) NOPASSWD: CONF
Création/Suppression du wiki
Sur le serveur
Création
/var/www/html/wikifarm/create_wiki.pl --create --list=test444 --robot=crocus-test.inpg.fr
résultat de la création wiki
Suppression
/var/www/html/wikifarm/create_wiki.pl --delete --list=test444 --robot=crocus-test.inpg.fr
