No se puede actualizar a WordPress 4.7.2 – Error: permisos de archivo inconsistentes

7 minutos de lectura

Sigo recibiendo este mensaje de error cuando trato de actualizar automáticamente WordPress a 4.7.2 a través del administrador:

Actualizar WordPress Descargando actualización desde https://downloads.wordpress.org/release/wordpress-4.7.2-new-bundled.zip

Desempaquetando la actualización…

La actualización no se puede instalar porque no podremos copiar algunos archivos. Esto generalmente se debe a permisos de archivo inconsistentes.: wp-admin/includes/update-core.php

Instalación fallida

Intenté ejecutar los siguientes comandos desde Este artículo en mi servidor y sigo recibiendo un mensaje de error:

sudo find . -type f -exec chmod 664 {} +
sudo find . -type d -exec chmod 775 {} +
sudo chmod 660 wp-config.php

¿Qué estoy haciendo mal? ¿No debería funcionar la actualización automática con los permisos de archivo/carpeta correctos?

avatar de usuario
craig

¿Ha intentado cargar manualmente los archivos de WordPress actualizados, a través de un programa como FTP (Filezilla)? ¿Sigues teniendo el mismo problema?

Actualizar:

Ejecute lo siguiente

Restablecer los permisos de todos los archivos a 664:

find /path/to/site/ -type f -exec chmod 664 {} \;

Restablecer permisos de directorios a 775:

find /path/to/site/ -type d -exec chmod 775 {} \;

Restablezca el grupo al grupo de wordpress (o cualquier grupo que tenga sentido para usted)

chgrp -R wordpress /path/to/site/

  • No lo tengo aún. Realmente esperaba arreglar las actualizaciones automáticas para facilitar su uso en el futuro.

    – Liz

    1 de febrero de 2017 a las 23:22

  • ¿Ha intentado cambiar sus archivos web de WordPress, a través de SSH, a 644 y todos los directorios a 755? Yo uso la avenida SSH Access, a través de Filezilla.

    –Craig

    01/02/2017 a las 23:30

  • Gracias Craig. Ejecuté los comentarios anteriores: sudo find . -type f -exec chmod 664 {} + sudo find . -type d -exec chmod 775 {} +.

    – Liz

    1 de febrero de 2017 a las 23:32

  • No te preocupes Liz. Si bien puedo navegar por mi propio servidor, soy bastante nuevo en su enfoque. Si sigue mi enfoque, como se sugiere en mi comentario anterior, no debería tener ningún problema. Eché un vistazo rápido en Internet y encontré este artículo: aaronjholbrook.com/wordpress-permissions-update-error-resolved Mira si esto te ayuda. ¡Solo asegúrese de hacer una copia de seguridad completa de su sitio web, por si acaso! 🙂

    –Craig

    1 de febrero de 2017 a las 23:42

  • ¡Excelente! ¡Me alegro de que mi aporte te haya servido de algo! Buena suerte con su sitio web.

    –Craig

    2 de febrero de 2017 a las 9:09

avatar de usuario
ventisca

Para mí, el siguiente comando funcionó. En el ejemplo a continuación, reemplace “www-data” con el nombre del usuario bajo el cual se ejecuta el servicio del servidor web. También reemplace “/ruta/al/sitio” con la ruta real a la raíz de su sitio WP.

chown -R www-data:www-data /path/to/site

IMPORTANTE Asegúrese de revertir esto más tarde otorgando la propiedad a un usuario normal (no al usuario del servicio web), de lo contrario, no será seguro en absoluto. Además, deje al usuario del servicio web como propietario de la carpeta wp-content/uploads para que los usuarios puedan cargar medios.

chown -R user:group /path/to/site
chown -R www-data:www-data /path/to/site/wp-content/uploads

  • si está usando nginx, entonces use: $ chown -R nginx:nginx /ruta/al/sitio

    – Klanjabrik

    14 de agosto de 2018 a las 4:05

Tuve problemas similares con la actualización en mi local. Terminé usando wp-cli: http://wp-cli.org/

Si tiene acceso ssh, vale la pena echarle un vistazo. corrí un sudo wp core update --allow-root (no recomendado para el sitio en vivo) y se actualiza sin error de permiso.

Ejecuté estos comandos y ahora funciona bien (tanto en el tablero como en ftp).

sudo usermod -aG www-data $USER

sudo chown -R www-data:www-data /var/www

sudo chmod -R 774 /var/www

Para mí, todas las soluciones sugeridas no funcionaron porque estoy usando un cpanel de Plesk, lo que funcionó para mí es actualizar WordPress manualmente siguiendo los pasos mencionados aquí:

1- Primero crea una copia de seguridad completa de tu sitio web. Esto es muy importante en caso de que cometa un error.

2- Descargue el archivo ZIP de WordPress más reciente de wordpress.org.

3- Descomprima el archivo en un directorio en su máquina local o en un directorio separado en su sitio web.

4- Desactive todos los complementos en su sitio de WordPress.

5- Vaya al directorio raíz de su sitio web y elimine sus directorios ‘wp-includes’ y ‘wp-admin’. Puede hacerlo a través de sFTP o a través de SSH.

6- Cargue (o copie) los nuevos directorios wp-includes y wp-admin de la nueva versión de WordPress que descomprimió en el directorio raíz de su sitio web para reemplazar los directorios que acaba de eliminar.

7- No borres tu directorio wp-content ni ninguno de los archivos de ese directorio. Copie los archivos del directorio wp-content en la nueva versión de WordPress a su directorio wp-content existente. Sobrescribirá cualquier archivo existente con el mismo nombre. Todos sus otros archivos en wp-content permanecerán en su lugar.

8- Copie todos los archivos del directorio raíz (‘/’) de la nueva versión de WordPress que descomprimió en el directorio raíz de su sitio web (o el directorio raíz de su instalación de WordPress). Sobrescribirá cualquier archivo existente y también se copiarán archivos nuevos. Su archivo wp-config.php no se verá afectado porque WordPress nunca se distribuye con un archivo wp-config.php.

9- Examine el wp-config-sample.php que se distribuye con WordPress para ver si se han agregado nuevas configuraciones que desee usar o modificar.

10- Si está actualizando manualmente después de una actualización automática fallida, elimine el archivo .maintenance de su directorio raíz de WordPress. Esto eliminará el mensaje de “actualización fallida” de su sitio.

11- Visite su página principal de administración de WordPress en /wp-admin/ donde se le puede pedir que inicie sesión nuevamente. Es posible que también deba actualizar su base de datos y se le preguntará si es necesario. Si no puede iniciar sesión, intente borrar las cookies.

12- Vuelva a habilitar los complementos que deshabilitó anteriormente.

13- Borre la memoria caché de su navegador para asegurarse de que puede ver todos los cambios. Si está utilizando un caché de front-end como ‘barniz’, también debe borrarlo para asegurarse de que sus clientes puedan ver los cambios más recientes en su sitio.

14- Su actualización ahora está completa y debería estar ejecutando la versión más reciente de WordPress.

avatar de usuario
Htin Aung

Si su WordPress está instalado con Bitnami, use estos comandos. (bitnami: demonio)

TARGET es la carpeta de la aplicación de WordPress:

sudo chown -R bitnami:daemon TARGET
sudo find TARGET -type d -exec chmod 775 {} \;
sudo find TARGET -type f -exec chmod 664 {} \;
sudo chmod 640 TARGET/wp-config.php

árbitro: https://docs.bitnami.com/bch/apps/wordpress-pro/administration/understand-file-permissions/

avatar de usuario
ambulatorio

Una nota para futuros lectores. Incluso si la propiedad y los permisos de su archivo/directorio son correctos, este problema aún puede ser causado por SELinux que niega el acceso de escritura a los archivos en su directorio de WordPress.

Depurar:

getenforce

Le dirá si SELinux se está ejecutando.

Si es así, verifique el contexto de SELinux en sus archivos de WordPress con

ls -Z /path/to/wordpress

Si sus archivos tienen un contexto de “tipo” (el tercer segmento de la lista) de

 httpd_sys_content_t

esto significa que SELinux los considera archivos de configuración de solo lectura y no permitirá que su servidor web escriba en ellos.

Puede actualizar el contexto con

chcon -R -t httpd_sys_rw_content_t /path/to/wordpress

esto los establecerá en un contexto que le permita a su servidor web escribir en ellos. Tenga en cuenta que esto luego delega la responsabilidad en los permisos del sistema de archivos para permitir o no cualquier operación. Entonces, por ejemplo, establecer el contexto como se indica arriba no permitirá que nginx escriba en archivos propiedad de root. Solo permite la posibilidad de escribir en ellos, si los permisos del archivo lo permiten.

¿Ha sido útil esta solución?