====== 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 [[http://www.splitbrain.org/go/dokuwiki|sitio oficial]]
===== 1. Arrancar la página wiki =====
- 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 [[http://www.splitbrain.org/projects/dokuwiki|é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**.
- 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.
- Crear una carpeta **destino** para la estructura completa en el server de hosting, por ejemplo con el nombre (corto) **./dkw/**.
- Con un cliente FTP efectuar la transferencia **C:/DW** hacia **./dkw/**.
- Dar permisos de escritura a la carpeta **./dkw/data** y a todas las subcarpetas contenidas.
- 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.
- 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**.
- Efectuar la prueba inicial arrancando http://www.rdvs.com.ar/dkw/
- 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 **[[http://wiki.splitbrain.org/wiki%3Aconfig|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'] = '
==== c. Características antispam ====
Configuración de variables que permiten complicar la tarea de los spammers.
'; // 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
/* 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-O|%%8-O%%|icon_eek.gif|
|8-o|%%8-o%%|icon_eek.gif|
|:-(|%%:-(%%|icon_sad.gif|
|:-)|%%:-)%%|icon_smile.gif|
|=) |%%=)%%|icon_smile2.gif|
|:-/|%%:-/%%|icon_doubt.gif|
|:-\|%%:-\%%|icon_doubt2.gif|
|:-?|%%:-?%%|icon_confused.gif|
|:-D|%%:-D%%|icon_biggrin.gif|
|:-P|%%:-P%%|icon_razz.gif|
|:-o|%%:-o%%|icon_surprised.gif|
|:-O|%%:-O%%|icon_surprised.gif|
|:-x|%%:-x%%|icon_silenced.gif|
|:-X|%%:-X%%|icon_silenced.gif|
|:-||%%:-|%%|icon_neutral.gif|
|;-)|%%;-)%%|icon_wink.gif|
|:?:|%%:?:%%|icon_question.gif|
|:!:|%%:!:%%|icon_exclaim.gif|
|LOL|%%LOL %%|icon_lol.gif|
|FIXME|%%FIXME%%|fixme.gif|
|DELETEME|%%DELETEME%%|delete.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.
/* 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 **%%...%%** 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 contrario((Simplemente porque no sería necesaria, al tener a simple vista, el conjunto de todos los título creados hasta el momento.)).
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**
- Ir a Herramientas|Opciones de Internet..| y pulsar el botón [**Eliminar cookies**],
- 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: **[[webmaster@cifh.com.ar|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:
¿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:
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}}