Saltar al contenido

Creación básica de una wiki usando DokuWiki en Ubuntu y Debian

DokuWiki es un sistema que nos permite crear wikis simples y de forma rápida. Ni siquiera utiliza una base de datos como MySQL o PostgreSQL sino que utiliza archivos de texto planos, esto lo convierte en algo muy fácil de editar y rápido al momento de visitar.

Instalación básica

Necesitamos primero tener instalado un servidor Web y PHP y habilitar mod_rewrite con:

sudo a2enmod rewrite

Esto sirve para permitir la reescritura de direcciones. Te tendría que pedir que reiniciaras Apache:

sudo service apache2 restart

Ya que estamos utilizando este servidor Web, el directorio ROOT por defecto en las versiones actuales es /var/www/html . Nos dirigimos hacia ahí:

cd /var/www/html

Descargamos la versión estable de DokuWiki:

sudo wget http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Desempaquetamos el archivo:

sudo tar xvf dokuwiki-stable.tgz

Y le cambiamos de nombre al directorio:

sudo mv dokuwiki-*/ wiki

Recuerda que le puedes dar cualquier nombre que quieras al directorio wiki.

En Debian y Ubuntu el usuario dueño del proceso de Apache2 es www-data, entonces le damos la propiedad de este directorio a dicho usuario:

sudo chown -R www-data:www-data /var/www/html/wiki

Ya que DokuWiki escribe sus configuraciones y datos en texto plano el servidor Web debe ser capaz de escribir en su directorio.

En este punto puedes elegir la configuración del servidor que te convenga ya sea en la raíz o no, aquí voy a dejarlo en una ruta del estilo http://servidor/wiki donde servidor es la dirección URL de mi servidor, por ejemplo podría ser 192.168.1.50 o servidor.com. Para eso voy a editar un archivo:

sudo vim /etc/apache2/apache2.conf

Y al final agregaré:

Alias /wiki "/var/www/html/wiki"
<Directory "/var/www/html/wiki">
    AllowOverride All
</Directory>

La directivita AllowOverride All nos permite utilizar todas las directivas que existan en archivos .htaccess con el objetivo de controlar el comportamiento, DokuWiki lo necesita por seguridad. Recuerda que en lugar de vim puedes utilizar nano, gedit, vi, etc. cualquier editor que sea tu favorito. Al terminar de editar el archivo reiniciamos nuevamente:

sudo service apache2 restart

Vamos a un navegador e ingresamos a la dirección:

http://servidor/wiki/install.php

Nos mostrará la pantalla de instalación, aquí aparece la opción para cambiar idioma. Habilitas el ACL y configuras las opciones de instalación a tu gusto ya que todas son bastante explícitas. Creo que la de la Política del ACL es la más importante ya que aquí decides qué tipo de wiki vas a tener.

Luego de que has terminado de elegir las opciones y llenar tus datos, das click a Guardar. Y si todo está bien te dirá que puedes eliminar el archivo de instalación, esto se hace con:

sudo rm /var/www/html/wiki/install.php

Hasta aquí es la instalación básica de DokuWiki, puedes ir a http://servidor/wiki y acceder con tus credenciales.

Seguridad y extras

Ahora bien, ya que hemos habilitado la opción de ejecutar todas las directivas en archivos .htaccess, vamos a habilitar el archivo recomendado. Asumiendo que aún estamos dentro de /var/www/html:

cd wiki sudo mv .htaccess.dist .htaccess sudo vim .htaccess

Dentro del archivo existen descripciones para las opciones por defecto que ofrecen. Podemos remover los comentarios (#) de las opciones Rewrite, esto nos permite tener URL más atractivas. Y en RewriteBase cambiar de /dokuwiki a /wiki ya que hemos modificado el nombre del directorio. Si removemos los comentarios a las opciones Rewrite, hay que editar el archivo:

sudo vim conf/local.php

Y al final del archivo agregar:

$conf['userewrite'] = 1;

Esto permite que el servidor Web gestione las reescrituras de las direcciones. Entonces las direcciones pasarán de esto:

http://servidor/wiki/lib/exe/fetch.php?media=imagen.png

a esto:

http://servidor/wiki/_media/wiki:imagen.png

Espero que esta guía te sirva, hace unas semanas tuve que realizar algo similar como soporte de documentación para un sistema en donde trabajo y me pareció una muy buena herramienta.