Pile LEMP sur VPS digitalocean.
Je n'ai pas réussi à faire fonctionner "wp core update" à moins que public (ou "Autre") ne dispose d'une autorisation d'exécution, c'est-à-dire 757 ou 777.
Sinon, il génère "Erreur: Impossible de créer le répertoire" à chaque fois.
J'ai vérifié que l'utilisateur qui possède l'installation de wordpress est le même utilisateur qui exécute "wp core update"
Les choses que j'ai essayées jusqu'à présent sont la définition d'autorisations sur 775, chown www-data: www-data, déplacement du fichier wp-cli.
J'ai plusieurs sites Web en cours d'exécution sur ce droplet/serveur, et chacun rencontre le même problème.
Donc, supposons que je mette un cronjob pour définir les autorisations sur 757, mette à jour et redéfinisse sur 755 répertoires 644 fichiers 660 wp-config.php
Est-ce relativement sûr de faire? Est-ce que je mettrais considérablement les sites de mes clients en danger?
Je pense que définir un travail cron pour activer et désactiver automatiquement les autorisations peut être un peu extrême :-) Je pense que cela vaut probablement la peine de passer du temps à configurer des autorisations de travail sur votre serveur, plutôt qu'un travail cron qui pourrait présenter d'autres problèmes.
Cela a été une bonne ressource pour moi - https://codex.wordpress.org/Hardening_WordPress .
Cela a également été une excellente ressource pour moi - https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-lemp-on-ubuntu-16-04
Voici les étapes que j'ai suivies pour autoriser les mises à jour automatiques/wp-cli de WordPress et des plug-ins sur un droplet Ubuntu avec NGINX en tant que serveur Web.
Définissez les autorisations de fichier et de dossier recommandées:
750 for Directories
640 for Files
except for wp-config.php, this should be 440.
Pour faire cela pour les annuaires:
find /srv/www/your-site/ -type d -exec chmod 750 {} \;
et fichiers:
find /srv/www/your-site/ -type f -exec chmod 640 {} \;
et wp-config.php:
Sudo chmod 440 your-site/wp-config.php
Définissez le propriétaire et le groupe sur web: www-data où web est un utilisateur non root doté d'autorisations utilisateur Sudo.
Sudo chown -R web:www-data /srv/www/your-site
Cette commande vous donnera plus d’informations sur les utilisateurs/groupes sous lesquels NGINX est exécuté:
ps -eo pid,comm,euser,supgrp | grep nginx
https://superuser.com/questions/398833/how-to-determine-the-user-and-group-of-a-deamon-in-ubuntu
Le groupe est www-data dans mon cas.
Définissez le bit setgid pour que tous les nouveaux fichiers héritent du groupe du répertoire parent.
Sudo find /srv/www/your-site -type d -exec chmod g+s {} \;
Donnez au groupe un accès en écriture au répertoire wp-content.
Sudo chmod g+w /srv/www/your-site/wp-content
Donnez au groupe un accès en écriture aux répertoires plugins, thèmes et uploads.
Sudo chmod -R g+w /srv/www/your-site/wp-content/themes
Sudo chmod -R g+w /srv/www/your-site/wp-content/plugins
Sudo chmod -R g+w /srv/www/your-site/wp-content/uploads
Assurez-vous que vous exécutez la commande de mise à jour principale en tant que propriétaire à l'étape 2, si nécessaire, basculez d'abord vers cet utilisateur.
su web
wp core update