Instalación DokuWiki

En esta página vamos a describir –en detalle– el procedimiento de instalación y configuración inicial de DokuWiki en nuestros servidores.

La presente, corresponde a la instalación de la última versión estable disponible en el sitio oficial

1. Arrancar la página wiki

  1. Bajar el archivo comprimido que tiene un nombre como dokuwiki 20xx-xx-xx.zip que se supone es la última versión estable emitida del software DokuWiki. Bajarlo desde ésta página, donde el autor ofrece las últimas versiones, estables o beta del producto. Debemnos tener cuidado, en este caso, seleccionar la última versión estable.
  2. Descomprimirlo en una carpeta transitoria de origen que llamaremos C:/…/dokuwiki, que llamaremos en lo sucesivo C/DW. A partir de éste, se va a transferir toda la estructura de archivos al server de hosting que tengamos contratado.
  3. Crear una carpeta destino para la estructura completa en el server de hosting, por ejemplo con el nombre (corto) ./dkw/.
  4. Con un cliente FTP efectuar la transferencia C:/DW hacia ./dkw/.
  5. Dar permisos de escritura a la carpeta ./dkw/data y a todas las subcarpetas contenidas.
  6. Asegurarse de la presencia del archivo ./dkw/data/changes.log que, para una instalación nueva (no actualizada), debe tener tamaño 0 (cero). Darle también los permisos de escritura a este archivo.
  7. En el directorio transitorio de nuestra PC, editar el archivo C:/DW/dkw/conf/local.php.dist con los datos requeridos, salvarlo como C:/DW/dkw/conf/local.php (eliminar dist) y finalmente transferirlo a ./dkw/conf/local.php.
  8. Efectuar la prueba inicial arrancando http://www.rdvs.com.ar/dkw/
  9. Si aparece la página y podemos registrarnos a través de su formulario y todo funciona bien; pasamos a la siguiente sección.

2. Configuración del wiki, archivo "./conf/local.php"

La totalidad de este documento ha sido traducido de la página de configuración oficial de DokuWiki. Aquí nos concentraremos en la modificación de variables a través del archivo ./conf/local.php. La configuración es una ardua tarea que debe hacerse en este archivo, por secciones. Cada sección será identificada mediante comentarios.

a. Conservación de datos y permisos de archivos

En cada fila se da su explicación:

/* Conservación de datos y permisos */
$conf['umask']     = 0111;      // 0111 establece umask para nuevos archivos con permiso 0666
$conf['dmask']     = 0002;      // 0000 directory mask accordingly 0777 (0002 -» 0666)
$conf['umask']     = 0111;      // 0111 estables la umask para archivos nuevos como 0666
$conf['dmask']     = 0000;      // 0000 máscara para nuevos directorios 0777
$conf['lang']      = 'es';      // 'en' lenguaje de la interfase
$conf['basedir']   = '/dkw/';   // '' relative dir to serveroot, en blanco para autodetección
$conf['baseurl']   = '';        // URL to server including protocol - blank for autodetect
$conf['datadir']   = './data';  // './data' donde se guardan los datos
$conf['savedir']   = './data';  // donde se guardan todos los archivos de datos
$conf['olddir']    = './data/attic';        // donde guarda las revisiones viejas
$conf['mediadir']  = './data/media';        // donde se guardan los archivos media
$conf['changelog'] = './data/changes.log';  // ubicación del archivo de cambios

b. Opciones de display

Configuración de variables que permiten mostrar objetos del programa.

/* Display Options */
$conf['start']       = 'principal';   // 'start' name of start page
$conf['title']       = utf8_encode("Raúl Vera"); 
$conf['logo']        = '<img src="./conf/raulvera3.jpg" alt="Logo Raul Vera." />'; // Imagen logo arriba derecha
$conf['template']    = 'sidebar';     // 'default' tpl/default/ directory
$conf['fullpath']    = 1;             // 0 show full path of the document or relative to datadir only? 0|1
$conf['recent']      = 30;            // 20 número de entradas recientes a mostrar
$conf['breadcrumbs'] = 5;             // 10 how many recent visited pages to show
$conf['typography']  = 1;             // 1 convert quotes, dashes and stuff to typographic equivalents? 0|1
$conf['htmlok']      = 1;             // 0|1 habilita HTML embedded? This may break layout and XHTML
$conf['phpok']       = 0;             // 0 may PHP code be embedded? Never do this on the internet! 0|1
$conf['dformat']     = 'd.m.y H.i';   // 'Y/m/d/Y H:i' dateformat accepted by PHPs date() function
$conf['signature']   = '**[[@MAIL@|@USER@]]** //@DATE@//'; // Original ' --- //[[@MAIL@|@NAME@]] @DATE@//' signature see wiki:config for details
$conf['maxtoclevel'] = 5;             // 3 Up to which level include into AutoTOC (max. 5)
$conf['maxseclevel'] = 3;             // 3 Up to which level create editable sections (max. 5)
$conf['camelcase']   = 1;             // 0|1 No|Si Use CamelCase for linking?
$conf['deaccent']    = 1;             // 1 convert accented chars to unaccented ones in pagenames?
$conf['useheading']  = 0;             // 0 use the first heading in a page as its name

c. Características antispam

Configuración de variables que permiten complicar la tarea de los spammers.

/* Antispam Features */
$conf['usewordblock']= 1;          // 1 block spam based on words? Blacklistas 0|1
$conf['indexdelay']  = 60*60*24*7; // 60*60*24*5 (5 días) indexar después de este tiempo seg
$conf['relnofollow'] = 1;          // 1 use rel="nofollow" for external links?
$conf['mailguard']   = 'visible';  // 'hex' obfuscate email addresses against spam harvesters?
                       //  'visible' - reemplaza @ con [at], . con [dot] y - con [dash]
                       //  'hex'     - usa hex para codificar el email
                       //  'none'    - no enmascara el email

d. Opciones de autenticación

Configuración de variables que permiten complicar la tarea de los spammers.

/* Authentication Options */
$conf['useacl']      = 1;                  // 0|1 No|Sí Control de acceso
$conf['openregister']= 1;                  // 0|1 No permitir|Permitir al usuario registrarse
$conf['autopasswd']  = 1;                  // 0|1 user defined password|automatically generated passwords
$conf['authtype']    = 'plain';            // 'plain' which authentication DB should be used (currently plain only)
$conf['passcrypt']   = 'smd5';      	   // Used crypt method (smd5,md5,sha1,ssha,crypt,mysql,my411)
$conf['defaultgroup']= 'miembros';         // 'user' Default groups new Users are added to
$conf['superuser']   = '@administradores'; // '!!not set!!' The admin can be username or @grupo (@administradores)
 
# Enable to send the randomly generated password to user's mailbox. This is DokuWiki's default behavior.
$conf['send_password'] = 1;
 
# Disable to allow user to specify the password to use.
# $conf['send_password'] = 0;

3. Personalización del ambiente wiki

Esta página está destinada a personalizar el uso de este ambiente de escritura colaborativa, a través de innumerables trucos aplicados al código original del DokuWiki, instalado.

Iremos progresivamente haciendo modificaciones a nuestro gusto, basádonos principalmente en nuestras particulares necesidades de trabajo colaborativo a partir del abanico de posibilidades que nos ofrecen las plantillas (templates) y los plugins (enchufes) disponibles desde innumerables sitios colaboradores de DW. Todo esto -también- sin perjuicio de aplicar modificaciones simples y directas a los códigos originales según nuestros deseos.

En cualquier momento podremos retornar, desde aquí o desde cualquier otra página, a nuestra página de inicio de origen.

16º Obtener emoticones

8-)8-)icon_cool.gif
8-O8-Oicon_eek.gif
8-o8-oicon_eek.gif
:-(:-(icon_sad.gif
:-):-)icon_smile.gif
=) =)icon_smile2.gif
:-/:-/icon_doubt.gif
:-\:-\icon_doubt2.gif
:-?:-?icon_confused.gif
:-D:-Dicon_biggrin.gif
:-P:-Picon_razz.gif
:-o:-oicon_surprised.gif
:-O:-Oicon_surprised.gif
:-x:-xicon_silenced.gif
:-X:-Xicon_silenced.gif
:-|:-|icon_neutral.gif
;-);-)icon_wink.gif
:?::?:icon_question.gif
:!::!:icon_exclaim.gif
LOLLOL icon_lol.gif
FIXMEFIXMEfixme.gif
DELETEMEDELETEMEdelete.gif

15º Cómo obtener caracteres especiales

En este caso se trata más bien de un truco antes que de un recurso formal. Si necesitamos escribir algunos caracteres especiales (, , , , µ…), sin aplicar ningún recurso (plugin) de DokuWiki que pudiera instalarse; disponemos de un recurso sencillo e invalorable.

Obtener caracteres especiales:

Ir a una página de edición de Word y escribir los caracteres especiales allí, aplicando incluso el recurso de obtener estos caracteres desde Menú|Insertar|Símbolo…; luego copiarlos en memoria para finalmente depositarlos dentro del formulario de edición de DW. Así de sencillo.

Posteriormente veremos la manera de aplicar un plugin que permita hacer esto de una manera más cómoda, integrado al ambiente de edición.

14º Enlace para editar directamente una página

Si necesitamos escribir un enlace que nos lleve directamente al formulario de edición de una página cuyo nombre se conoce, escribimos, esto:

Enlace para ir directamente a la edición de una página:

[[http://rdvs.com.ar/dkw/doku.php?id=pagina&do=edit|Editar esta página]]

  • Debemos notar la secuencia ?id=pagina&do=edit que es la que marca el detalle.
  • En donde pagina es el nombre conocido de la página que queremos editar. El formulario de edición se abrirá, según la variable target, en una nueva e independiente página web.
  • El modo de apertura de páginas web puede controlarse colectivamente mediante la variable target (configurable en local.php). Para consultar el estado de todas las variables configuradas con sus correspondientes valores, consúltese la opción Configurar variables, de la sección Este wiki, de nuestro MENÚ (columna izquierda).

13º Modificar la alineación de textos por defecto

DokuWiki nos presenta una alineación de textos justificada, pero la verdad es que no queda muy agradable para la presentación en pantalla de los textos. Aparecen muchos espacios en blanco que da un aspecto final pobre.

Siempre será mejor tener un texto justificado por la izquierda (left), al permitir un relleno uniforme de los espacios interliterales, al tiempo de favorecer el retorno de la visión durante el proceso de lectura, al tratarse de párrafos que ocupan -normalmente- todo el ancho de la pantalla.

Para modificar esta característica por defecto, debemos modificar el valor justify por el de left en el archivo de estilo de la plantilla (template) que se aplicó (sidebar). Para ello nos vamos al archivo: \lib\tpl\sidebar\design.css para modificarlo en la sección /* the document */:

/* the document */
div.page {
  margin-top:   4px;
  margin-left:  1em;
  margin-right: 2em;
  text-align:   left; /* original: justify; */
}

Luego de grabar la modificación, solo nos resta subir el archivo al servidor.

12º Cómo habilitamos los códigos HTML

El código HTML es el que se aplica en la creación de toda página web. Es justamente mediante este código que encontraremos la solución para el tamaño, el color y las tipografías, de la mano del código HTML incrustado dentro de las páginas wikis.

Se obtiene configurando la variable $conf['htmlok'] = 1; en el archivo local.php. Luego debemos encerrar entre dos tags <html>...</html> la parte del texto que deba ser interpretado como tal.

11º ¿Por qué la Tabla de Contenidos desaparece?

La Tabla de Contenidos (en lo sucesivo TOC) es una lista de la estructura de títulos de un documento wiki. Es aplicada en un documento extenso que necesita de algún medio que permita una navegación más cómoda.

¡Cuidado!, la TOC aparece solo cuando se han creado un mínimo de 3 (tres) títulos (en cualesquiera de sus diferentes niveles) y no aparece en caso contrario1).

No obstante, véase que -si se desea- puede eliminarse la generación automática de la Tabla de Contenidos mediante la metavariable ~~NOTOC~~, la que debería ser colocada siempre en la primera fila y primera columna del documento en el modo edición; pero solo con intención de verificar su presencia rápidamente. Sin embargo yo necesito que me aparezca esa tabla, por eso no la deshabilito ahora a la TOC.

Una advertencia adicional da cuenta de que es posible pulsar en el triángulo negro que aparece a la derecha del título de la TOC, si lo que deseamos es contraer la tabla. Esto queda puesto en evidencia porque el triángulo negro está indicando hacia arriba (replegada), es porque el operador ha cerrado la tabla (querrá despejar el texto). Cuando este tringulito indica hacia abajo ▼, es obvio que la tabla se despliega totalmente.

10º Cómo eliminar la memoria caché y las cookies

Esto es lo que debe hacerse en las computadoras de laboratorios y ciber cafés donde cada máquina es usada por muchas personas. En este caso la memoria de captura (o caché) nos complica la existencia empecinándose en mostrarnos páginas que cambian pero que no reflejan esos cambios.

Si la persona entra como Alumno, puede editar sin problemas. El asunto es así: el alumno antes de [Entrar] a este ambiente, tiene que ir a su navegador:

Internet Explorer

  1. Ir a Herramientas|Opciones de Internet..| y pulsar el botón [Eliminar cookies],
  2. Ir a Herramientas|Opciones de Internet..| y pulsar el botón [Eliminar archivos] marcando la casilla Eliminar todo el contenido sin conexión.

Mozilla Firefox

De esta manera habremos de limpiar la memoria caché y cookies grabadas de computadoras conectadas en un laboratorio o ciber café.

9º La hora de mi firma estampada con el botón de la plumita, no coincide con la de mi computadora

Para superar este problema, acabo de poner el uso horario correctamente mediante la sentencia putenv(“TZ=EST4EDT”); al pié del archivo local.php y dokuwiki.php.

Trabajo que hice en este día y a esta hora: admin 20/05/05 23.43

8º Poner una imagen como fondo, ¡es una misión imposible!

Es casi imposible poner una imágen de fondo en alguna página wiki. No puedo hacer funcionar el siguiente código:

<html>
<body background="http://redci.com.ar/dkw/media/wiki/raulverafondo.jpg"></body>
</html>

¿Alguna sugerencia?

7º El código de centrado no aparece

Tal parece que no está contemplado el código DKW que permita centrar un texto. Pero su autor Andreas Gohr ha prometido incorporarlo en próximas versiones (la vigente es la del 07/05/2005).

##Este texto tendría que aparecer centrado##

Para ir superando el problema, mientras tanto, puede aplicarse el código HTML (ver punto anterior), en su lugar, de esta forma:

<center><b>Este texto sí que aparece centrado.</b></center>

Obsérvese que el texto centrado se pone en negrita solo con el correspondiente código HTML <b>negrita</b>.

Raúl Vera 22/05/05, 13.34

6º Poner el Logo CIFH en las páginas wiki

Acabo de incrustar el Logo CIFH, justo donde aparecía el texto Wiki CIFH, arriba a la derecha de las páginas wikis. Hubo que cargar la imagen /dkw/images/logcifh5.png del logo y cambiar la palabra “title” por “logo” en local.php.

Se instaló sin problemas.

Raúl Vera 27/05/05, 14:09

5º Acceso a comandos de botones en el texto

Acceso a comandos de DKW habilitados normalmente desde botones de la interfase, para ser aplicados formando parte de los textos de las páginas. Primero hay que agregar al archivo intewiki.conf solo una de estas dos líneas:

1ª dw ./?do={URL}

2ª dw     ./doku.php?do={URL} (este funciona)

la 2ª (segunda) para el caso en que no se esté usando el mod_rewrite (este es nuestro caso) y luego probar estas referencias que antes estaban disponibles solo en los botones:

Cambios recientes Revisiones viejas Admin Entrar Salir Indice Registrar

que se ha logrado escribiendo:

[[dw>recent|Cambios recientes]] 
[[dw>revisions|Revisiones viejas]] 
[[dw>admin|Admin]] [[bo>login|Entrar]] 
[[dw>logout|Salir]] 
[[dw>index|Indice]] 
[[dw>register|Registrar]]

Hemos enviado también el icono bo.gif al directorio ./interwiki/, para personalizar estos enlaces que reemplazan a los botones de nuestro Wiki CIFH.

Raúl Vera 28/05/05, 12:06

4º Enlaces más directos a nuestro Sitio CIFH

Con un procedinmiento similar a mostrado en el punto anterior, podemos crear una manera muy cómoda de referirnos a páginas de nuestro sitio como externas (se abren en ventanas separadas), con su propio logo. Por ejemplo, agregamos al archivo intewiki.conf, además del icono cifh.gif al directorio ./interwiki/ y el siguiente código:

cifh     http://redci.com.ar/{URL}

Después podemos referirnos, por ejemplo, a cualquier página de nuestro sitio, así:

Página de ayudas Los 60 sitios más útiles Página de Obstetricia

que se ha obtenido escribiendo:

[[cifh>ayudas/ayudas.htm|Página de ayudas]]
[[cifh>ayudas/60sitiosutiles.htm|Los 60 sitios más útiles 2004]]
[[cifh>obs/obs.htm|Página de Obstetricia]]

Raúl Vera 28/05/05, 21:44

3º Eliminación de la barra de botones inferior

Esta barra de botones provee los enlaces de los realizadores de DokuWiki, pero no son necesarios en nuestros ambientes de trabajo y no tiene sentido el gasto de recursos que conlleva su presentación. Se ha “comentado” su referencia PHP (include) en el archivo ./tpl/default/main.php en la línea actual 124.

-admin 02/06/05, 19:23

2º Usuario no mostrado como editor al pie de la página

Un cambio mínimo pero significativo. En lugar del nombre del editor al pie de cada página wiki se muestra la dirección ip, lo que resulta poco útil con fines de la identificación del último trabajo de edición.

Esto puede ser cambiado sencillamente editando el archivo ./inc/common.php, en la línea número 70, se puede ver:

$info['ip']     = $revinfo['ip']; <-- no modifique esta línea
$info['user']   = $revinfo['user'];
$info['sum']    = $revinfo['sum'];
$info['editor'] = $revinfo['ip'];  <-- cambie esta línea a $info['editor'] = $revinfo['editor'];
  • Con estos cambios, en lugar de la dirección ip será mostrado el nombre del último usuario editor de la página.

Raúl Vera 03/06/05, 15:44

  • En la actual versión de DoKuWili 2005-09-22 este detalle ha sido corregido completamente. Puede comprobarse mirand al pié de esta misma página.

Raúl Vera 19.02.06-08:07

1º Tabla de contenidos flotante

Es posible obtener una tabla de contenidos flotante si modificamos el correspondiente archivo “.css”. Permitiría una ágil navegación dentro de cada página wiki.

Tenemos que editar el archivo ./style.css
En el archivo nombrado buscar el código div.toc comentado como _float:right;_, entonces agregamos a »continuación el siguiente código:
display:block;
top: 79px;
right: 15px;
position:fixed;

Trabaja muy bien en Firefox, pero no trabaja en IE. En el primer caso resulta un tanto molesta la tabla flotante porque tapa el texto de interés, impidiendo su lectura, cuando es muy larga.

Raúl Vera 03/06/05, 15:44

Plugins instalados en DokuWiki

En esta página vamos a describir los plugins que vamos a intentar instalar en este wiki. Los vamos a numerar en sentido inverso de manera de tenerlos en orden cronológico; esto es, los más recientemente instalados serán los primeros en aparecer ordenados.

Genera una galería de imágenes a partir de las imágenes de un namespace. Puede crear y grabar thumbnails.

Los archivos de instalación de este plugins se descargan desde aquí

Sintaxis

Una Galería básica puede ser agregada por selección de un namespace tal como:

{{gallery>wiki}}
No se ha encontrado nada.

Todas la imágenes que integran el seleccionado namespace serán agregadas a la galería de imágenes.

Es posible establecer un definido tamaño del thumbnail agregando estos parámetros:

{{gallery>namespace?150x150}}

El tamaño por defecto es de 120×120 pixels.

Es posible definir también el número de columnas de la presentación:

{{gallery>namespace?6}}

Este valor por defecto es 5. Si se especifica 0 no será usada una tabla, en su lugar es todos los thumbnails son agregados en una secuencia.

Para tener el nombre del archivo del thumbnails mostrado debemos agregar el parámetro showname:

{{gallery>namespace?showname}}

Todos los parámetros pueden ser combinados:

{{gallery>namespace?150x150&6&showname}}



2. Plugin BOX

Este plugins permite crear cajas de texto (boxs) muy pintorescas. Viene con a habilidad de conseguir cajas de texto más complejas y completas, con: esquinas redondeadas, títulos, colores y otras características novedosas y útiles. Los códigos wiki son permitidos dentro de una caja de texto donde solamente texto puro, enlaces y smileys deberían ser usados normalmente.

Todas las características adicionales que pueden ser incluidas en el interior de estas cajas de texto son descriptas en uno de los archivos de este plugin, de tipo hojas de estilo en cascada (CSS), llamado style.css.

Si este plugin pasa a formar parte de este wiki, será conveniente también actualizar los nuevos códigos de formateo establecidos para este Box y que podemos apreciar en la sección Sintaxis de esta mismo documento.

La página original del autor de este plugin, desde donde se ha tomado toda la información, está en http://wiki.jalakai.co.uk/dokuwiki/doku.php/tutorial/boxes?do=show

Instalación

Fuente de archivos: zip format (4k), tar.gz format (3k), darcs repository

Si tiene Ud. instalado el plugin manager o el darcs plugin, entonces Ud. puede usarlos con el enlace anterior para instalar automáticamente el plugin.

Para instalar manualmente el plugin, descargue los archivos a su directorio ./dkw/lib/plugins. Será creado el nuevo directorio ./dkw/lib/plugins/box/, que contendrá los archivos del plugin.

Este directorio contiene:

style.css                              todos los estilos box
syntax.php                             el script del plugin

El plugin ha quedado totalmente instalado.

Configuración

Una vez instalado el plugin, no necesita establecer ningún tipo de configuración. Alternativamente puede ser necesario revisar el default colour scheme en el archivo style.css para asegurarse que es el apropiado para este wiki.

Sintaxis

Un simple box:

<box> Título de un **simple box**, con un uso similar al que ya estamos acostumbrados. Obsérvese que podemos utilizar todos los códigos de formateo del texo (que no era posible en el box original). </box>
Título de un simple box, con un uso similar al que ya estamos acostumbrados. Obsérvese que podemos utilizar todos los códigos de formateo del texo (que no era posible antes en el box original).

Un más complejo box:

<box 80% round red| Un título> El contenido de la caja.</box>

La Sintaxis Completa:

<box width classes | title text> contents text </box| caption text>

; //classes// : cualquier número de classes usadas en styles de su template o el propio plugin's para determinar el look del box. El plugin box viene con las siguientes classes definidas:
  * //round//  - esquinas redondeadas
  * //blue//   - esquema de color azul
  * //red//    - esquema de color rojo
  * //green//  - esquema de color verde
  * //orange// - esquema de color naranja
  * //left//   - la caja aparece flotante a la izquierda
  * //right//  - la caja aparece flotante a la derecha
; //width//        : ancho expresado en porcentaje 1-100%.
; //title text//   : texto del título (incluyendo código wiki) mostrado como un título por encima del contenido.
; //caption text// : text (sin código wiki) mostrado como un caption below box contents.


width & classes puede ser especificado en cualquier orden.
Si un título es usado, un espacio deberá preceder al caracter pipe “|”

Si no es especificada una clase el default styles será usado, que es esquinas cuadradas y un esquema de color idéntico al configurado en el wiki.

El código de apertura <box ... > incluyéndo el título deberá aparecer en una sola línea; mientras que el contenido de la caja puede aparecer en tantas líneas posteriores como sean necesarias.

1. Formulario de contacto con el autor

Se desea disponer de un formulario que ermita establecer contacto en privado con el autor de un determinado artículo escrito.

Instalación

  1. Descarcar el conjunto de archivos que integran el plugin desde aquí.
  2. Descomprir este archivo y cargar el directorio /contacto completo al directorio ./dkw/lib/plugins/ de su servidor.
  3. En el directorio de nuestra plantilla ./dkw/lib/tpl/sidebar/ vamos a editar el archivo main.php. Agregamos la siguiente línea al principio:
include(DOKU_PLUGIN.'contact/contactmail.php');

Aplicación

Incluir el siguiente código dentro de la página de edición, en la ubicación deseada.

{{contact>EMAIL.ADDRESS.TO.SEND.SUBMISSION.TO}}

El efecto de aplicar este código a continuación, puede verse así:

contact_email.address.to.send.submission.to

1) Simplemente porque no sería necesaria, al tener a simple vista, el conjunto de todos los título creados hasta el momento.

Navegación
Herramientas personales