Table des matières
Dokuwiki
Installation docker
J'utilise l'excellent docker NGinx/PHP.
Lancement simple
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
Lancement avec gestion de la conf Nginx
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
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/action/edit.php
Modifier la variable à 500 pixels :
$height = isset($_COOKIE['ckgEdht']) && $_COOKIE['ckgEdht'] ? $_COOKIE['ckgEdht']: 550;
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
Sidebar plus large
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 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.
Réécriture propre d'url : Activation du mode rewrite
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