====== 馃寪 Soluci贸n a Error de Escritura y Permisos en DokuWiki (datadir is not accessible) ====== **Fecha de incidencia:** Septiembre 2026 **Error t铆pico:** ''The datadir ('pages') at /home/morezane/public_html/wiki/data/pages is not found, isn't accessible or writable.'' ===== 1. Causa Ra铆z ===== El problema se desencadena tras mantenimientos, parches de seguridad o actualizaciones autom谩ticas del servidor de hosting (cPanel/CloudLinux): * **Desalineaci贸n del proceso web (PHP Handler):** El motor de PHP (ej. ''alt-php83'') pasa a ejecutarse bajo el usuario gen茅rico del servidor (''nobody'') mientras los archivos pertenecen al usuario de la cuenta (''morezane''). * **Conflicto de permisos 755:** Bajo permisos de seguridad est谩ndar (''755'' en carpetas y ''644'' en archivos), el proceso de PHP en modo ''nobody'' no tiene derechos de escritura sobre las carpetas de ''morezane''. ===== 2. Evidencia Diagn贸stica por Cambio de Permisos ===== El comportamiento del sitio al alternar permisos entre **777** y **755** permite diagnosticar la causa exacta sin necesidad de revisar los logs del servidor: ^ Permiso aplicado ^ Resultado en Navegador ^ Diagn贸stico T茅cnico / Evidencia ^ Acci贸n Correctiva ^ | **777** | Funciona (carga y guarda) | **Aislamiento exitoso:** El c贸digo de DokuWiki es correcto, pero el proceso de PHP corre bajo un usuario gen茅rico del servidor (''nobody'') distinto al due帽o del archivo (''morezane''). | Ajustar el PHP Handler a controlador de usuario (''ea-php'') o solicitar correcci贸n de ''chown''. | | **755** | Error ''datadir is not accessible'' | **Desalineaci贸n de Identidad:** El permiso 755 otorga escritura exclusivamente al propietario. Al fallar, evidencia que PHP no se ejecuta como el due帽o del directorio. | Cambiar versi贸n a ''ea-php'' en cPanel o ejecutar ''chown -R usuario:usuario''. | | **777** | Persiste el error | **Bloqueo de PHP / Apache:** El fallo no es del sistema de archivos, sino de una directiva interna de PHP (''open_basedir'') o ruta err贸nea en ''conf/local.php''. | Revisar la casilla ''open_basedir'' en la configuraci贸n de PHP del cPanel (dejar en blanco). | | **755** | Funciona correctamente | **Alineaci贸n Perfecta:** El usuario del proceso PHP coincide con el propietario de la carpeta. Entorno 100% seguro. | Estado ideal de operaci贸n. | ===== 3. Protocolo de Soluci贸n R谩pida ===== ==== Paso 1: Alineaci贸n del Controlador de PHP (cPanel) ==== 1. Entrar a cPanel -> **Administrador MultiPHP** (MultiPHP Manager). 2. Seleccionar el dominio o subdominio de la wiki. 3. Cambiar el controlador de versi贸n ''alt-php'' a la variante **''ea-php''** (ejemplo: ''ea-php83'' o ''ea-php82''). 4. Las versiones ''ea-php'' ejecutan obligatoriamente los procesos PHP bajo la identidad del usuario de cPanel (''morezane''). ==== Paso 2: Normalizaci贸n de Propietario (chown) ==== Si la propiedad de los archivos fue alterada por el servidor, solicitar al soporte del hosting (o ejecutar mediante terminal/SSH): ` chown -R morezane:morezane /home/morezane/public_html/wiki/data ` ==== Paso 3: Restablecer Permisos Est谩ndar ==== Evitar el uso permanente de permisos ''777''. Establecer desde el Administrador de Archivos de cPanel: * **Carpetas:** ''0755'' * **Archivos:** ''0644'' ==== Paso 4: Limpieza de Cach茅 y Archivos Temporales ==== Si surgen advertencias en bloques rosados referentes a ''data/cache/'' o ''data/tmp/captcha/'': 1. Navegar a ''/public_html/wiki/data/cache/''. 2. Eliminar las carpetas temporales con nombres de un solo car谩cter (de la ''0'' a la ''f''). DokuWiki las regenerar谩 autom谩ticamente. 3. Asegurar la existencia de las subcarpetas ''data/tmp/'' y ''data/log/error/''. ==== Paso 5: Tiempo de Propagaci贸n ==== * Tras modificar la versi贸n de PHP en cPanel o aplicar cambios de propiedad en el servidor, **esperar de 3 a 10 minutos**. Los demonios de PHP-FPM o LiteSpeed requieren ese intervalo para reiniciar los worker processes en memoria. * Recargar el sitio web forzando la cach茅 del navegador con ''Ctrl + F5'' (o ''Cmd + Shift + R''). ===== 4. Resguardo de Seguridad ===== Confirmar que el archivo ''/public_html/wiki/data/.htaccess'' contenga la siguiente regla para evitar la lectura p煤blica de los archivos de texto por URL: ` Require all denied `