Tabla de Contenidos

,

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 :!: :!: :!:

FIXME:

:!: :!: :!: 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

# 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 note numberedheadings odt refnotes tag qna include testing commentsyntax gallery mathjax latexcaption revealjs 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/
 
 
Para saber los plugins de la anterior versión y compararlos con la nueva
<code console>
ls $OLD/lib/plugins/ > /tmp/old.txt
ls $NEW/lib/plugins/ > /tmp/new.txt
meld /tmp/old.txt /tmp/new.txt &

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