Outils pour utilisateurs

Outils du site


informatique:docker:dokuwiki

Ceci est une ancienne révision du document !


Dokuwiki

Installation docker

J'utilise l'excellent docker NGinx/PHP.

docker run -d --restart=always --name="Nginx_Dokuwiki" -p 8081:80 -e "PUID=`id -u florian`" -e "PGID=`id -g florian`" -v /mnt/Raid/Documents_de_Florian/Documents_NAS/Dockers/Docker_Data/Nginx_Dokuwiki/:/var/www/html richarvey/nginx-php-fpm

Plugins

Plugins installés

  • Add New Page
  • Ckgedit
  • Gallery Plugin
  • Indexmenu Plugin
  • Move Plugin
  • Wrap Plugin
  • Meta Plugin (Modification du Title de la page d'accueil pour un aspect personnalisé sur la recherche google)
  • Socialite plugin
  • Video Sharing Site Plugin

Optimisation pour le plugin Ckgedit

Ajouter la coloration syntaxique Arduino

Récupérer sur github le code php a copier dans :
vendor/easybook/geshi/geshi/

Rappel: pour activer geshi dans un bloque de code, ajouter en en tête : geshi: type_de_code nom_du_fichier
Exemple :

script.sh
#!/bin/bash
 
echo "Mon super code"
exit 0

Ajout icones wrap dans ckgedit

Procédure sur le wiki de Niko : Lien

Modifier le comportement du retour chariot de ckgedit

Par défaut le retour chariot créé un nouveau paragraphe. Afin de faire un retour à la ligne simple de type </br> :
Ajouter le paramètre de configuration b.enterMode=2 dans le fichier de configuration :
lib/plugins/ckgedit/ckeditor/config.js

Documentation associée : CKEDITOR.config


Penser à vider le cache du navigateur

Ajuster la hauteur par défaut de la fenêtre d'édition

Modifier le fichier :
lib/plugins/ckgedit/edit.php

J'ai mis 500 pixels :

Intégration Google Analytics

Ajouter le js code en vigueur proposé par Google avant la balide </head> dans :

lib/tpl/dokuwiki/main.php
lib/tpl/dokuwiki/detail.php

Penser à ajuster et vérifier l'indexation de son site via Google Search Console.

Optimisation du template

Largeur en pleine page

Pour que les pages s'affichent au maximum de la largeur du navigateur :

Dans lib/tpl/dokuwiki/style.ini

__site_width__      = "100%"            ; @ini_site_width

Dans lib/tpl/dokuwiki/style.ini

__sidebar_width__   = "18em"            ; @ini_sidebar_width

Sécuriser son répertoire data dans le docker Nginx

Modifier le fichier de conf /etc/nginx/sites-enabled/default.conf

location ~ ^/(data|conf|bin|inc)/ {
   deny all;
    }

Plus d'info : https://www.dokuwiki.org/security#web_access_security

Forcer le mode progressif des miniatures photo

Pour un affichage plus rapide des photos pour l'utilisateur, on force la création de miniatures en cache en mode progressif :
Installer imagemagik dans le docker : apk add imagemagik (pour alpinelinux)
Configurer le lien du binaire convert dans l'interface :


On force la conversion avec le paramètre -interlace Plane
Si l'interface de configuration interdit l'ajout de paramètres à convert, modifier à la main le fichier conf/local.php :
$conf['im_convert'] = '/usr/bin/convert -interlace Plane';


Penser à purger tout le cache pour recréation des miniatures.

Et ensuite ?


Quelques prises de notes rapides pour

  • la mise en place d'un sous domaine : sombre idée de vouloir mettre en place un nom de domaine dédié ovh avec des sous domaines pointant sur différents dockers par l'intermediaire de Traefic Reverse Proxy
  • la réécriture propre d'url → pour faire … propre



Réécriture propre d'url : Activation du mode rewrite

https://www.dokuwiki.org/config:userewrite
On peut modifier le fichier local.php :

$conf['userewrite'] = '1';
$conf['useslash'] = 1;


Il faut adapter la conf Nginx, un test qui fonctionne :
C'est un mix de la conf proposée par dokuwiki et celle en place pour le docker de ric_harvey :
https://www.dokuwiki.org/rewrite
https://gitlab.com/ric_harvey/nginx-php-fpm/blob/master/conf/nginx-site.conf

server {
listen 80; server_name floriantales.hd.free.fr; #maximum file upload size is 4MB - change accordingly if needed client_max_body_size 4M; client_body_buffer_size 128k;
root /var/www/html; index doku.php;
location / { try_files $uri $uri/ @dokuwiki; }

location @dokuwiki {
rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;\\
rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
rewrite ^/(?!lib/)(.*) /doku.php?id=$1&$args last;
}
location ~ \.php$ {
try_files $uri =404;\\
if (!-f $request_filename) { return 404; }
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_index doku.php;
include fastcgi_params;
}
}


Il va falloir modifier la façon de gérer le docker en passant la conf du docker sous GIT : https://gitlab.com/ric_harvey/nginx-php-fpm/blob/master/docs/nginx_configs.md
Pour le test je modifie directement /etc/nginx/sites-enabled/default.conf

Un sous domaine chez OVH :
On fait un CNAME dans la conf DNS d'OVH :
doku IN CNAME floriantales.fr.

informatique/docker/dokuwiki.1547048075.txt.gz · Dernière modification : 2025/01/14 11:19 (modification externe)