Elimine de forma segura el modo de mantenimiento de Nextcloud atascado con OCC.

Si Nextcloud sigue mostrando “modo de mantenimiento” después de una actualización o tarea de mantenimiento, primero verifique si la actualización de la base de datos se ha completado. Cuando occ statusinforme needsDbUpgrade: false, ejecute occ maintenance:mode --offcomo el usuario del servidor web en la instalación correcta de Nextcloud; si informa true, finalice occ upgradeantes de volver a abrir el sitio.

Deshabilitar la bandera restablece los inicios de sesión, pero no repara una actualización fallida. El objetivo es volver a poner la instancia en línea con la bandera de mantenimiento y el estado de actualización verificados.

1. Verifica la instancia antes de cambiar su estado.

Conéctese al host o contenedor que sirve la URL de Nextcloud afectada. Para una instalación manual en Linux, cambie al directorio de Nextcloud (a menudo /var/www/nextcloud) e inspeccione el estado como usuario HTTP:

cd /var/www/nextcloud
sudo -E -u www-data php occ status

Busque maintenancey needsDbUpgrade. Un estado típico de desactivación segura es maintenance: truecon needsDbUpgrade: false. Si maintenance ya es false, el navegador puede estar mostrando una página obsoleta o accediendo a un servidor diferente. Si needsDbUpgradees true, no desactive el modo de mantenimiento todavía.

Terminal ilustrativo que muestra el estado de OCC con mantenimiento verdadero y necesita actualización de base de datos falsa
El ejemplo de estado muestra el mantenimiento habilitado aunque no haya ninguna actualización de la base de datos pendiente, estado en el que normalmente resulta apropiado deshabilitar el modo de mantenimiento.

Nextcloud requiere que OCC se ejecute como el usuario HTTP para que la propiedad de los archivos se mantenga constante. En Debian o Ubuntu, suele ser www-data; otras distribuciones pueden usar apache, http, o wwwrun. Compruebe la cuenta de servicio de su instalación antes de sustituir el usuario en un comando. La documentación actual de Nextcloud OCC enumera las diferencias de usuario y el comando status.

2. Desactive el modo de mantenimiento con OCC.

Para la instalación de un archivo o paquete, ejecute el comando desde el directorio que contiene el occscript correcto:

sudo -E -u www-data php occ maintenance:mode --off

El comando debería indicar que el modo de mantenimiento está desactivado. Esta --offopción cambia el estado de mantenimiento; no ejecuta migraciones, no corrige permisos ni deshace una sustitución de archivo interrumpida.

Ejemplo de comando de terminal: sudo -E -u www-data php occ maintenance:mode --off
Este es el comando OCC para una instalación estándar cuando la actualización se ha completado y el comando se está ejecutando en el directorio activo de Nextcloud.

Utilice el contenedor que coincida con su instalación. Para la imagen oficial de Docker de Nextcloud, el proyecto documenta docker execejemplos tanto para Docker Compose como para otras aplicaciones. Reemplace el nombre del contenedor o servicio de ejemplo con el suyo:

# Docker Compose; "app" is an example service name
docker compose exec --user www-data app php occ maintenance:mode --off

# Docker; replace CONTAINER_ID with the Nextcloud container
docker exec -it --user www-data CONTAINER_ID php occ maintenance:mode --off
Comando ilustrativo de Docker Compose para deshabilitar el modo de mantenimiento de Nextcloud como www-data
En Docker Compose, ejecute OCC dentro del servicio Nextcloud como www-data; utilice el nombre de su servicio Compose en lugar del nombre de ejemplo app.

Para Nextcloud Snap, utilice su envoltorio OCC del lado del host en lugar de acceder a los directorios internos del snap:

sudo nextcloud.occ maintenance:mode --off

El proyecto Snap indica que /snap/bin/nextcloud.occpodría ser necesario si ese directorio no está en la variable PATH del shell. Consulte las instrucciones del modo de mantenimiento para Snap . El archivo README de la imagen oficial de Docker de Nextcloud documenta el patrón de comandos del contenedor.

3. Si aún hay una actualización pendiente, termínela primero.

Cuando needsDbUpgrade: trueNextcloud informa del estado, esto indica que la migración del código y la base de datos no están sincronizadas. Esto suele ocurrir después de que un actualizador haya reemplazado el código, pero la fase de migración no haya finalizado. En ese caso, es posible que solo esté disponible un conjunto limitado de comandos OCC, y el modo de mantenimiento podría dejarse activado intencionadamente para impedir el acceso de los usuarios durante la actualización.

Utilice la ruta de actualización correspondiente a su tipo de instalación y revise el error del actualizador antes de continuar. Para una instalación estándar basada en archivos, después de confirmar que la versión de código de Nextcloud prevista está presente y de realizar una copia de seguridad reciente de la base de datos y los archivos/configuración si aún no la tiene, ejecute:

sudo -E -u www-data php occ upgrade

Deje que el comando se complete y resuelva cualquier error reportado. No active repetidamente el modo de mantenimiento para evitar un error de migración. La documentación de actualización de Nextcloud explica que la migración de la base de datos se realiza después de reemplazar el código del servidor y recomienda una copia de seguridad reciente antes de la actualización. Docker, Snap y los paquetes gestionados pueden tener sus propios procedimientos de actualización; utilice esas instrucciones si difieren del ejemplo basado en archivos.

Una vez que la actualización se haya completado correctamente y el estado ya no indique una actualización de base de datos pendiente, ejecute el maintenance:mode --offcomando correspondiente mencionado anteriormente. Evite editar config.phpo usar una actualización directa de la base de datos como atajo. Si OCC no puede escribir la configuración, verifique que haya seleccionado el usuario de instalación y HTTP correctos, e inspeccione cualquier política de configuración de solo lectura o error de permisos del sistema de archivos antes de cambiar los permisos.

4. Verifica la bandera y el sitio web en funcionamiento.

Vuelva a ejecutar status utilizando la misma ruta de instalación, contenedor y usuario:

sudo -E -u www-data php occ status

Confirme ambos maintenance: falsey needsDbUpgrade: false. En Docker o Snap, repita la comprobación a través del mismo contenedor utilizado para deshabilitar la bandera. El comando de estado de Nextcloud documenta estos campos; su forma legible por máquina es occ status --output=json_pretty.

Salida ilustrativa del estado de OCC que muestra mantenimiento falso y necesita actualización de base de datos falsa.
La verificación exitosa muestra que el modo de mantenimiento está desactivado y que no hay ninguna actualización de base de datos pendiente; este ejemplo no proviene de un servidor en funcionamiento.

Luego, recargue el sitio en una pestaña nueva del navegador y pruebe un inicio de sesión normal y la visualización de archivos. Nextcloud indica que los usuarios que iniciaron sesión antes del modo de mantenimiento podrían necesitar actualizar su navegador una vez que el servidor vuelva a estar en línea. Si OCC informa que el mantenimiento es falso, pero el sitio aún muestra la página de mantenimiento, verifique que el nombre de host o el balanceador de carga apunten a la misma instancia que modificó; con varios contenedores o nodos, otro backend podría seguir en modo de mantenimiento.

Por lo tanto, una solución exitosa requiere más que una respuesta de comando "deshabilitado": el estado de OCC debe mostrar ambos indicadores desactivados, y la URL pública prevista debe servir a la instancia que funciona correctamente. Si el indicador de actualización permanece activado o el comando de migración falla, impida el acceso a los usuarios y resuelva el error de actualización antes de volver a abrir Nextcloud.

Dejar un comentario

Conecta Gmail o Microsoft 365 a Nextcloud Mail mediante OAuth2.

Configura OAuth2 para Nextcloud Mail con Gmail o Microsoft 365, verifica la recepción y el envío, y resuelve los fallos comunes de consentimiento y SMTP.

Elimine de forma segura el modo de mantenimiento de Nextcloud atascado con OCC.

Elimine de forma segura el modo de mantenimiento de Nextcloud atascado con OCC.

Utilice OCC para restaurar el acceso a Nextcloud, verificar el estado de la migración de la base de datos y elegir el comando adecuado para las instalaciones de archivos, Docker o Snap.

Configurar el inicio de sesión de Nextcloud mediante LDAP y Active Directory

Conecte Nextcloud a LDAP o Active Directory, limite el acceso con filtros de usuarios y grupos, y verifique la autenticación segura antes de la implementación.

Requerir autenticación de dos factores para los usuarios de Nextcloud

Habilite un proveedor de autenticación de dos factores (2FA) compatible, prepare la recuperación de la cuenta y, a continuación, exija la autenticación de dos factores para todos los usuarios o para grupos seleccionados de Nextcloud.

Proteja los documentos de Collabora CODE en reposo con cifrado de almacenamiento.

Proteja los archivos editados en Collabora CODE cifrando la capa de almacenamiento, protegiendo los datos temporales y verificando el cifrado y la recuperación.

Ejecuta Collabora CODE en ARM64 con la imagen correcta.

Ejecuta Collabora CODE en ARM64 con la imagen correcta.

Verifique la arquitectura de su host, confirme que la etiqueta CODE publique ARM64, elimine la configuración forzada AMD64 y separe los errores de imagen de los problemas de permisos o memoria.

Conecta Collabora Online a ownCloud Infinite Scale.

Configure la conexión WOPI entre Collabora Online y ownCloud Infinite Scale, configure las URL de servicio correctas y verifique que se guarden las ediciones de los documentos.

Exportación de archivos de bloques en Collabora CODE a través de WOPI

Impida la exportación de documentos en Collabora Online CODE configurando el permiso WOPI DisableExport y, a continuación, verifique que el host y el editor lo apliquen.

Integra Collabora con Nginx sin interrumpir los WebSockets.

Integra Collabora con Nginx sin interrumpir los WebSockets.

Configure la terminación TLS de Nginx, las rutas de Collabora y los encabezados de WebSocket, y luego pruebe los puntos finales públicos antes de abrir documentos reales.

Evita que las sesiones de edición de código finalicen a los 10 minutos.

Localice una desconexión de CODE de 10 minutos en su proxy, balanceador de carga o ruta WebSocket, luego corrija el tiempo de espera y verifique que la sesión permanezca conectada.