{{tag> dokuwiki actualizar}}
====== 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
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 [[public:recetas:dokuwiki:problemas_con_las_busquedas_de_dokuwiki]]