Mettre à jour des plugins dans WordPress est généralement simple — mais si vous exploitez votre site sur une instance AWS EC2 et voyez cette erreur frustrante :
Mise à jour échouée : Could not create directory...
Vous n'êtes pas seul.
Dans cet article, je vous montre comment j'ai corrigé cette erreur sur plusieurs sites de blog hébergés sur EC2 en appliquant les bonnes permissions de fichiers. Ce guide est particulièrement utile pour les développeurs et administrateurs système qui gèrent WordPress sur des serveurs cloud comme AWS.
🚫 Le problème
Lors de la mise à jour d'un plugin, WordPress affiche cette erreur :
Mise à jour échouée : Could not create directory. /var/www/your-site.com/wp-content/upgrade/plugin-folder
Cela signifie que WordPress (en réalité, PHP) n'a pas la permission de créer ou d'écrire dans le répertoire upgrade.
✅ La cause principale
Cela se produit le plus souvent quand :
- Le répertoire appartient au mauvais utilisateur
- Des permissions incorrectes empêchent PHP d'écrire
- Le répertoire n'existe pas du tout
Même si d'autres sites sur le même serveur fonctionnent parfaitement, cette erreur peut survenir sur un site spécifique si la propriété ou les permissions ne correspondent pas.
🔧 Solution étape par étape (testée sur EC2)
Voici ce que j'ai fait pour résoudre le problème sur mes sites de blog :
1. Vérifier la propriété et les permissions actuelles
ls -ld /var/www/*
ls -ld /var/www/*/wp-content
Cela montre quel utilisateur est propriétaire des fichiers de chaque site. J'ai gardé la propriété sur ec2-user pour la cohérence.
2. Recréer le répertoire upgrade
Si le dossier upgrade est manquant ou restreint, recréez-le en toute sécurité :
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. Corriger les permissions des fichiers et dossiers
Assurez un accès correct dans tout le projet :
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. Définir le Sticky Group Bit (recommandé)
Cela garantit que tous les nouveaux dossiers héritent du bon groupe :
sudo chmod g+s /var/www/your-site.com/wp-content
5. Redémarrer PHP et le serveur web
sudo systemctl restart php-fpm
sudo systemctl restart nginx
✅ Résultat
Après avoir appliqué ces modifications, les mises à jour de plugins fonctionnent parfaitement sur tous les sites — plus d'erreurs.:
🧠 Conseil pro pour la gestion multi-site
Si vous gérez plusieurs sites WordPress sur un seul serveur EC2 :
- Utilisez toujours un utilisateur cohérent (ex. :
ec2-user) - Configurez l'accès groupe sur
wwwou similaire - Utilisez
chmod g+ssur les dossiers critiques commewp-contentpour prévenir les problèmes de permissions futurs
📝 Conclusion
Cette erreur peut sembler effrayante, mais elle est facile à corriger une fois que vous comprenez comment fonctionnent les permissions dans un environnement Linux. En appliquant la bonne propriété ec2-user et les permissions de dossier correctes, vous éviterez les erreurs de mise à jour de plugins WordPress et économiserez des heures de travail manuel.