/etc/cron.d
sinon le fichier est considéré comme désactivé !!!Ceci est une ancienne révision du document !
Table des matières
< retour à la page de l'administration technique
Le wiki de FedeRez est hébergé sur hexagon dans /srv/dokuwiki
.
Une réplique se trouve sur quigon dans /srv/dokuwiki
, accessible à l'adresse https://wiki-backup.federez.net. Plus de détails sur la réplication ci-dessous.
Mise à jour
L'installation de Dokuwiki étant un simple git clone
de la branche stable du dépôt officiel, un git pull
devrait faire l'affaire :)
cd /srv/dokuwiki # Vérifier qu'on est bien sur la branche stable git pull chown www-data:www-data -R /srv/dokuwiki
Installation
Dans /srv
, cloner le dépôt Git officiel :
git clone git://github.com/splitbrain/dokuwiki.git /srv/dokuwiki cd /srv/dokuwiki git checkout -b stable origin/stable chown -R www-data:www-data /srv/dokuwiki
Créer le fichier de site Apache (extrait de la configuration) :
- /etc/apache2/sites-available/dokuwiki
<VirtualHost *:80> ServerName wiki.federez.net Redirect permanent / https://wiki.federez.net/ ... </VirtualHost> <VirtualHost *:443> ServerName wiki.federez.net DocumentRoot /srv/dokuwiki <Directory /> AllowOverride all </Directory> <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> ... </VirtualHost>
Après avoir activé le site et recharché Apache, finir l'installation sur https://wiki.federez.net/install.php.
Configuration
Options de configuration autres que celles par défaut : fichiers .local.php
dans /srv/dokuwiki/conf
local.php
Options de configuration générales, généré automatiquement en modifiant les paramètres via l'interface web.
(version du 2014-10-22 17:24)
- local.php
<?php /* * Dokuwiki's Main Configuration File - Local Settings * Auto-generated by config plugin * Run for user: vincent.le-gallic * Date: Mon, 19 Aug 2013 19:11:49 +0200 */ $conf['title'] = 'Wiki de FedeRez'; $conf['lang'] = 'fr'; $conf['license'] = '0'; $conf['recent'] = 50; $conf['recent_days'] = 30; $conf['showuseras'] = 'username'; $conf['passcrypt'] = 'bcrypt'; $conf['superuser'] = '@admin'; $conf['disableactions'] = 'register,resendpwd'; $conf['subscribers'] = 1; $conf['htmlmail'] = 0; $conf['userewrite'] = '1'; $conf['sepchar'] = '-'; $conf['fnencode'] = 'utf-8'; $conf['send404'] = 1; $conf['renderer_xhtml'] = 'xbr'; $conf['plugin']['editx']['user_rename'] = '@admin'; $conf['plugin']['editx']['user_rename_nr'] = '@admin'; $conf['plugin']['editx']['user_delete'] = '@admin'; // end auto-generated content
local.protected.php
Configuration pour LDAP.
- local.protected.php
<?php <?php /** * Protected settings * LDAP configuration example */ $conf['useacl'] = 1; //enable ACL $conf['authtype'] = 'authldap'; //enable this Auth plugin $conf['plugin']['authldap']['server'] = 'ldap://localhost:389'; $conf['plugin']['authldap']['usertree'] = 'ou=users,dc=federez,dc=net'; $conf['plugin']['authldap']['grouptree'] = 'ou=roles,dc=federez,dc=net'; $conf['plugin']['authldap']['userfilter'] = '(uid=%{user})'; $conf['plugin']['authldap']['groupfilter'] = '(roleOccupant=%{dn})'; $conf['plugin']['authldap']['version'] = 3; # Optional bind user and password if anonymous bind is not allowed $conf['plugin']['authldap']['binddn'] = 'cn=wiki,ou=service-users,dc=federez,dc=net'; $conf['plugin']['authldap']['bindpw'] = 'MotDePasse'; # Optional debugging $conf['plugin']['authldap']['debug'] = 0; # Mapping: FedeRez roles as dokuwiki groups $conf['plugin']['authldap']['mapping']['member'] = 'roleOccupant';
entities.local.conf
Pour désactiver le remplacement de --
par –
.
- entities.local.conf
# Typography replacements # # Order does matter! # # You can use HTML entities here, but it is not recomended because it may break # non-HTML renderers. Use UTF-8 chars directly instead. -- --
Extensions supplémentaires
- editx (Extended edit functions such as renaming or deleting a page)
- include (Functions to include another page in a wiki page)
- pageredirect (Redirects page requests based on content)
- preservefilenames (Preserves the original name of the uploaded media file (letter cases, symbols, etc.))
- tag (tag wiki pages)
- xbr (replacement renderer, preserves line breaks present in raw wiki data)
- folded (Foldable page sections)
- html5video (Embeds video using HTML5 syntax)
- wrap (Mise en page en blocs pour faire des boîtes ou des colonnes)
ACL
Les ACL sont configurables par les administrateurs via Administer → Gestion de la liste des contrôles d'accès (ACL)
. Pour le public, on interdit tout par défaut et on autorise les pages à publier. Pour les utilisateurs enregistrés, presque tout est autorisé.
Réplication sur quigon
Le wiki est répliqué sur quigon. La copie est accessible à l'adresse https://wiki-backup.federez.net.
Le répertoire /srv/dokuwiki
est synchronisé une fois par heure avec le master d'hexagon. Toute modification apportée sur le réplica sera perdue après la prochaine synchronisation.
Pour effectuer cette réplication, la même méthode que pour la réplication de federezpasswords est utilisée, à savoir :
- Un cron sur quigon
/etc/cron.d/replica-dokuwiki
1) est appelé une fois par heure et exécute le script/root/scripts/replica.dokuwiki
# Réplication du wiki federez # 17 * * * * root /root/scripts/replica.dokuwiki
- Le script
/root/scripts/replica.dokuwiki
exécute la commande suivante :
rsync -e "ssh -i /root/.ssh/id_rsa.dokuwiki" -avz --delete-after root@hexagon.federez.net:/srv/dokuwiki/ /srv/dokuwiki/ >> /var/log/replica.dokuwiki.log;
rsync
se connecte ainsi avec la clef SSH/root/.ssh/id_rsa.dokuwiki
en tant que root sur hexagon- Sur hexagon cette clef root est restreinte par
/root/.ssh/authorized_keys
à ne pouvoir exécuter que le script/root/scripts/replica.dokuwiki
, sans terminal (no-pty
) et uniquement depuis l'IP de quigon (from=“160.228.155.65”
) - Sur hexagon le script
/root/scripts/replica.federezpasswords
s'assure que la commande rsync n'a pas été trafiquée :
- replica.dokuwiki
#!/bin/bash case "$SSH_ORIGINAL_COMMAND" in "rsync --server --sender -vlogDtprze.Lsf . /srv/dokuwiki/") $SSH_ORIGINAL_COMMAND ;; *) echo "$SSH_ORIGINAL_COMMAND refusée." >> /root/replica.dokuwiki.log 2>&1 ;; esac