Borre la advertencia de ownCloud Apache .htaccess de forma segura.
Configure AllowOverride All solo para la raíz web de ownCloud, valide el vhost Apache activo y recargue de forma segura para restaurar las reglas de .htaccess.
Para ownCloud 10, comience aplicando los cambios de esquema proporcionados por el núcleo y las aplicaciones instaladas, y luego verifique qué consultas a la base de datos son realmente lentas. No agregue índices a ciegas ni asuma que el comando Nextcloud db:add-missing-indiceses un comando de reparación compatible con ownCloud 10: la referencia actual de ownCloud Server 10.15 OCC no lo documenta. Los índices pueden acelerar las lecturas coincidentes, pero cada índice agregado consume almacenamiento y aumenta la carga de trabajo en las inserciones, actualizaciones y eliminaciones.
Este enfoque es adecuado para un administrador que experimenta lentitud en la página, el listado de archivos o el funcionamiento de una aplicación de ownCloud, y que puede acceder al servidor y a la base de datos. Si la instancia completa es lenta o se ejecuta en SQLite con varios usuarios activos, revise la base de datos y la configuración de la implementación antes de considerar los índices como la causa del problema.
Un índice de base de datos es una estructura auxiliar que ayuda a la base de datos a localizar filas sin necesidad de escanear toda la tabla. ownCloud y sus aplicaciones definen tablas, columnas e índices como parte de su esquema. Las actualizaciones del núcleo y de las aplicaciones pueden incluir migraciones de esquema que crean o modifican dichos índices. Por lo tanto, mantener actualizado el esquema de la aplicación es el primer paso más seguro.
Utilice las siguientes distinciones antes de realizar cualquier cambio:
Un índice no es una solución general para aumentar la velocidad. Si bien un mayor número de índices puede mejorar ciertas búsquedas, también puede incrementar el tamaño de la base de datos y la latencia de escritura. El resultado depende de la estructura de la consulta, el tamaño de la tabla, la distribución de los datos, el motor de la base de datos y el estado de la caché.
sudo -u www-data ./occ status. Anote la versión de ownCloud, las versiones de las aplicaciones instaladas, el tipo de base de datos y el prefijo de la tabla de config/config.php. Reemplace www-datacon la cuenta del servidor web en su distribución.mysqldump --single-transactioncomo ejemplo bases de datos compatibles con MySQL; adapte los valores de host, usuario y base de datos a su configuración. No introduzca la contraseña de la base de datos directamente en el historial de la consola ni en la lista de procesos.Si hay una actualización pendiente del núcleo o de la aplicación ownCloud, utilice el proceso de actualización documentado para su método de instalación. En una instalación convencional de Linux, el comando OCC se ejecuta como el usuario HTTP desde el directorio raíz de ownCloud. Al seguir las instrucciones de actualización manual, el comando es:
sudo -u www-data ./occ upgrade
No lo ejecute en una instalación cuyos archivos se hayan actualizado solo parcialmente. Primero, prepare los archivos de la versión correspondiente y siga los pasos de actualización oficiales para esa versión. Para implementaciones de Docker, utilice la invocación OCC documentada del contenedor en lugar de una ruta de host que apunte a un entorno PHP diferente.
Lea la salida completa del comando y los registros. Un comando exitoso debería finalizar sin que se reporte ningún error de migración; sin embargo, esto no garantiza que se solucionen todas las consultas lentas. Si la actualización reporta un error de migración, deténgase e investigue dicho error en lugar de ejecutar repetidamente el comando o editar manualmente las tablas del esquema. Consulte la documentación de actualización de ownCloud específica de la versión y al responsable del mantenimiento de la aplicación cuando se requiera una migración de la aplicación.
La referencia de ownCloud 10.15 OCC enumera comandos de base de datos como db:convert-type, db:convert-mysql-charset, y db:restore-default-row-format, pero no enumera db:add-missing-indices. Dado que la disponibilidad de comandos puede variar según la versión y el código instalado, puede inspeccionar su propia instancia con sudo -u www-data ./occ list dbo sudo -u www-data ./occ help db:add-missing-indices. Si este último informa un comando desconocido, no copie el comando de un tutorial de Nextcloud en ownCloud. Consulte la documentación para su versión exacta de ownCloud y utilice la ruta de actualización o migración de aplicación compatible.
La consulta SQL manual es una opción para el administrador de la base de datos en caso de un problema de consulta verificado, no una optimización rutinaria de ownCloud. Primero, capture la consulta lenta exacta y ejecute la herramienta de inspección del plan del motor, como EXPLAINla de MySQL/MariaDB o PostgreSQL. Confirme si el plan escanea una cantidad innecesariamente grande de filas y si se está ignorando un índice existente. El prefijo de tabla de ownCloud es configurable, así que nunca asuma que los nombres de las tablas comienzan con oc_.
Antes de crear un índice, compare las columnas propuestas con los filtros, las uniones y el orden de clasificación de la consulta. El orden de las columnas de un índice compuesto es importante; duplicar un índice existente puede aumentar el costo sin mejorar el plan. Consulte con un administrador de bases de datos para que tenga en cuenta el comportamiento de la versión de la base de datos, la compatibilidad con la creación de índices en línea o simultánea, el espacio disponible en disco, el impacto de los bloqueos y el procedimiento de reversión. Estos detalles dependen del motor y la versión, por lo que no existe una única instrucción SQL segura para todas las instalaciones de ownCloud 10.
No modifique las tablas de ownCloud ni elimine índices solo porque un nombre parezca redundante. Estos cambios pueden entrar en conflicto con una migración posterior del núcleo o de la aplicación, y pueden dañar una función que utilice una consulta diferente a la que inspeccionó. Mantenga un registro escrito de cualquier cambio manual en el esquema y asegúrese de que se pueda recrear después de la restauración o migración. Si el índice faltante es un defecto del esquema del producto, utilice un parche o una versión de la aplicación de ownCloud compatible.
Si el plan ya utiliza un índice adecuado, es poco probable que añadir otro solucione un retraso causado por otro motivo. Compare estas opciones con el cuello de botella observado:
Cambiar el motor de la base de datos es un proyecto de migración, no un simple ajuste de índice. ownCloud ofrece occ db:convert-typeconversiones compatibles; revise sus requisitos previos, haga una copia de seguridad primero y pruebe la instancia convertida antes de que los usuarios accedan a ella.
Repita la misma acción del usuario en condiciones similares y compare la duración de la consulta, el plan de ejecución, las filas examinadas, la E/S de la base de datos y la carga del servidor. Confirme que la página o aplicación de ownCloud correspondiente se complete correctamente y que los registros no muestren errores de base de datos ni de migración. Un resultado más rápido en una solicitud no demuestra una mejora general; compare varias solicitudes representativas y tenga en cuenta las cachés activas.
Si la misma consulta sigue siendo lenta incluso utilizando un índice adecuado, investigue los bloqueos, el almacenamiento, la latencia de la red, los procesos PHP y los límites de recursos de la base de datos. Si el plan de consulta o la estructura de la tabla no están claros, deténgase antes de ejecutar DDL manual y solicite a un administrador de bases de datos o al soporte de ownCloud que lo revise. El resultado óptimo es un esquema alineado con la versión de ownCloud instalada y las consultas medidas, sin cambios de índice no registrados.
Configure AllowOverride All solo para la raíz web de ownCloud, valide el vhost Apache activo y recargue de forma segura para restaurar las reglas de .htaccess.
Habilite la aplicación de auditoría empresarial de ownCloud, dirija los eventos de admin_audit a un archivo de registro protegido y confirme que se están registrando las acciones reales de los usuarios.
Alinea el emisor del reino, el cliente web y las reclamaciones de usuario de Keycloak para permitir que ownCloud Infinite Scale inicie sesión de forma fiable en los clientes web y móviles.
Transfiere los archivos propios y los recursos compartidos salientes con el comando occ de ownCloud, comprende qué se queda y verifica el acceso antes de eliminar la cuenta antigua.
Aprende cuándo los índices de la base de datos ownCloud 10 necesitan atención, cómo aplicar de forma segura las actualizaciones de esquema compatibles y cuándo la optimización de consultas o un cambio en la base de datos es la mejor solución.
Conecte un recurso compartido de red de Windows o Samba a ownCloud a través de Almacenamiento externo, verifique las credenciales y solucione los problemas de carpetas inaccesibles de forma segura.
Elimine todas las versiones de archivos almacenadas de ownCloud Server Classic para una cuenta o para todos los usuarios, y distinga entre una eliminación completa y la caducidad basada en la retención.
Para rastrear un rechazo de conexión móvil de ownCloud, verifique la URL del servidor, la red telefónica, el punto final HTTPS y los registros del servidor en el orden correcto.
Sustituya la ejecución de trabajos bajo demanda por un temporizador systemd que ejecute el comando occ system:cron compatible con ownCloud cada 15 minutos.
Rastrea la solicitud WebDAV a través de Apache, Nginx o un proxy inverso, y luego confirma que la sincronización de ownCloud funciona con una prueba PROPFIND autenticada.