Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
admin:services:dokuwiki [2016/10/19 19:41] – [Réplication sur quigon] Migration finie david.sinquin | admin:services:dokuwiki [2019/04/12 05:41] (Version actuelle) – [Extensions supplémentaires] zertrin |
---|
[[:admin|< retour à la page de l'administration technique]] | [[:admin|< retour à la page de l'administration technique]] |
| |
Le wiki de FedeRez est hébergé sur hexagon dans ''/srv/dokuwiki''. | Le wiki de FedeRez est hébergé sur dodecagon dans ''/srv/dokuwiki''. |
| |
| <WRAP center round tip 60%> |
| 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]]. |
| </WRAP> |
| |
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 [[:admin:services:dokuwiki#Réplication sur quigon|ci-dessous]]. | |
| |
===== Mise à jour ===== | ===== Mise à jour ===== |
cd /srv/dokuwiki | cd /srv/dokuwiki |
# Vérifier qu'on est bien sur la branche stable | # Vérifier qu'on est bien sur la branche stable |
git pull | git pull --ff-only |
chown www-data:www-data -R /srv/dokuwiki | 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,}} |
</code> | </code> |
| |
| En cas d'erreur lors du ''git pull'', il faudra regarder quels fichiers posent problème. |
===== Installation ===== | ===== Installation ===== |
| |
</file> | </file> |
| |
Après avoir activé le site et recharché Apache, finir l'installation sur [[https://wiki.federez.net/install.php]]. | Après avoir activé le site et rechargé Apache, finir l'installation sur [[https://wiki.federez.net/install.php]]. |
| |
===== Configuration ===== | ===== Configuration ===== |
Options de configuration générales, généré automatiquement en modifiant les paramètres via l'interface web. | 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) | (version du 2019-04-12 11:34 +0800) |
| |
<file php local.php> | <file php local.php> |
$conf['showuseras'] = 'username'; | $conf['showuseras'] = 'username'; |
$conf['passcrypt'] = 'bcrypt'; | $conf['passcrypt'] = 'bcrypt'; |
$conf['superuser'] = '@admin'; | $conf['superuser'] = '@admin,@federezadmin'; |
$conf['disableactions'] = 'register,resendpwd'; | $conf['disableactions'] = 'register,resendpwd'; |
$conf['subscribers'] = 1; | $conf['subscribers'] = 1; |
| |
<file php local.protected.php> | <file php local.protected.php> |
<?php | |
<?php | <?php |
/** | /** |
$conf['authtype'] = 'authldap'; //enable this Auth plugin | $conf['authtype'] = 'authldap'; //enable this Auth plugin |
| |
# Le serveur est à choisir, localhost ayant pour avantage de marcher en cas de défaillance du serveur maître. | # localhost permet l'authentification en cas de défaillance du serveur LDAP maître sur le wiki de backup. |
$conf['plugin']['authldap']['server'] = 'ldap://localhost:389'; | $conf['plugin']['authldap']['server'] = 'ldap://ldap.federez.net:389'; |
# $conf['plugin']['authldap']['server'] = 'ldaps://ldap.federez.net:636'; | $conf['plugin']['authldap']['usertree'] = 'cn=Utilisateurs,dc=federez,dc=net'; |
$conf['plugin']['authldap']['usertree'] = 'ou=users,dc=federez,dc=net'; | $conf['plugin']['authldap']['grouptree'] = 'ou=posix,ou=groups,dc=federez,dc=net'; |
$conf['plugin']['authldap']['grouptree'] = 'ou=roles,dc=federez,dc=net'; | |
$conf['plugin']['authldap']['userfilter'] = '(uid=%{user})'; | $conf['plugin']['authldap']['userfilter'] = '(uid=%{user})'; |
$conf['plugin']['authldap']['groupfilter'] = '(roleOccupant=%{dn})'; | $conf['plugin']['authldap']['groupfilter'] = '(memberUid=%{cn})'; |
| |
$conf['plugin']['authldap']['version'] = 3; | $conf['plugin']['authldap']['version'] = 3; |
| |
| # This enables the use of the STARTTLS command |
| $conf['auth']['authldap']['starttls'] = 1; |
| |
# Optional bind user and password if anonymous bind is not allowed | # 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']['binddn'] = 'cn=wiki,ou=service-users,dc=federez,dc=net'; |
$conf['plugin']['authldap']['bindpw'] = 'MotDePasse'; | $conf['plugin']['authldap']['bindpw'] = 'MotDePasseSuperSecret'; |
| |
# Optional debugging | # Optional debugging |
| |
# Mapping: FedeRez roles as dokuwiki groups | # Mapping: FedeRez roles as dokuwiki groups |
$conf['plugin']['authldap']['mapping']['member'] = 'roleOccupant'; | $conf['plugin']['authldap']['mapping']['member'] = 'memberUid'; |
| |
</file> | </file> |
* [[http://dokuwiki.org/plugin:wrap|wrap]] (Mise en page en blocs pour faire des boîtes ou des colonnes) | * [[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) | * [[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 ==== | ==== 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é. | 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 ===== | ===== Réplication sur saigon ===== |
| |
Le wiki est répliqué sur [[admin:serveurs:quigon|quigon]]. La copie est accessible à l'adresse https://wiki-backup.federez.net. | 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. | Le répertoire ''/srv/dokuwiki'' est synchronisé une fois par heure avec le master de dodecagon. |
| |
| <WRAP center round important 60%> |
| Toute modification apportée sur le réplica sera perdue après la prochaine synchronisation. |
| </WRAP> |
| |
Pour effectuer cette réplication, la même méthode que pour la réplication de federezpasswords est utilisée, à savoir : | 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''((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'' | * 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'' |
| |
<file replica.dokuwiki> | <file replica.dokuwiki> |
* Le script ''/root/scripts/replica.dokuwiki.client'' exécute la commande suivante : | * Le script ''/root/scripts/replica.dokuwiki.client'' exécute la commande suivante : |
| |
<code> | https://gitlab.federez.net/federez/scripts/blob/master/replica.dokuwiki.client |
rsync -e "ssh -i /root/.ssh/id_ed25519_dokuwiki_from_dodecagon" -avz --delete-after root@hexagon.federez.net:/srv/dokuwiki/ /srv/dokuwiki/ >> /var/log/replica.dokuwiki.log; | |
</code> | |
| |
* ''rsync'' se connecte ainsi avec la clef SSH ''/root/.ssh/id_ed25519_dokuwiki_from_dodecagon'' en tant que root sur dodecagon | * ''rsync'' se connecte ainsi avec la clef SSH ''/root/.ssh/id_ed25519_dokuwiki_from_dodecagon'' en tant que root sur dodecagon |
* Sur dodecagon le script ''/root/scripts/replica.dokuwiki.server'' s'assure que la commande rsync n'a pas été trafiquée : | * Sur dodecagon le script ''/root/scripts/replica.dokuwiki.server'' s'assure que la commande rsync n'a pas été trafiquée : |
| |
<file bash replica.dokuwiki> | https://gitlab.federez.net/federez/scripts/blob/master/replica.dokuwiki.server |
#!/bin/bash | |
| |
case "$SSH_ORIGINAL_COMMAND" in | |
"rsync --server --sender -vlogDtprze.Lsfx . /srv/dokuwiki/") | |
$SSH_ORIGINAL_COMMAND | |
;; | |
*) | |
echo "$SSH_ORIGINAL_COMMAND refusée." >> /root/replica.dokuwiki.log 2>&1 | |
;; | |
esac | |
</file> | |
| |
Sur quigon et dodecagon, on crée un fichier de configuration de logrotate pour éviter de garder indéfiniment les logs des mise à jour avec : | 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 : |
<file bash /etc/logrotate.d/replica-dokuwiki> | <file bash /etc/logrotate.d/replica-dokuwiki> |
/var/log/replica.dokuwiki.log { | /var/log/replica.dokuwiki.log { |