Elimina la advertencia de bloqueo de archivos de Nextcloud con Redis.

Para eliminar la advertencia de bloqueo de archivos transaccionales de Nextcloud, primero asegúrese de que el bloqueo esté habilitado y, a continuación, configure un backend persistente compatible con Redis, como Redis o Valkey. En una instancia pequeña, Nextcloud puede usar su backend de bloqueo de base de datos por defecto; para un servidor de producción o una carga de trabajo compartida, el bloqueo con respaldo de Redis es la opción habitual, ya que reduce el tráfico de bloqueo a la base de datos. No asigne bloqueos de archivos a Memcached: Nextcloud advierte que los valores en caché pueden desaparecer inesperadamente.

Elige el sistema de bloqueo que mejor se adapte a tu servidor.

El bloqueo transaccional de archivos protege las operaciones de archivos contra escrituras conflictivas y puede liberar bloqueos cuando se interrumpe una carga u otra transacción. Ayuda a prevenir la corrupción durante el funcionamiento normal, incluso al trabajar con archivos compartidos y almacenamiento externo. No impide que dos personas editen el mismo documento simultáneamente ni proporciona indicadores de presencia; controla los guardados simultáneos. Consulte la documentación sobre el bloqueo transaccional de archivos de Nextcloud 35 .

  • Base de datos: Nextcloud utiliza el bloqueo de base de datos por defecto. Esto evita añadir otro servicio y puede ser suficiente para una instalación personal pequeña, pero el bloqueo de base de datos aumenta la carga. Si solo está eliminando una advertencia en un servidor con poco uso, primero confirme que el bloqueo no se haya desactivado explícitamente.
  • Redis con phpredis: Una buena opción para implementaciones consolidadas en servidores únicos y en clúster. Requiere un servidor compatible con Redis y la extensión PHP Redis, además de la configuración de conexión correspondiente en Nextcloud.
  • KeyValueCache con Redis o Valkey: Disponible a partir de Nextcloud 34.0.2. Utiliza la biblioteca integrada de Nextcloud, por lo que no requiere una extensión PHP Redis. Esto resulta útil cuando la extensión no está disponible, aunque Nextcloud advierte que un servidor remoto de clave-valor puede generar sobrecarga de red.
  • Memcached: Puede servir para el almacenamiento en caché distribuido, pero no es apropiado para bloqueos de archivos transaccionales porque los valores de la caché pueden ser desalojados. Manténgalo fuera de memcache.locking.

Para un servidor doméstico pequeño, el bloqueo de la base de datos puede ser suficiente si no hay advertencias de bloqueo ni presión sobre la base de datos. Elija Redis o Valkey para instancias con mucha actividad, varios servidores de aplicaciones o cuando desee que los bloqueos de archivos se gestionen fuera de la base de datos. La guía actual de almacenamiento en caché de memoria de Nextcloud 35 recomienda APCu para la caché local y Redis para el bloqueo en implementaciones comunes de un solo servidor. Todos los nodos web en clúster deben usar el mismo punto final o clúster de Redis o Valkey.

Compruebe si el bloqueo estaba desactivado.

Localiza el archivo de configuración activo de Nextcloud, normalmente config/config.phpen el directorio de instalación de Nextcloud. Haz una copia de seguridad antes de modificarlo. Busca filelocking.enabledy memcache.locking. La referencia de configuración establece el bloqueo como habilitado por defecto; si encuentras un valor falso explícito, cámbialo a verdadero o elimina esa anulación.

'filelocking.enabled' => true,

No añada una segunda copia de una clave existente. Los arrays de configuración de PHP deben contener un único valor efectivo para cada ajuste. Si utiliza un contenedor o un panel de alojamiento gestionado, realice los cambios a través de su mecanismo de configuración compatible para que persistan tras las actualizaciones o las nuevas implementaciones. La referencia de advertencias de administración de Nextcloud 35 identifica la advertencia de bloqueo y enlaza con los requisitos del backend.

Configurar el bloqueo de Redis en un único servidor.

En Debian o Ubuntu, los nombres de los paquetes suelen tener este formato: redis-servery php-redis; utilice los paquetes de su distribución y haga coincidir el módulo PHP con la versión de PHP que utiliza el servidor web. Si utiliza el backend clásico de Redis, instale e inicie el servicio Redis y confirme que la extensión PHP Redis esté habilitada para la SAPI web. Un módulo PHP que solo se pueda cargar mediante la línea de comandos no garantiza que PHP-FPM o Apache puedan cargarlo.

Agregue los detalles de conexión y del backend de bloqueo al config.phparray existente. Este ejemplo asume que Redis se está ejecutando en la misma máquina, escuchando en el puerto 6379 de localhost y accesible para el proceso PHP de Nextcloud:

'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
    'host' => 'localhost',
    'port' => 6379,
    'timeout' => 0.0,
],

Configure los detalles de autenticación si su servidor Redis los requiere. Evite exponer Redis a internet; restrinja su acceso al host o a la red privada y configure las reglas de autenticación y del firewall. Para un socket Unix, utilice la ruta del socket como host de Redis y el puerto 0, y asegúrese de que el usuario del servidor web pueda acceder a dicho socket. No copie la configuración de localhost en una implementación de varios servidores a menos que Redis sea realmente local y se comparta de forma consistente; todos los nodos de la aplicación Nextcloud deben acceder al mismo backend.

Cuando la extensión PHP Redis no está disponible

En Nextcloud 34.0.2 o posterior, KeyValueCache puede conectarse a Redis o Valkey sin necesidad de instalar una extensión PHP por separado. Configure el backend y el almacén de clave-valor de la siguiente manera, reemplazando el host y las credenciales con los valores de su entorno:

'memcache.locking' => '\OC\Memcache\KeyValueCache',
'memcache.kvstore' => [
    'server' => [
        'host' => 'localhost',
        'port' => 6379,
    ],
],

No configure Redis y KeyValueCache como proveedores de bloqueo que compitan entre sí. Siga la documentación de Nextcloud para credenciales, TLS, sockets, Sentinel o topología del clúster, en lugar de adaptar un ejemplo de un solo servidor a ojo.

Reinicia y verifica la solución.

Reinicia el servicio compatible con Redis si modificaste su configuración. Luego, reinicia el servidor web o el proceso PHP-FPM si instalaste o habilitaste una extensión de PHP. Verifica el estado del servicio usando el nombre del servicio correspondiente a tu distribución; por ejemplo, systemctl status redis-serveren muchos sistemas Debian o Ubuntu. Confirma que el servicio esté activo y que el proceso PHP pueda conectarse. Las implementaciones en contenedores deben usar el nombre del servicio Redis en la red del contenedor, no localhost, a menos que ambos servicios compartan un espacio de nombres de red.

Inicie sesión en Nextcloud como administrador y actualice la vista general de administración. La advertencia de bloqueo de archivos transaccionales debería desaparecer cuando el backend configurado esté disponible y se haya cargado la configuración. Cargue, descargue y sincronice un archivo de prueba y, a continuación, revise los registros de Nextcloud y PHP si aparece un error de conexión o permisos de Redis. Una advertencia que persiste suele indicar un error tipográfico, una clave de configuración duplicada, una extensión/SAPI de PHP incorrecta, una conexión de red bloqueada, permisos de socket incorrectos o un backend inaccesible. Corrija la causa específica en lugar de deshabilitar el bloqueo.

Para opciones específicas de implementación, consulte las referencias oficiales versionadas antes de cambiar la topología: Bloqueo de archivos transaccionales , Almacenamiento en caché de memoria y configuración de Redis/Valkey y parámetros de configuración .

Dejar un comentario

Elimina la advertencia de bloqueo de archivos de Nextcloud con Redis.

Habilite el bloqueo de archivos confiable de Nextcloud, elija el backend Redis o Valkey adecuado y verifique que la advertencia desaparezca sin riesgo de que se produzcan cambios simultáneos en los archivos.

Requisitos para obtener una calificación de seguridad A+ en Nextcloud

Requisitos para obtener una calificación de seguridad A+ en Nextcloud

Solucione los problemas comunes detectados en los análisis de Nextcloud con las últimas actualizaciones, HTTPS y HSTS, una configuración precisa de la confianza en el proxy inverso y comprobaciones con el servidor público.

Habilitar el cifrado del lado del servidor de Nextcloud con impacto medido

Configure Nextcloud SSE para el almacenamiento que lo necesite, proteja las claves de cifrado y mida el impacto en la transferencia y la CPU antes de cifrar los archivos existentes.

Agregar búsqueda de texto completo de Elasticsearch a Nextcloud

Conecta la búsqueda de archivos de Nextcloud con Elasticsearch, indexa el contenido de los documentos y elige una configuración que se adapte a las necesidades de tu servidor y de seguridad.

Establece una política de caducidad fiable para los archivos eliminados de Nextcloud.

Establece una política de caducidad fiable para los archivos eliminados de Nextcloud.

Configure Nextcloud para que elimine los archivos borrados después de un período de retención definido, programe tareas en segundo plano de forma fiable y evite comandos que vacíen la papelera de todos los usuarios.

Borrar la advertencia de Nextcloud sobre índices de base de datos faltantes

Borrar la advertencia de Nextcloud sobre índices de base de datos faltantes

Ejecuta la reparación de OCC de Nextcloud de forma segura, previsualiza los cambios en la base de datos y comprueba por qué persiste la advertencia.

Aumentar el límite de subida web de Nextcloud por encima de 2 GB

Aumentar el límite de subida web de Nextcloud por encima de 2 GB

Permita la carga de archivos más grandes en el navegador Nextcloud alineando la configuración de PHP, Nginx o Apache, el almacenamiento temporal y el tiempo de espera, y verifique qué límite está bloqueando el archivo.

Borre la advertencia de memoria PHP de Nextcloud en el servidor web.

Establezca el límite de memoria PHP que Nextcloud utiliza realmente, reinicie el servicio correcto y confirme la configuración de 512 MB en la Vista general de administración.

Conecta un bucket compatible con S3 al almacenamiento externo de Nextcloud.

Monta un bucket de almacenamiento de objetos compatible en Nextcloud utilizando su backend S3, con el punto final, las credenciales, el ámbito de acceso y los pasos de verificación correctos.

Traslada tus datos de Nextcloud a una unidad externa sin perder espacio de almacenamiento.

Traslada tus datos de Nextcloud a una unidad externa sin perder espacio de almacenamiento.

Traslada de forma segura un directorio de datos de Linux Nextcloud a una unidad externa utilizando un montaje UUID persistente, el modo de mantenimiento, una copia verificada y el enlace simbólico de la ruta original.