{{ :informatique:docker:dokuwiki:doku.png?nolink&}}
====== Dokuwiki ======
===== Installation docker =====
J'utilise l'excellent docker [[:informatique:docker:nginx_php|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 [[https://github.com/rwinscot/geshi-arduino|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
=== Ajout icones wrap dans ckgedit ===
Procédure sur le wiki de Niko : [[https://billbok.hd.free.fr/wiki/doku.php?id=nas-ubuntu:docker:wiki#install_plugins|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 : \\ Ajouter le paramètre de configuration ''b.enterMode=2'' dans le fichier de configuration : \\ ''lib/plugins/ckgedit/ckeditor/config.js''
Documentation associée : [[http://docs.ckeditor.com/#!/api/CKEDITOR.config|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 dans :
lib/tpl/dokuwiki/main.php
lib/tpl/dokuwiki/detail.php
Penser à ajuster et vérifier l'indexation de son site via [[https://www.google.com/webmasters/tools/home?hl=fr|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|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 :\\
{{:informatique:docker:dokuwiki:selection_095.png?nolink&800x100}}\\
\\
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|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. [[http://doku.floriantales.fr/informatique/docker/dokuwiki#lancement_avec_gestion_de_la_conf_nginx|Voir en haut de ce doc]]. Voir aussi [[:informatique:docker:nginx_php|]]
~~socialite~~