Actualizar plugins en WordPress suele ser simple — pero si ejecutas tu sitio en una instancia AWS EC2 y ves este frustrante error:
Actualización fallida: Could not create directory...
No estás solo.
En este artículo, te mostraré cómo solucioné este error en múltiples sitios de blog alojados en EC2 aplicando los permisos de archivo correctos. Esta guía es especialmente útil para desarrolladores y administradores de sistemas que gestionan WordPress en servidores cloud como AWS.
🚫 El problema
Al intentar actualizar un plugin, WordPress muestra este error:
Actualización fallida: Could not create directory. /var/www/your-site.com/wp-content/upgrade/plugin-folder
Esto significa que WordPress (en realidad, PHP) no tiene permiso para crear o escribir en el directorio upgrade.
✅ La causa raíz
Comúnmente, esto sucede cuando:
- El directorio pertenece al usuario equivocado
- Permisos incorrectos impiden que PHP escriba
- El directorio no existe en absoluto
Incluso si otros sitios en el mismo servidor funcionan bien, este error puede ocurrir en un sitio específico si la propiedad o los permisos no coinciden.
🔧 Solución paso a paso (probada en EC2)
Esto es lo que hice para solucionarlo en mis sitios de blog:
1. Verificar propiedad y permisos actuales
ls -ld /var/www/*
ls -ld /var/www/*/wp-content
Esto mostrará qué usuario es propietario de los archivos de cada sitio. Mantuve la propiedad como ec2-user por consistencia.
2. Recrear el directorio upgrade
Si la carpeta upgrade falta o está restringida, recréala de forma segura:
sudo rm -rf /var/www/your-site.com/wp-content/upgrade
sudo mkdir /var/www/your-site.com/wp-content/upgrade
sudo chown -R ec2-user:www /var/www/your-site.com/wp-content/upgrade
sudo chmod -R 775 /var/www/your-site.com/wp-content/upgrade
3. Corregir permisos de archivos y carpetas
Asegura el acceso adecuado en todo el proyecto:
sudo find /var/www/your-site.com -type d -exec chmod 775 {} \;
sudo find /var/www/your-site.com -type f -exec chmod 664 {} \;
4. Establecer Sticky Group Bit (recomendado)
Esto asegura que todas las carpetas nuevas hereden el grupo correcto:
sudo chmod g+s /var/www/your-site.com/wp-content
5. Reiniciar PHP y servidor web
sudo systemctl restart php-fpm
sudo systemctl restart nginx
✅ Resultado
Después de aplicar estos cambios, las actualizaciones de plugins funcionan correctamente en todos los sitios — sin más errores.:
🧠 Consejo profesional para gestión multi-sitio
Si gestionas múltiples sitios WordPress en un solo servidor EC2:
- Siempre usa un usuario consistente (ej.
ec2-user) - Establece el acceso de grupo a
wwwo similar - Usa
chmod g+sen carpetas críticas comowp-contentpara prevenir problemas futuros de permisos
📝 Conclusión
Este error puede parecer aterrador, pero es fácil de solucionar una vez que entiendes cómo funcionan los permisos en un entorno Linux. Aplicando la propiedad correcta de ec2-user y los permisos de carpeta adecuados, prevendrás errores de actualización de plugins de WordPress y ahorrarás horas de trabajo manual.