Ir al contenido

La carpeta existe, pero no se puede escribir dentro

Esta guía es para el caso en el que Vulnity sí encuentra su carpeta segura, pero no puede escribir archivos dentro.

Úsala si en WordPress ves un aviso parecido a este:

  • Vulnity found the secure firewall storage directory, but it could not write files inside it...
  • Vulnity found its secure log storage directory, but it could not write files inside it...

La carpeta ya existe, pero PHP no puede guardar archivos dentro.

La ruta principal es:

wp-content/vulnity-data/

Y las subcarpetas que necesita Vulnity son:

wp-content/vulnity-data/firewall/
wp-content/vulnity-data/logs/

Corrige permisos de escritura en estas rutas:

wp-content/vulnity-data/
wp-content/vulnity-data/firewall/
wp-content/vulnity-data/logs/
  1. Abre el administrador de archivos de tu hosting.
  2. Entra en la instalación de WordPress.
  3. Ve a wp-content/.
  4. Entra en vulnity-data/.
  5. Cambia permisos de:
    • vulnity-data
    • firewall
    • logs
  6. Prueba primero con:
755
  1. Si sigue fallando, prueba:
775
  1. Recarga el panel de WordPress.

Entonces el problema probablemente no es el permiso numérico, sino el propietario o grupo.

Ejemplo típico:

  • wp-content/ pertenece a user:user
  • wp-content/vulnity-data/logs/ pertenece a root:root

En ese caso, PHP puede seguir sin escribir aunque la carpeta tenga 775.

Desde la raíz de WordPress:

Ventana de terminal
chmod 755 wp-content/vulnity-data
chmod 755 wp-content/vulnity-data/firewall
chmod 755 wp-content/vulnity-data/logs

Si sigue saliendo el aviso:

Ventana de terminal
chmod 775 wp-content/vulnity-data
chmod 775 wp-content/vulnity-data/firewall
chmod 775 wp-content/vulnity-data/logs

Es importante que el propietario no sea root, que sea igual que el de las demás carpetas.

Ventana de terminal
stat -c '%U %G %n' wp-content wp-content/vulnity-data wp-content/vulnity-data/firewall wp-content/vulnity-data/logs

Lo recomendable es que vulnity-data, firewall y logs tengan el mismo propietario/grupo que wp-content.

Si conoces el usuario correcto:

Ventana de terminal
chown -R <usuario>:<grupo> wp-content/vulnity-data

Ejemplo:

Ventana de terminal
chown -R user:user wp-content/vulnity-data

Normalmente el problema ya no es el número de permisos, sino el propietario o grupo del directorio.

Puedes enviar esto a tu hosting:

!!! info “Mensaje para soporte” Tengo instalado el plugin Vulnity en WordPress. La carpeta wp-content/vulnity-data/ ya existe, pero PHP no puede escribir dentro. Necesito permisos de escritura para el usuario o proceso con el que corre PHP sobre wp-content/vulnity-data/, wp-content/vulnity-data/firewall/ y wp-content/vulnity-data/logs/.

Cuando esté bien:

  • Desaparecerá el aviso de Vulnity.
  • El plugin podrá crear o actualizar:
wp-content/vulnity-data/firewall/blocks.php
wp-content/vulnity-data/logs/vulnity-log.php
  • No hace falta tocar Apache.
  • No hace falta tocar Nginx.
  • No hace falta cambiar nada en uploads.
  • No hace falta usar 777 salvo prueba temporal muy puntual.