====== Service wiki.chapril.org ====== {{ :wiki:dokuwiki.svg |Logotype de DokuWiki}} ===== 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 partie 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 à l’adresse ''wiki-support@chapril.org''. Il faut alors : * Choisir le nom court pour l'adresse ((Par exemple ''monpremierwiki'' pour ''%%https://wiki.chapril.org/!monpremierwiki%%''.)) ; * Donner un titre ; * Décrire, dans le cas d'un site public, l'objet du site ; * Indiquer la licence. Retrouvez la page de présentation du service sur le site [[https://www.chapril.org|www.chapril.org]] : [[https://www.chapril.org/-services-.html|www.chapril.org/-services-.html]]. Site principal DokuWiki : [[https://www.dokuwiki.org|www.dokuwiki.org]]\\ Téléchargement DokuWiki : [[https://download.dokuwiki.org/|download.dokuwiki.org]]\\ Sources DokuWiki : [[https://github.com/dokuwiki/dokuwiki|github.com/dokuwiki/dokuwiki]]\\ Page de l'extension Farmer : [[https://www.dokuwiki.org/plugin:farmer|www.dokuwiki.org/plugin:farmer]]\\ Source de l'extension Farmer : [[https://github.com/cosmocode/dokuwiki-plugin-farmer|github.com/cosmocode/dokuwiki-plugin-farmer]]\\ Machine virtuelle Chapril pour ce service : **wiki.cluster.chapril.org**\\ Page principale du service wiki Chapril: [[https://wiki.chapril.org/|wiki.chapril.org]]\\ Exemple d'animal de la ferme : [[https://wiki.chapril.org/!monpremierwiki/|wiki.chapril.org/!monpremierwiki]]\\ ==== Aspects techniques ==== === Serveur Web === Le serveur Web est Apache 2. === 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 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 ; * 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 [[admin:procedures:creation_machine_virtuelle|Création d'une machine virtuelle « bling »]]. ==== Pré-requis ==== Pré-requis : [[https://www.dokuwiki.org/install:php|Page de documentation d'installation sur le site dokuwiki.org]]. ==== Apache ==== {{:admin:services:wiki:asf_logo.png?nolink&200|Logotype de l’Apache Software Foundation}} Les commandes d'installation d'Apache 2 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 ==== === Montage actuel === Création d'un volume logique ''donnees_utilisateurs'' avec LVM : lvcreate -n donnees_utilisateurs -L 10g vgmain Ce volume est formaté en ''ext4'' : mkfs -t ext4 /dev/vgmain/donnees_utilisateurs Création du répertoire de montage ''wiki_utilisateurs/'' et modification du fichier ''/etc/fstab'' pour le montage automatique du répertoire : mkdir -p /var/www/wiki.chapril.org/wiki_utilisateurs vim /etc/fstab /dev/mapper/vgmain-donnees_utilisateurs /var/www/wiki.chapril.org/wiki_utilisateurs ext4 defaults 0 2 Enfin montage manuel : mount -a === Montage obsolète === Cette autre procédure de montage est obsolète : mkdir /srv/wiki_utilisateurs vim /etc/fstab /dev/mapper/vgmain-donnees_utilisateurs /srv/wiki_utilisateurs ext4 defaults 0 2 mount -a === Contrôle du montage === 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 ==== === Hôte virtuel === Création d'un hôte virtuel en créant le fichier ''/etc/apache2/sites-available/wiki.chapril.org.conf''. Puis édition de ce fichier avec pour contenu ci-dessous : ServerName wiki.chapril.org DocumentRoot "/var/www/wiki.chapril.org/public_html" Options +FollowSymLinks AllowOverride all Require all granted 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 Activation du site : a2ensite wiki.chapril.org On recharge ensuite la configuration d'Apache : systemctl reload apache2 === Reverse Proxy === == Configuration == On configure pour afficher l’adresse IP des visiteurs dans les logs d’Apache dans la VM. D’abord on crée le fichier ''/etc/apache2/conf-available/reverse-proxy.conf''. On l’édite comme suit : LoadModule remoteip_module /usr/lib/apache2/modules/mod_remoteip.so 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 == Activation == On active la configuration : a2enconf reverse-proxy Cela va créer un lien symbolique dans ''/etc/apache2/conf-enabled/''. == Combined Proxy == On réutilise ''combined-proxy'' dans le fichier de configuration du site. On édite ''/etc/apache2/sites-enabled/wiki.chapril.org.conf'' : 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 répertoire ''/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) : \\ On récupère et extrait les fichiers de l’application DokuWiki [[https://download.dokuwiki.org/|depuis le site officiel]]. On extrait de l’archive puis copie ces fichiers dans le répertoire ''wiki_admin/'' : 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 Ce dernier contiendra l’application sans les données des utilisateurs. On crée le répertoire ''/var/www/wiki.chapril.org/wiki_utilisateurs/'' pour les animaux : mkdir /var/www/wiki.chapril.org/wiki_utilisateurs Il contiendra les données des utilisateurs. ==== Plugin Farmer ==== {{:admin:services:wiki:dwplugin.png?direct&80|Logotype de DokuWiki}} === 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 manuelle, les fichier de l'extension ''farmer'' sont à télécharger depuis [[https://www.dokuwiki.org/plugin:farmer|www.dokuwiki.org/plugin:farmer]] et à placer dans le répertoire ''lib/plugins/farmer/''((Soit le chemin absolu ''/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 ==== {{ :admin:services:wiki:favicon.ico |Favicon du Chapril}} Le //favicon// est à placer dans ''/var/www/wiki.chapril.org/public_html/lib/tpl/chapril/images/''. ==== 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 sont : * ''header.html'' ; * ''chapril-banner-logo.png'' ; * ''chapril-banner.css''. On les trouve dans le site Web démonstratif [[https://banner.chapril.org/Chapril-banner/v2/index.html|banner.chapril.org]]. On crée un nouveau thème à partir du thème ''starter''. Ensuite, la mise en place de la bannière du Chapril se fait en déposant les fichiers dans le répertoire du thème ''chapril'', soit ''/var/www/wiki.chapril.org/public_html/lib/tpl/''. ==== Pied de page ==== TODO ==== Texte d'accueil ==== Pour construire la page d’accueil du service Wiki du Chapril demander la création d'un wiki. Écrire un courriel à ''wiki-support@chapril.org'' et préciser : * Le nom du wiki comme //Mon wiki sur les logiciels libres// ; * Le nom court pour l'URL d’accueil comme ''monwiki'' ; * Le descriptif comme //Ceci est la documentation de mon logiciel// ; * L’accès du wiki : //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 trouvent dans un dépôt de 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 place 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 mettre à niveau : [[https://www.dokuwiki.org/install:upgrade|www.dokuwiki.org/install:upgrade]]. On duplique le répertoire de la version antérieure dans un répertoire 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 répertoire dupliqué de l'ancienne version((Le ''\'' évite d'utiliser l'alias ''cp'' qui est ''cp='cp -i%%'%%'' et qui rend la commande interactive.)) : \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 l’extension ''farmer'' en utilisant l'interface d’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 ==== TODO ==== Cron ==== TODO ===== 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 [[https://wiki.chapril.org/|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é//. Choisir "copier d'un animal existant" avec comme choix dans le menu déroulant "mon premier wiki" {{:admin:services:wiki:wiki_grefon_farmer.jpg?direct&400|Logotype de l’extension Farmer}} ==== 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 répertoire. Renommage puis déplacement du répertoire : mv monpremierwiki/ monpremierwiki_01 mv 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. Cela permet de désactiver un site sans effacer les données : 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 au support ==== Le courriel du service Wiki du Chapril est ''wiki-support@chapril.org''. Parfois, des utilisateurs écrivent à cette adresse. Voici un plan de traitement. === Répondre en privé === L’expéditeur doit : * Utiliser son courriel ''@april.org'', c'est l'idéal ; * Éviter d'utiliser une adresse courriel d’un GAFAM ou d’un FAI ; * Placer en copie ''wiki-support@chapril.org'' ; * Préciser en contenu qui l'on est. Modèle du 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 === Créer un ticket === Un ticket a : * Pour sujet ''copiercollerlesujetducourrielavecescrochets'' ; * Pour description //copier/coller le courriel en anonymisant// ; * Ajouter en commentaire le copier/coller de votre réponse. Extrait de courriel anonyme : Le xx/xx/20xx, Ada B. a écrit sur wiki-support@chapril.org : Bonjour, [...] === Partager === 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// ou [[https://fr.wikipedia.org/wiki/Machine_virtuelle|machine virtuelle]]. LVM : Logical Volume Management ou [[https://fr.wikipedia.org/wiki/Gestion_par_volumes_logiques|gestion par volumes logiques]].