Backup y actualización de dokuwiki

Suponemos que el dokuwiki está en /var/lib/dokuwiki que es un enlace simbólico al directorio que contiene los fuentes de dokuwiki.

Backup de dokuwiki

# Copia de datos cd /var/lib/dokuwiki/ tar cvzf ~/doku.tgz data/pages/ data/meta/ data/media data/media_meta/ data/attic/ data/media_attic/
# Copia de configuración cd /var/lib/dokuwiki/conf tar cvzf ~/doku.conf.tgz acl.auth.php local.php users.auth.php apache.conf

Importante: Si hay cambios en la configuración de la nueva versión de dokuwiki al restaurar la copia se perderán

:

Importante: En el tar solo habría que copiar del directorio conf los ficheros acl.auth.php, local.php, y users.auth.php (no se si alguno mas !!!!) para tener la configuración de la nueva versión de dokuwiki con las adaptaciones del antiguo:!:

Actualización de dokuwiki

Descargar de la página web de dokuwiki la versión a instalar (por ejemplo dokuwiki-stable.tgz)

# /etc/init.d/apache2 stop systemctl stop apache2 OLD=dokuwiki-2023-04-04a/ NEW=dokuwiki-2024-02-06a/ # dokuwiki es un enlace simbólico al directorio que contiene el código rm dokuwiki cd /var/lib/ tar xvzf dokuwiki-stable.tgz # Esta orden genera un directorio, en este caso ''dokuwiki'', donde están los ficheros fuente. ln -s $NEW dokuwiki # dokuwiki-2024-02-06a/ será el nuevo directorio con el código a ejecutar del dokuwiki # Copiar la antigua configuración local, de apache y usuarios y autorizaciones en el nuevo directorio cp $OLD/conf/local.php $NEW/conf/ cp $OLD/conf/apache.conf $NEW/conf/ cp $OLD/conf/acl.auth.php $NEW/conf/ cp $OLD/conf/users.auth.php $NEW/conf/ chown -R www-data:www-data $NEW/ # Descomprimir la copia de los datos hecha previamente cd $NEW tar xvzf ~/doku.tgz chown -R www-data:www-data .

Importante: Si hay cambios en la configuración de la nueva versión de dokuwiki al restaurar la copia se perderán (se escriben los ficheros del anterior conf sobre la nueva instalación

Se puede comparar antes con meld !!!

Actualizar los plugins

Para saber los plugins de la anterior versión y compararlos con la nueva

ls $OLD/lib/plugins/ > /tmp/old.txt ls $NEW/lib/plugins/ > /tmp/new.txt meld /tmp/old.txt /tmp/new.txt &
# Copiar los plugins que se quieran tener en la nueva versión, se muestran algunos a modo de ejemplo cd /var/lib/ for i in color commentsyntax gallery include latexcaption mathjax note numberedheadings odt qna refnotes revealjs tag testing wrap; do cp -r $OLD/lib/plugins/$i/ $NEW/lib/plugins/ done # o 1 a 1 cp -r $OLD/lib/plugins/color/ lib/plugins/ cp -r $OLD/lib/plugins/note lib/plugins/ cp -r $OLD/lib/plugins/odt lib/plugins/ ... # Si deja de funcionar el dokuwiki hay que revisar los plugins, porque algunos no son compatibles con versiones más modernas y hacen que no funcione. chown -R www-data:www-data $NEW/lib/plugins/

Reveal.js Slideshow Plugin

La versión oficial no soporta PHP8 y no funciona bien. He instalado la versión oficial desde git y he aplicado un parche para soporte PHP8:

cd/var/lib/dokuwiki.solicom/lib/plugins/ git clone https://github.com/neuralyzer/dokuwiki-plugin-revealjs.git mv dokuwiki-plugin-revealjs/ revealjs chown -R www-data:www-data * cd revealjs/ git config --global --add safe.directory /var/lib/dokuwiki-2024-02-06a/lib/plugins/revealjs git fetch origin pull/45/head:mirama git checkout mirama git checkout master git merge mirama

Emojis/Emoticonos

#Copiar los smileys del directorio lib/images/smileys/local (https://github.com/davidjimenez75/dokuwiki-smileys-local) cp -r $OLD/lib/images/smileys/local $NEW/lib/images/smileys #Copiar la configuración cp $OLD/conf/smileys.local.conf $NEW/conf/

Reiniciar apache

#/etc/init.d/apache2 start systemctl start apache2

Últimos pasos

Por último hay que entrar en la administración de plugins y actualizar todos aquellos que indique que están desfasados.

Restauración del índice de búsqueda

Restaurar el índice de búsqueda como se indica en problemas_con_las_busquedas_de_dokuwiki

Tracedump:

newBaseSize: 12pt
newBaseSizeInPt: 12