dokuwiki.configdo-edit

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

dokuwiki.configdo-edit.txt · Última modificación: 2018/03/31 17:16 por root