web-dev-qa-db-fra.com

WP-CLI :: Impossible d'installer le plugin en tant que www-data

Vient de commencer à utiliser WP-CLI et au lieu d’exécuter avec --allow-root, a décidé de s’exécuter en tant qu’utilisateur www-data. Les choses sont bonnes jusqu'à présent mais ne peuvent installer aucun plugin de cette façon:

root@wp-ks320:/var/www/ks320# Sudo -u www-data wp plugin install hello-dolly
Installing Hello Dolly (1.6)
Warning: Could not create directory.
Downloading install package from https://downloads.wordpress.org/plugin/hello-dolly.1.6.Zip...
Unpacking the package...
#
root@wp-ks320:/var/www/ks320# Sudo -u www-data -- wp plugin status hello-dolly
Error: The 'hello-dolly' plugin could not be found.

Continuez à dire Could not create directory mais créer un répertoire en tant que www-data n'est pas vraiment un problème:

root@wp-ks320:/var/www/ks320# Sudo -u www-data -- mkdir wp-content/testDir
root@wp-ks320:/var/www/ks320# ls -l wp-content|grep test
drwxr-xr-x  2 www-data www-data     4096 Nov 15 22:58 testDir

Si j'utilise plutôt wp --allow-root plugin install hello-dolly, cela fonctionne très bien, mais le répertoire a été créé en tant que root pour une raison évidente. Qu'est-ce qui me manque ici ou que je fais mal Meilleur!

5
MacUsers

En fonction du problème que vous avez signalé et de la prévisualisation du bash Shell, il semble que le propriétaire/groupe et les autorisations définis pour le docroot du site Web soient incorrects.

Plus que probablement dans votre environnement d'hébergement, le répertoire entier ks320 n'a actuellement pas www-data en tant qu'attribution de groupe.

Il peut appartenir à root mais doit être attribué au groupe www-data (récursivement). L'exécution d'un ls -l à partir du répertoire /var/www générera les affectations actuelles des autorisations, du propriétaire et du groupe dans chaque fichier et dossier.

Il ressemble probablement

drwr-xr-x  ###  root  root  ###   DATE   FILE_OR_FOLDER_NAME

mais devrait ressembler à:

drwrwxr-x  ###  root  www-data  ###   DATE   FILE_OR_FOLDER_NAME

Vous pouvez modifier l'attribution de groupe à partir du répertoire /var/www à l'aide de la commande suivante:

chown -R root:www-data ks320

Ensuite, vous voudrez également vous assurer que le groupe dispose des autorisations de lecture/écriture/exécution sur le répertoire. Vous pouvez accomplir cela à partir du répertoire /var/www avec:

chmod -R 775 ks320

Une fois que les autorisations et les affectations de groupe aux dossiers ont été définies, votre utilisateur "www-data" devrait pouvoir créer le répertoire du plugin et décompresser les fichiers du plugin wordpress.

Pour plus d'informations sur les autorisations recommandées pour les fichiers et les dossiers d'un site Wordpress, voir https://codex.wordpress.org/Changing_File_Permissions

2
Anson W Han