Crear una granja de wikis en dominios virtuales con Dokuwiki

Introducción

Dokuwiki es un excelente software para la implementación de sitios wiki en internet.  Una de las facilidades que tiene y que había experimentado sin éxito hasta ahora, es la creación de granjas de wikis que permiten tener una única instalación del software (farm) y a partir de ella crear diferentes wikis (animals) independientes con las ventajas que trae consigo la centralización de la distribución para actualizaciones e instalación de plantillas y complementos.

La instalación de la granja puede realizarse de dos maneras: mediante virtual hosts que permiten utilizar cualquier tipo de dominio o subdominio o mediante el uso de archivos ”.htaccess” que sólo permiten utilizar subdirectorios bajo un dominio específico.  La presente documentación detalla el procedimiento para crear una granja de wikis con Dokuwiki utilizando virtual hosts.

Procedimiento

Instalación de Dokuwiki

El primer paso consiste en realizar una instalación convencional de Dokuwiki en una ubicación que sea pública para el servidor web.  Para efectos de este ejercicio esta instalación se realizó bajo la ruta /home/jimezam/public_html/wiki.

Activación de la granja

A continuación se debe activar el modo farm en el wiki recién instalado copiando y modificando el archivo preload.php.

$ cp ~/public_html/wiki/inc/preload.php.dist ~/public_html/wiki/inc/preload.php

$ vi ~/public_html/wiki/inc/preload.php

    // set this to your farm directory
    if(!defined('DOKU_FARMDIR')) define('DOKU_FARMDIR', '/home/jimezam/farm/');

    // include this after DOKU_FARMDIR if you want to use farms
    include(fullpath(dirname(__FILE__)).'/farm.php');

La ubicación establecida como la constante DOKU_FARMDIR deberá corresponder con el directorio bajo el cual se ubicarán los archivos de datos de los wikis que se creen en la granja.  En este caso los animales estarán almacenados bajo/home/jimezam/farm.  Es preferible que esta ubicación se encuentre por fuera del árbol de directorios publicados con el servicio web o se impida su acceso directo mediante el uso de .htaccess.

Si no se cuenta con una versión reciente de Dokuwiki es posible que los archivos farm.php y preload.dist.php no se encuentren disponibles, en ese caso es posible descargarlos de su sitio web.

Creación de un nuevo Dominio

Los sitios wiki a crearse en la granja deberán ubicarse bajo los dominios o subdominios deseados.  Para la creación de estos se deberán utilizar las herramientas convencionales, la única restricción consiste en que la configuración de todos los virtual host de Apache hagan referencia a la instalación de Dokuwiki como su DOCUMENT_ROOT.

NameVirtualHost *

<VirtualHost *>
    # this is the URL of your wiki animal
    ServerName miWiki.miDominio.com
    # the document root always needs to be the DokuWiki *farmer* directory
    DocumentRoot /home/jimezam/public_html/wiki/
</VirtualHost>

 Creación de un wiki (desde cero)

Para crear un nuevo wiki desde cero en la granja se debe crear un directorio bajo el DOKU_FARMDIR cuyo nombre coincida con el del dominio que se utilizará para accederlo.

En esta ubicación se deberá descomprimir el contenido de la plantilla de los animales.

$ cd /home/jimezam/farm

$ wget https://www.dokuwiki.org/_media/dokuwiki_farm_animal.zip --no-check-certificate

$ unzip dokuwiki_farm_animal.zip

$ mv _animal miWiki.miDominio.com

Configuración del nuevo wiki

Para configurar el wiki recién creado acceda normalmente al dominio especificado utilizando un navegador web autentíquese con el usuario admin cuya contraseña es admin también y realice las acciones de configuración necesarias.

También es necesario ajustar la configuración de las listas de control de acceso (ACL) bajo Admin > Access Control List Management ya que por defecto el animal permitirá la consulta (read) y escritura (edit) pública lo que rápidamente atraerá a SPAM bots.

Por ejemplo, si desea que la wiki pueda ser consultada libremente por los usuarios pero que sólo los usuarios registrados y autenticados puedan modificarla debería ajustar sus ACL de la siguiente manera propuesta.

Dokuwiki ACL

Consideraciones de seguridad

Se debe tener en cuenta que una vez finalizado el procedimiento se termina con dos wikis: el primero corresponderá con la granja y el segundo con el animal recién creado.  En ambos casos es recomendable que como mínimo realice su configuración básica y ajuste la contraseña del usuario admin según considere prudente.

Enlaces

Leave a Reply

Your email address will not be published. Required fields are marked *