====== 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.