1. Copias de seguridad
Antes de cualquier cambio, realizamos backups completos:
- Archivos de Nextcloud:
sudo tar -czvf nextcloud-files-backup.tar.gz /var/www/nextcloud
- Base de datos (MariaDB/MySQL):
mysqldump -u nextcloud_user -p nextcloud > nextcloud-db-backup.sql
- Archivos de configuración importantes:
sudo cp /var/www/nextcloud/config/config.php ~/backup_config.php
Advertencia: Siempre verificamos que los permisos y propietarios sean correctos antes de cualquier restauración.
2. Activar modo mantenimiento
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on
3. Descargar nueva versión
- Descargamos la versión ZIP desde el sitio oficial de Nextcloud a nuestro PC local.
- Subimos el archivo comprimido al servidor vía scp o SFTP.
scp Descargas/nextcloud-32.0.1.tar.bz2 usuario@ip/nombre-servidor:/tmp/
nextcloud-32.0.1.tar.bz2 100% 257MB 2.1MB/s 02:03
- Descomprimimos en un directorio temporal:
tar -xjf nextcloud-32.0.1.tar.bz2
4. Preparación de la actualización manual
- Movemos la instalación actual a -old:
sudo mv /var/www/nextcloud /var/www/nextcloud-old
- Movemos la nueva versión a /var/www/nextcloud:
sudo mv /tmp/nextcloud /var/www/nextcloud
- Copiamos la carpeta config y data de la versión anterior a la nueva:
sudo cp -a /var/www/nextcloud-old/config /var/www/nextcloud/
sudo cp -a /var/www/nextcloud-old/data /var/www/nextcloud/
- Ajustamos permisos:
sudo chown -R www-data:www-data /var/www/nextcloud
sudo find /var/www/nextcloud/ -type d -exec chmod 750 {} \;
sudo find /var/www/nextcloud/ -type f -exec chmod 640 {} \;
5. Actualización de la base de datos y apps
- Accedemos al actualizador desde el dashboard o usamos: Advertencia: Recordar: Apache debe estar detenido antes de ejecutar el updater.
sudo -u www-data php /var/www/nextcloud/occ upgrade
- Levantamos apache2
sudo systemctl start apache2
- Durante la actualización, Nextcloud crea versiones -old_* de las carpetas de apps si es necesario.
- Se verifican y actualizan todas las apps instaladas.
- Eventuales errores menores se resolvieron revisando permisos o moviendo manualmente archivos faltantes.
6. Finalización
- Desactivamos modo mantenimiento( si se ha actualizado desde el dashboard, el instalador lo desactivará automáticaente)
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off
- Verificamos acceso al dashboard y que todas las apps funcionen correctamente.
- Revisión final de logs:
sudo tail -f /var/www/nextcloud/updater-*/updater.log
sudo tail -f /var/www/nextcloud/nextcloud.log
Advertencia: Siempre conservar las carpetas *-old y .bakups hasta verificar que todo funciona, luego pueden eliminarse.