====== Instalación y configuración de Dokuwiki ======
===== Configuración de NGinx =====
Dokuwiki está instalada en un virtualhost de Nginx con el siguiente archivo de configuración:
server {
listen 80;
server_name wiki.hi.ee.upm.es;
root /var/www/wiki.hi.ee.upm.es;
index doku.php;
# Logs
access_log /habitat/www/log/hi/wiki.visitas.log;
error_log /habitat/www/log/errores.log;
include gzip.conf;
location / {
try_files $uri $uri/ @dokuwiki;
}
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 ^/tag/(.*) /doku.php?id=tag:$1&do=showtag&tag=tag:$1 last;
rewrite ^/(.*) /doku.php?id=$1$args last;
}
location '/.well-known' {
default_type "text/plain";
}
location ~ \.(html|php)$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
fastcgi_param REDIRECT_STATUS 200;
#fastcgi_index doku.php;
#fastcgi_param PATH_INFO $uri; #necessary for URL rewrite
fastcgi_pass unix:/run/wiki.sock;
}
include prohibido.rules;
location ~ ^/dokuwiki/(data/|conf/|bin/|inc/|install.php)/ { # secure DokuWiki
deny all;
}
# serve static files
#location ~ ^/lib/.+\.(css|gif|js|png)$ {
# root /var/www;
# expires 30d;
#}
}
Más información sobre cómo [[https://www.dokuwiki.org/install:nginx|configurar Dokuwiki en Debian bajo NGinx]].
===== Medidas de seguridad para la instalación de Dokuwiki =====
Dokuwiki utiliza archivos de texto plano para guardar los datos. Estos archivos se encuentran en la carpeta ''data/''. Para que esto no sea un agujero de seguridad hay que configurar correctamente los permisos de Dokuwiki.
sudo setfacl -d -m u::rwX,g::rX,o::- /var/www/wiki.hi.ee.upm.es
sudo chmod -R g-rwx /var/www/wiki.hi.ee.upm.es/data
sudo chmod -R o-rwx /var/www/wiki.hi.ee.upm.es/data
Más sobre [[https://www.dokuwiki.org/security#web_access_security|seguridad de Dokuwiki]].
===== Activación de rescritura de URLs =====
La rescritura de URLs es una opción del panel de administración. Para que funcione con NGinx hay que añadir al archivo de configuración del virtualhost las siguientes líneas:
location / {
try_files $uri $uri/ @dokuwiki;
}
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 ^/tag/(.*) /doku.php?id=tag:$1&do=showtag&tag=tag:$1 last;
rewrite ^/(.*) /doku.php?id=$1$args last;
}
Una vez hecho el cambio, las URLs se cambian correctamente, pero el contenido creado previamente no es editable.
==== To Do ====
La opción está desactivada por el momento, hasta que se consiga que funcione la edición en todos los contenidos.