User Tools

Site Tools


informatica:dokuwiki2

This is an old revision of the document!


Dokuwiki

dokuwiki wiki

Instalación

1. Descargar la última versión de dokuwiki (http://www.splitbrain.org/projects/dokuwiki)

wget -c --tries=0 http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-02-14.tgz /ruta_wiki/

2. Descomprimir el paquete

tar xvfz /ruta_wiki/dokuwiki-2009-02-14.tgz

3. Permisos

find /ruta_wiki/dokuwiki-2009-02-14 -type d -exec chmod 0777 {} \; 
find /ruta_wiki/dokuwiki-2009-02-14 -type f -exec chmod 0666 {} \; 

4. Hacer accesible la wiki en apache2

5. Teclear en un navegador:

http://url_a_wiki/install

Seguir las instrucciones

Configuración

El fichero importantes es:

/ruta_wiki/conf/local.php

Por defecto no existe. Si seguimos las instrucciones de 'http://url_wiki/install' se crea automáticamente con los valores introducidos en el formulario

Usuarios

Se configuran automáticamente con los valores introducidos en 'http://url_wiki/install'

Barra Lateral

sidebar

Descargar la barra de:

http://wiki.jalakai.co.uk/dokuwiki/doku.php/start

Se descomprime en la carpeta sidebar dentro de:

lib/tpl

Y se añade al fichero:

conf/local.php

La linea:

$conf['template'] = 'sidebar';

En el fichero:

lib/tpl/sidebar/conf/default.php

Podemos cambiar propiedades:

$conf['sidebar']['enable'] = 1;
$conf['sidebar']['page'] = 'sidebar';
$conf['sidebar']['layout'] = 'inside'; 
$conf['sidebar']['orientation'] = 'left';

También las podemos cambiar desde admin → “Configuration Settings”

Si tenemos nombres de menus muy largos, podemos poner en el fichero:

lib/tpl/sidebar/sidebar.css

La linea:

overflow:hidden;
/* sidebar orientation and position */
#sidebar
{
  width:20%;
  margin:0;
  padding:0;
  position: relative;
  overflow:hidden;
}

Plugins

Dentro de Admin, vamos a “Manage Plugins” para instalar los plugins.

Como no me sale, lo hago manualmente

Add New Page

1. Descargar

wget -c --tries=0 http://dokuplugins.idotech.info/addnewpage.zip

2. Descomprimir

unzip /tmp/addnewpage.zip

3. Mover

cp -Rv /tmp/addnewpage /ruta_wiki/lib/plugins/

4. Realizar cambios en plantilla 'sidebar'

cp /ruta_wiki/lib/tpl/sidebar/main.php /ruta_wiki/lib/tpl/sidebar/main.php.original
nano /ruta_wiki/lib/tpl/sidebar/main.php

Antes:

...
<div class="bar" id="bar__top">

<div class="bar-left" id="bar__topleft">
	<?php tpl_button('edit')?>
	<?php tpl_button('history')?>
</div>

<div class="bar-right" id="bar__topright">
	<?php tpl_button('recent')?>
	<?php tpl_searchform()?>&nbsp;
</div>

<div class="clearer"></div>
</div>
...

Después:

<div class="bar" id="bar__top">

<div class="bar-left" id="bar__topleft">
	<?php tpl_button('edit')?>
	<?php tpl_button('history')?>
</div>

<!-- ############### ANYADIDO #################### -->
<div class="bar-left" id="bar__topleft">
	<?php
	$out = p_render('xhtml',p_get_instructions('{{NEWPAGE}}'),$info);
	echo str_replace(array("<p>","</p>"),array("",""),$out);
	?>
</div>
<!-- ############### FIN ANYADIDO ################## -->

<div class="bar-right" id="bar__topright">
	<?php tpl_button('recent')?>
	<?php tpl_searchform()?>&nbsp;
</div>

<div class="clearer"></div>
</div>

Grabar y salir

Substituir _ por espacios en el título

En el fichero inc/parser/xhtml.php modificamos la función: function _formatLink($link).
Cambiamos la linea

$ret .= $link['name'];

Por esta

$ret .= strtr($link['name'],'_',' '); 

Crear una carpeta (namespace)

  • En un directorio inexistente. Si queremos crear la pagina 'mypage' dentro del directorio 'mydir' que no existe, navegamos al al directorio de donde queremos colgar 'mydir' y ejecutamos “Add Page” de “mydir:mypage”.
  • En un directorio existente. Navegamos al directorio de donde queremos crear la página y ejecutamos “Add Page” de “mypage”.

Eliminar una página

Se elimina totalmente su contenido y DocuWiki se encarga del resto.

Autenticación por archivo .htaccess

La idea es proteger el directorio donde resida dokuwiki con una contraseña mediante un archivo .htaccess. Es decir, el servidor web (en este caso Apache) es el encargado de pedir usuario y contraseña.

Luego, mediante el módulo ggauth se pasa esas credenciales a dokuwiki, para no tener que volver a introducir el usuario y contraseña. Además es posible desde dokuwiki administrar esos usuarios: altas, bajas, cambiar contraseñas…

Finalmente he modificado el proceso de salida (logout) para que sea más elegante.

1. Crear el archivo de usuarios con un usuario que ya existe en dokuwiki:

htpasswd -c /etc/apache2/usuarios_dokuwiki usuario_dokuwiki

Introducir dos veces la contraseña.

2. Crear el archivo de grupos con un par usuario-grupo que ya existe en dokuwiki:

nano /etc/apache2/grupos_dokuwiki

Con el siguiente contenido:

grupo_dokuwiki: usuario_dokuwiki

Grabar y salir.

3. NOTA: quizá este archivo si pueda ir dentro del directorio donde está dokuwiki, pero por seguridad lo saco fuera.

Crear archivo intermedio apache - dokuwiki:

nano /etc/apache2/htuser_dokuwiki

Con el siguiente contenido (revisar):

usuario_dokuwiki:nombre_largo:correo@servidor.com

Grabar y salir

4. Ajustar permisos

chmod 600 /etc/apache2/usuarios_dokuwiki /etc/apache2/grupos_dokuwiki /etc/apache2/htuser_dokuwiki && chown www-data:www-data /etc/apache2/usuarios_dokuwiki /etc/apache2/grupos_dokuwiki /etc/apache2/htuser_dokuwiki

5. Crear un archivo .htaccess:

nano /ruta/a/dokuwiki/.htaccess

Con el siguiente contenido:

AuthName "Introduzca su usuario"
AuthUserFile /etc/apache2/usuarios_wiki
AuthGroupFile /etc/apache2/grupos_wiki

# Use Basic authentication
AuthType Basic
<Limit GET POST>
satisfy all
require valid-user
</Limit>

Grabar y salir.

6. Crear el archivo de usuarios para poder hacer un 'salir' elegante:

htpasswd /etc/apache2/usuario_salir salir

NOTA Teclear dos veces 'enter' para no ponerle contraseña

7. Crear el directorio a donde vamos a redirigir cuando se pulse el botón 'salir':

mkdir /ruta/a/dokuwiki/salir && chmod 777 /ruta/a/dokuwiki/salir && chown www-data:www-data /ruta/a/dokuwiki/salir

8. Crear el archivo:

nano /ruta/a/dokuwiki/salir/index.html && chown www-data:www-data /ruta/a/dokuwiki/index.html

Con el siguiente contenido:

chau

Grabar y salir

9. Crear el archivo:

nano /ruta/a/dokuwiki/salir/.htaccess

Con el siguiente contenido:

Allow from All
DirectoryIndex index.html
AuthName 'Dokuwiki'
AuthType Basic
AuthUserFile /etc/apache2/usuario_salir
require user salir

Grabar y salir

10. Descargar el módulo ggauth en la raíz de nuestro directorio dokuwiki:

wget -c --tries=0 http://lastweekend.com.au/ggauth.4.zip

11. Descomprimirlo:

unzip ggauth.4.zip

12. Eliminar archivos innecesarios:

rm -fr ggauth.4.zip

13. Editar:

nano ./conf/local.php

Con el siguiente contenido:

$conf['authtype'] = 'htaccess';
#
# name of .htaccess file, must exist if absolute, if relative will search for this file up to the docume$
$conf['auth']['htaccess']['htaccess'] = '/home/datos/www/wiki/.htaccess'; 
#
# name of file to store names and emails for each user. if relative assumed same directory as "AuthUserF$
$conf['auth']['htaccess']['htuser'] = '/home/datos/www/wiki/conf/htuser';

$conf['auth']['httpbasic']['realm'] = 'Dokuwiki';
$conf['auth']['httpbasic']['logout'] = 'Hasta pronto';
informatica/dokuwiki2.1263246593.txt.gz · Last modified: 2015/04/13 20:19 (external edit)