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
docker run -d --restart=always --name="Nginx_Dokuwiki" -p 8081:80 -v /mnt/Raid/Documents_de_Florian/Documents_NAS/Dockers/Docker_Data/Nginx_Dokuwiki/:/var/www/public -e "PUID=`id -u $USER`" -e "PGID=`id -g $USER`" -e 'GIT_EMAIL=florian.tales@laposte.net' -e 'GIT_NAME=floriantales' -e 'GIT_USERNAME=floriantales' -e 'GIT_REPO=github.com/floriantales/Nginx_Dokuwiki' -e 'GIT_PERSONAL_TOKEN=**********************************' richarvey/nginx-php-fpm:latest
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 :
#!/bin/bash echo "Mon super code" exit 0
Procédure sur le wiki de Niko : Lien
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
Modifier le fichier :
lib/plugins/ckgedit/action/edit.php
Modifier la variable à 500 pixels :
$height = isset($_COOKIE['ckgEdht']) && $_COOKIE['ckgEdht'] ? $_COOKIE['ckgEdht']: 550;
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.
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
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
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 imagemagick
(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.
Pourquoi? pour faire propre :https://www.dokuwiki.org/config:userewrite
On peut modifier depuis l'interface d'admin ou directement dans fichier local.php :
$conf['userewrite'] = '1'; $conf['useslash'] = 1;
Je choisi l'option “Web Server”, c'est à dire que c'est notre serveur web (ici Nginx) qui va devoir assurer le taf.
Lancer le docker avec une gestion de la conf Nginx. Voir en haut de ce doc. Voir aussi Nginx PHP-FPM