[[:admin|< retour à la page de l'administration technique]]
Le wiki de FedeRez est hébergé sur dodecagon dans ''/srv/dokuwiki''.
Une réplique de secours automatisée se trouve sur saigon dans ''/srv/dokuwiki'', accessible à l'adresse https://wiki-backup.federez.net. Plus de détails sur la réplication [[:admin:services:dokuwiki#Réplication sur saigon|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 --ff-only
chown root:www-data -R /srv/dokuwiki
chmod -R a-w,a+rX,u+w /srv/dokuwiki
chmod -R g+w /srv/dokuwiki/data /srv/dokuwiki/lib/plugins/ /srv/dokuwiki/lib/tpl /srv/dokuwiki/conf/{local.php{.bak,},{users,acl}.auth.php,plugins.local.php{.bak,}}
En cas d'erreur lors du ''git pull'', il faudra regarder quels fichiers posent problème.
===== 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) :
ServerName wiki.federez.net
Redirect permanent / https://wiki.federez.net/
...
ServerName wiki.federez.net
DocumentRoot /srv/dokuwiki
AllowOverride all
SSLOptions +StdEnvVars
SSLOptions +StdEnvVars
...
Après avoir activé le site et rechargé 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 2019-04-12 11:34 +0800)
==== local.protected.php ====
Configuration pour LDAP.
Il est nécessaire d'installer le paquet ''php5-ldap'' et de redémarrer apache pour pouvoir utliser l'autehntification LDAP :
apt install php5-ldap
service apache restart
==== entities.local.conf ====
Pour désactiver le remplacement de ''--'' par ''–''.
# 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 ====
* [[http://www.dokuwiki.org/plugin:editx|editx]] (Extended edit functions such as renaming or deleting a page)
* [[http://dokuwiki.org/plugin:include|include]] (Functions to include another page in a wiki page)
* [[http://www.dokuwiki.org/plugin:pageredirect|pageredirect]] (Redirects page requests based on content)
* [[http://www.dokuwiki.org/plugin:preservefilenames|preservefilenames]] (Preserves the original name of the uploaded media file (letter cases, symbols, etc.))
* [[http://dokuwiki.org/plugin:tag|tag]] (tag wiki pages)
* [[http://dokuwiki.org/plugin:xbr|xbr]] (replacement renderer, preserves line breaks present in raw wiki data)
* [[http://dokuwiki.org/plugin:folded|folded]] (Foldable page sections)
* [[http://dokuwiki.org/plugin:html5video|html5video]] (Embeds video using HTML5 syntax)
* [[http://dokuwiki.org/plugin:wrap|wrap]] (Mise en page en blocs pour faire des boîtes ou des colonnes)
* [[https://www.dokuwiki.org/plugin:cellbg|cellbg]] (Allows user-defined background colored cells in tables)
* [[http://www.dokuwiki.org/plugin:move|move]] (Move and rename pages and media files whilst maintaining the links.)
==== 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 saigon =====
Le wiki est répliqué sur [[admin:serveurs:saigon|saigon]]. 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 de dodecagon.
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 saigon ''/etc/cron.d/replica-dokuwiki''((Attention, ne pas mettre de point dans le nom d'un fichier sous ''/etc/cron.d'' sinon le fichier est considéré comme désactivé !!!)) est appelé une fois par heure et exécute le script ''/root/scripts/replica.dokuwiki.client''
# Réplication du wiki federez
#
17 * * * * root /root/scripts/replica.dokuwiki.client
* Le script ''/root/scripts/replica.dokuwiki.client'' exécute la commande suivante :
https://gitlab.federez.net/federez/scripts/blob/master/replica.dokuwiki.client
* ''rsync'' se connecte ainsi avec la clef SSH ''/root/.ssh/id_ed25519_dokuwiki_from_dodecagon'' en tant que root sur dodecagon
* Sur dodecagon cette clef root est restreinte par ''/root/.ssh/authorized_keys'' à ne pouvoir exécuter que le script ''/root/scripts/replica.dokuwiki.server'', sans terminal (''no-pty'') et uniquement depuis l'IP de quigon (''from="160.228.155.65"'')
* Sur dodecagon le script ''/root/scripts/replica.dokuwiki.server'' s'assure que la commande rsync n'a pas été trafiquée :
https://gitlab.federez.net/federez/scripts/blob/master/replica.dokuwiki.server
Sur saigon et dodecagon, on crée un fichier de configuration de logrotate pour éviter de garder indéfiniment les logs des mise à jour avec :
/var/log/replica.dokuwiki.log {
rotate 8
maxage 8
weekly
missingok
}