This is an old revision of the document!
Table of Contents
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()?> </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()?> </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
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. Crear el siguiente archivo:
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';