====== 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]]) : <code bash> 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 </code> * Utilisation de l'archive stable fournie sur le [[http://download.dokuwiki.org/|site officiel de Dokuwiki]] : <code bash> 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/ </code> * Définition des droits : <code bash> 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 </code> * 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 : <code bash> sudo rm -f install.php </code> ==== 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 : <code bash> sudo aptitude install apache2 php5 libapache2-mod-php5 php5-mcrypt php5-cli </code> * Configurer au minimum le virtual host : <hidden Cliquer pour afficher le vhost Apache2><file bash /etc/apache2/sites-enabled/000-default.conf> <VirtualHost *:80> ServerName wiki.domain.org ServerAdmin super@admin DocumentRoot /var/www/html <Directory /var/www/html> Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> </file> </hidden> * 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 : <hidden Cliquer pour afficher le vhost Nginx><file bash /etc/nginx/sites-enabled/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; } } </file> </hidden> * Voir la documentation officielle de Dokuwiki avec Nginx pour plus d'information : https://www.dokuwiki.org/install:nginx ===== Mise à jour ===== <note tip>Penser aux mises à jour d'extensions depuis l'interface web d'administration de Dokuwiki.</note> 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 : <code bash> DW_DIR="/srv/web/maylug.org/applications/dokuwiki" </code> * Sauvegarde de l'existant : <code bash> sudo cp -prauf "${DW_DIR}"{,.bkp_$(date +%y%m%d-%H%M)} </code> * Télécharger et extraire la dernière version : <code bash> sudo sh -c "wget http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz -O - | tar xz" </code> * Mettre à jour les fichiers : <code bash> NEW_DW_VERSION=$(ls -1d /var/www/dokuwiki-* | tail -n1) sudo rsync -rlutD "${NEW_DW_VERSION}" "${DW_DIR}" </code> * Supprimer les fichiers qui ne sont plus nécessaires : <code bash> for line in $(cat ${DW_DIR}/data/deleted.files|\grep "^[a-z]"); do sudo rm -rf "${DW_DIR}"/"${line}"; done </code> * 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 : <code bash> sudo rm -f "${DW_DIR}"/data/cache/messages.txt </code> ==== 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