Table des matières
Retour «
Service wiki.chapril.org
Introduction
Cette documentation explique comment installer un service, en l’occurrence le wiki, sur une nouvelle machine virtuelle de l'infrastructure du Chapril. Ce service fait parti d'un ensemble de services du Chapril, une partie de sa mise en place est donc similaire aux autres services. Même si l'ensemble de la procédure est traitée, c'est la partie plus spécifique à ce service qui sera la plus détaillée. Par exemple, la création d'une machine virtuelle renvoie sur une autre page et n'est pas détaillée ici. Cette documentation est technique mais se veut accessible avec de bonnes connaissances notamment en ce qui concerne la ligne de commande, elle est suivie d'une documentation concernant l'utilisation, la modération et l'animation.
Ce service de wiki est basé sur Dokuwiki avec l'extension ferme de wikis (farmer en anglais), tous deux distribués sous licence GNU General Public License Version 2.
Les wikis seront publics ou privés au choix. La demande de création d'un nouveau wiki se fait par demande à la liste support (wiki-support *@* chapril.org). Il faut alors choisir le nom court pour l'adresse (par exemple https://wiki.chapril.org/!monpremierwiki), donner un titre et décrire, dans le cas d'un site public, l'objet du site et indiquer la licence.
Retrouvez la page de présentation du service sur le site www.chapril.org : www.chapril.org/-services-.html
Site principal Dokuwiki : www.dokuwiki.org
Téléchargement Dokuwiki : download.dokuwiki.org
Sources Dokuwiki : github.com/dokuwiki/dokuwiki
Page de l'extention Farmer : www.dokuwiki.org/plugin:farmer
Source de l'extension Farmer : github.com/cosmocode/dokuwiki-plugin-farmer
Machine virtuelle Chapril pour ce service : wiki.cluster.chapril.org
Page principale du service wiki Chapril: wiki.chapril.org
Exemple d'animal de la ferme : wiki.chapril.org/!monpremierwiki
Aspects techniques
- Serveur web : Le serveur web est Apache2.
- Base de données : Il n'y pas de base de données installée. Cependant une extension de Dokuwiki permet d'en ajouter une, cela permettrait d'avoir avoir des données structurées.
Précision sur la configuration des animaux
- Extensions : L'application principale permet de gérer les extensions de wikis de la ferme de deux manières possibles, héritage à la création ou simple ajout pour un wiki donné.
- Thèmes : Le thème proposé est le thème par défaut de Dokuwiki, les couleurs sont modifiables dans chaque wiki. Il n'est pas possible de changer de thème sans en faire la demande, il faut alors intégrer les fichiers du nouveau thème dans le dossier de l'animal.
- Utilisateurs : L'administrateur d'un wiki gère les utilisateurs de son wiki, mais pas les extensions qui elles sont gérées au niveau du fermier.
Préparation
Nouvelle VM
Création de la VM avec la procédure Création d'une machine virtuelle « bling ».
Pré-requis
Pré-requis sur la : Page de documentation d'installation sur le site dokuwiki.org
Apache
Commandes d'installation d'apache2 et des modules nécessaires:
apt install apache2 php libapache2-mod-php
apt install php-curl php-gd php-intl php-json php-mbstring php-xml php-zip
LVM
Création d'un volume logique avec LVM, le nom de ce volume sera donnees_utilisateurs, puis formatage en ext4
lvcreate -n donnees_utilisateurs -L 10g vgmain
mkfs -t ext4 /dev/vgmain/donnees_utilisateurs
Création du dossier de montage nommé wiki_utilisateurs et modification du fichier /etc/fstab pour le montage automatique du dossier, enfin, montage manuel :
mkdir /srv/wiki_utilisateurs
mkdir -p /var/www/wiki.chapril.org/wiki_utilisateurs
vim /etc/fstab
/dev/mapper/vgmain-donnees_utilisateurs /srv/wiki_utilisateurs ext4 defaults 0 2
/dev/mapper/vgmain-donnees_utilisateurs /var/www/wiki.chapril.org/wiki_utilisateurs ext4 defaults 0 2
mount -a
Vérification de ce qui a été fait précédemment :
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert donnees_utilisateurs vgmain -wi-ao---- 10,00g rootfs vgmain -wi-ao---- <4,66g swap vgmain -wi-ao---- <1,86g tmp vgmain -wi-ao---- 284,00m var vgmain -wi-ao---- <1,86g
# mount |grep dev/mapper
/dev/mapper/vgmain-rootfs on / type ext4 (rw,relatime,errors=remount-ro) /dev/mapper/vgmain-donnees_utilisateurs on /var/www/wiki.chapril.org/wiki_utilisateurs type ext4 (rw,relatime) /dev/mapper/vgmain-tmp on /tmp type ext4 (rw,relatime) /dev/mapper/vgmain-var on /var type ext4 (rw,relatime)
Serveur virtuel Apache
Création d'un hôte virtuel en créant le fichier wiki.chapril.org.conf dans le dossier /etc/apache2/sites-available/
vim /etc/apache2/sites-available/wiki.chapril.org.conf
Avec pour contenu :
<VirtualHost *:80>
ServerName wiki.chapril.org
DocumentRoot “/var/www/wiki.chapril.org/public_html”
<Directory “/var/www/wiki.chapril.org/public_html”>
Options +FollowSymLinks
AllowOverride all
Require all granted
</Directory>
CustomLog /var/log/apache2/wiki.chapril.org/wiki.chapril.org-access.log combined
ErrorLog /var/log/apache2/wiki.chapril.org/wiki.chapril.org-error.log
</VirtualHost>
Activation du site
a2ensite wiki.chapril.org
On recharge ensuite la configuration d'Apache :
systemctl reload apache2
Configuration pour affichage de l'adresse ip des visiteurs dans les logs d'Apache sur une vm
1. créer ce fichier /etc/apache2/conf-available/reverse-proxy.conf
mettre le contenu :
<IfModule !remoteip_module>
LoadModule remoteip_module /usr/lib/apache2/modules/mod_remoteip.so
</IfModule>
<IfModule remoteip_module>
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 192.168.1.93 2a01:4f8:10b:c42::93 2a01:4f8:10b:c41::93
LogFormat “%a %l %u %t \”%r\“ %>s %O \”%{Referer}i\“ \”%{User-Agent}i\“” combined-proxy
</IfModule>
2. activer la conf
commande qui permet d'activer la conf
a2enconf reverse-proxy
(cela va créer un lien symbolique dans /etc/apache2/conf-enabled/)
3. réutiliser combined-proxy dans le fichier de conf du site
modifier le fichier /etc/apache2/sites-enabled/wiki.chapril.org.conf
<VirtualHost *:80>
ServerName xxx.chapril.org
ServerAdmin xxx-support@chapril.org
ErrorLog ${APACHE_LOG_DIR}/xxx.chapril.org/xxx.chapril.org-error.log
CustomLog ${APACHE_LOG_DIR}/xxx.chapril.org/xxx.chapril.org-access.log combined-proxy
Installation de l'application
Récupération et extraction
Le dossier /var/www/wiki.chapril.org/ contiendra tous les fichiers pour Dokuwiki (application, configuration et données)
Récupération et extraction des fichiers de l'application Dokuwiki sur le site officiel, extraction et copie des fichiers dans le dossier wiki_admin qui contient l'application (mais ne contiendra pas les données des utilisateurs) :
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
tar -xzvf dokuwiki-stable.tgz
'cp' -af dokuwiki-xxxx-xx-xx/* /var/www/wiki.chapril.org/version/chapril-wiki-20xx-xx-xx
On crée un dossier pour les animaux /var/www/wiki.chapril.org/wiki_utilisateurs
qui contiendra les données des utilisateurs
mkdir /var/www/wiki.chapril.org/wiki_utilisateurs
plugin farmer
- Méthode graphique : Pour l'installation de l'extension farmer, on peut utiliser l'interface d'administration, il suffit de rechercher l'extension farmer, puis de l'installer.
- Méthode manuelle : Pour la méthode manuel, les fichier de l'extension farmer sont à télécharger www.dokuwiki.org/plugin:farmer et à placer dans le dossier lib/plugins/farmer (soit /var/www/wiki.chapril.org/public_html/lib/plugins/farmer)
Une fois l'extension installée, un nouveau menu permet la gestion des animaux.
Personnalisation
Favicon
Bannière Chapril
La mise en place de la bannière se fait dans l'application Dokuwiki, dans un thème nommé “chapril”.
Les fichiers à récupérer : header.html, chapril-banner-logo.png, chapril-banner.css, on les trouve ici : banner.chapril.org
Création d'un nouveau thème à partir du thème starter. Ensuite, la mise en place de la bannière Chapril se fait en déposant les fichiers dans le dossier du thème “chapril” qui se trouve ici : /var/www/wiki.chapril.org/public_html/lib/tpl/
Pied de page
Texte d'accueil
Page d'accueil du service Wiki du Chapril
Demander la création d'un wiki :
Ecrire à (enveler les *): wiki-support *@* chapril.org et préciser :
- le nom du wiki, par exemple : “Mon wiki sur les logiciels libres”
- le nom court pour l'adresse, par exemple : monwiki
- le descriptif, par exemple : documentation de mon logiciel
- le wiki sera public ou privé
Rapport d'activité mensuelle automatique
Redmine permet de créer un rapport mensuel. On indique dans un fichier de configuration le serveur et l'id à utiliser :
# cat /etc/wiki.chapril.org/wikichaprilorg.conf
REDMINE_BASE_URL=“https://agir.april.org”
REDMINE_TICKET_ID=6399
Les sources se trouve dans un dépôt sur la forge de l'April : https://forge.april.org/Chapril/wiki.chapril.org-tools.
Ce dépôt est cloné sur la vm et se trouve dans /srv/wiki.chapril.org/tools
Gestion des mises à jour
Un lien symbolique permet de passer d'un version à une autre. En cas d'échec, il est facile de revenir en arrière
Exemple de création d'un lien symbolique :
ln -s /var/www/wiki.chapril.org/versions/chapril-wiki-20xx-xx-xx/ public_html
Vérification :
ls -l
public_html → /var/www/wiki.chapril.org/versions/chapril-wiki-20xx-xx-xx/
Page pour upgrade : www.dokuwiki.org/install:upgrade
Dupliquer le dossier de la version antérieur dans un dossier portant le numéro de la nouvelle version, exemple :
cp -Ra chapril-wiki-2024-02-06a/ chapril-wiki-2024-02-06b/
Récupérer et extraire l'archive de la version courante
cd ~
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
tar zxvf dokuwiki-stable.tgz
Copier les fichiers de la nouvelle version sur le dossier dupliqué de l'ancienne version
cp -af dokuwiki-xxxx-xx-xx/* /var/www/wiki.chapril.org/versions/chapril-wiki-xxxx-xx-xx/
Mettre à jour le propriétaire de tous les fichiers avec www-data
chown -R www-data:www-data /var/www/wiki.chapril.org/versions/chapril-wiki-xxxx-xx-xx/
Si nécessaire, mettre à jour le plugin farmer en utlisant l'interface administration
Tester la nouvelle version en changeant le lien symbolique.
rm public_html
ln -s /var/www/wiki.chapril.org/versions/chapril-wiki-20xx-xx-xx/ public_html
Configuration
Journaux
Cron
Utilisation, modération, animation
Créer un compte
Pour créer un compte, on peut le faire dans l'interface en ligne. Se connecter en tant qu'administrateur sur l'instance principale, soit wiki.chapril.org, se connecter en administrateur du wiki puis suivre le chemin suivant : administrer > Extensions supplémentaires - Élevage > Ajouter un animal
Maintenant, donner un nom et choisir le type de wiki : ouvert, public ou fermé.
Création d'un nouvel animal, convention de nommage et lien symbolique.
Le lien symbolique permet de suspendre facilement un animal, pour cela on supprime le lien symbolique sans toucher au dossier.
Renommage, déplacement du dossier :
mv monpremierwiki/ 2024_monpremierwiki_01
mv 2024_monpremierwiki_01 2024/
Création du lien
ln -s année_nom _numéro/ nom
Exemple
ln -s 2024_monpremierwiki_01/ monpremierwiki
Suppression du lien
rm monpremierwiki
Supprimer un compte
Pour supprimer un compte, on peut le faire dans l'interface en ligne. Se connecter en tant qu'administrateur sur l'instance principale, puis
administrer > Extensions supplémentaires - Élevage > Supprimer un animal
Choisir l'animal dans la liste, saisir le nom de l'animal manuellement pour confirmer. Cliquer sur le bouton “Détruire l'animal et toutes ses données”.
Réception d'un courriel sur l'adresse de support ?
Le courriel du service wiki du Chapril est wiki-support@chapril.org
Parfois, des utilisateurs écrivent à cette adresse. Voici un plan de traitement :
- 1) répondre en privé :
- expéditeur :
- utiliser son courriel @april.org, c'est l'idéal,
- éviter d'utiliser une adresse GAFAM ou FAI,
- en copie :
- wiki-support@chapril.org
- contenu :
- dire qui l'on est.
Modèle de courriel de réponse :
Bonjour Ada, Je suis xxx, l'animateur bénévole du service wiki.chapril.org. Nous sommes heureux que nos services numériques libres, éthiques et loyaux puissent vous être utiles. Normalement vous devriez avoir reçu un message de création de compte avec un nom d'utilisateur et un mot de passe. [réponse complémentaire à la demande ou autre réponse] En vous souhaitant, au nom de toute l'équipe du Chapril, un agréable usage de nos services libres, éthiques et loyaux. Librement, Claver
- 2) créer un ticket :
- sujet : copiercollerlesujetducourrielavecescrochets
- description : copier/coller le courriel en anonymisant
Le xx/xx/20xx, Ada B. a écrit sur wiki-support@chapril.org : Bonjour, [...]
- ajouter en commentaire le copier/coller de votre réponse
- 3) partager
- sur chapril@ : si le sujet est pertinent : par exemple, en cas de remerciements, ça fera toujours plaisir à l'équipe
- …
Abréviations
- vm : vitual machine, machine virtuelle
- lvm : logical volume management, gestion par volumes logiques
Retour «