====== Dokuwiki ======
===== Installation =====
==== À partir de l'archive officielle ====
* Installer quelques dépendances utiles ([[https://www.dokuwiki.org/start?id=fr:requirements|documentation officielle]]; [[https://packages.debian.org/jessie/dokuwiki|dépendances du paquet Debian]]) :
sudo aptitude install fonts-droid ghostscript gsfonts hicolor-icon-theme imagemagick imagemagick-6.q16 imagemagick-common libcroco3 libcupsfilters1 libcupsimage2 libcurl3 libdjvulibre-text libdjvulibre21 libfftw3-double3 libgomp1 libgs9 libgs9-common libijs-0.35 libilmbase6 libjbig2dec0 libjs-jquery-cookie libjs-jquery-ui liblcms2-2 liblqr-1-0 libltdl7 libmagickcore-6.q16-2 libmagickcore-6.q16-2-extra libmagickwand-6.q16-2 libnetpbm10 libonig2 libopenexr6 libpaper-utils libpaper1 libphp-simplepie libqdbm14 librsvg2-2 librsvg2-common libwmf0.2-7 netpbm php-geshi php-seclib php5-common php5-curl php5-intl php5-json php5-ldap php5-readline poppler-data psmisc
* Utilisation de l'archive stable fournie sur le [[http://download.dokuwiki.org/|site officiel de Dokuwiki]] :
cd /var/www/html/
sudo wget http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
sudo tar xzvf dokuwiki-stable.tgz
sudo mv dokuwiki-201*-*/ dokuwiki/
* Définition des droits :
cd /var/www/html/dokuwiki
sudo chown -R www-data:www-data data data/tmp lib/plugins lib/tpl
sudo chown www-data:www-data conf
sudo chmod -R 0755 lib
* Se rendre sur la page : https://adresse.du.serveur/dokuwiki/install.php et saisir les informations pour compléter l'installation.
* Une fois que le wiki est bien accessible, supprimer le fichier d'installation :
sudo rm -f install.php
==== Serveur web ====
Penser également à vérifier les conseils de sécurité de la documentation officielle : https://www.dokuwiki.org/security
=== Apache2 ===
Sans entrer dans les détails parce que ça nécessite une (ou plusieurs) page de documentation :
* Installer un serveur Apache2 avec le support de PHP :
sudo aptitude install apache2 php5 libapache2-mod-php5 php5-mcrypt php5-cli
* Configurer au minimum le virtual host :
ServerName wiki.domain.org
ServerAdmin super@admin
DocumentRoot /var/www/html
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
* Le site sera accessible à l'adresse http://wiki.domain.org/dokuwiki
=== Nginx ===
* Exemple de virtualhost pour Nginx + **php5-fpm** pour interpréter le php avec l'adresse http://wiki.domain.org :
server {
server_name wiki.domain.org;
listen 80;
autoindex off;
client_max_body_size 15M;
client_body_buffer_size 128k;
index index.html index.htm index.php doku.php;
access_log /var/log/nginx/wiki.domain.org.access.log;
error_log /var/log/nginx/wiki.domain.org.error.log;
root /var/www/dokuwiki;
location / {
try_files $uri $uri/ @dokuwiki;
}
location ~ ^/lib.*\.(gif|png|ico|jpg)$ {
expires 30d;
}
location = /robots.txt { access_log off; log_not_found off; }
location = /favicon.ico { access_log off; log_not_found off; }
location ~ /\. { access_log off; log_not_found off; deny all; }
location ~ ~$ { access_log off; log_not_found off; deny all; }
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 ^/(.*) /doku.php?id=$1 last;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
location ~ /(data|conf|bin|inc)/ {
deny all;
}
location ~ /\.ht {
deny all;
}
}
* Voir la documentation officielle de Dokuwiki avec Nginx pour plus d'information : https://www.dokuwiki.org/install:nginx
===== Mise à jour =====
Penser aux mises à jour d'extensions depuis l'interface web d'administration de Dokuwiki.
Le flux RSS/atom des versions de Dokuwiki permet de se tenir informé des sorties : https://github.com/splitbrain/dokuwiki/releases
==== À partir des sources ====
Quelques commandes générées à partir de la [[https://www.dokuwiki.org/start?id=fr:install:upgrade|documentation officielle pour la mise à jour]] :
* Répertoire d'installation de Dokuwiki :
DW_DIR="/srv/web/maylug.org/applications/dokuwiki"
* Sauvegarde de l'existant :
sudo cp -prauf "${DW_DIR}"{,.bkp_$(date +%y%m%d-%H%M)}
* Télécharger et extraire la dernière version :
sudo sh -c "wget http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz -O - | tar xz"
* Mettre à jour les fichiers :
NEW_DW_VERSION=$(ls -1d /var/www/dokuwiki-* | tail -n1)
sudo rsync -rlutD "${NEW_DW_VERSION}" "${DW_DIR}"
* Supprimer les fichiers qui ne sont plus nécessaires :
for line in $(cat ${DW_DIR}/data/deleted.files|\grep "^[a-z]"); do sudo rm -rf "${DW_DIR}"/"${line}"; done
* On peut ensuite supprimer d'anciennes sauvegardes inutiles,…
==== Les messages d'upgrade apparaissent encore ? ====
* Soit il faut patienter ~1 jour en laissant le temps à l'application de voir qu'elle est à jour
* Ou directement supprimer le fichier qui contient ces messages :
sudo rm -f "${DW_DIR}"/data/cache/messages.txt
==== Sources ====
* Sécurité des accès : https://www.dokuwiki.org/start?id=fr:security
* Gestion des droits : https://www.dokuwiki.org/install:permissions
* Mise à niveau : https://www.dokuwiki.org/start?id=fr:install:upgrade