Question Puis-je installer / mettre à jour des plugins WordPress sans fournir d'accès FTP?


j'utilise WordPress sur mon serveur en direct qui utilise uniquement SFTP en utilisant un SSH clé.

Je veux installer et mettre à jour les plugins, mais il semble que vous deviez entrer votre identifiant FTP pour installer les plugins. Existe-t-il un moyen d’installer et de mettre à niveau les plugins en téléchargeant manuellement les fichiers au lieu d’avoir WordPress pour gérer tout le processus?


478
2018-03-12 20:46


origine


Réponses:


WordPress vous demandera uniquement vos informations de connexion FTP tout en essayant d'installer des plugins ou une mise à jour WordPress s'il ne peut pas écrire sur /wp-content directement. Sinon, si votre serveur Web dispose d'un accès en écriture aux fichiers nécessaires, il se chargera automatiquement des mises à jour et de l'installation. Cette méthode n'exige pas que vous ayez accès FTP / SFTP ou SSH, mais vous devez disposer d'autorisations de fichiers spécifiques définies sur votre serveur Web.

Il essaiera différentes méthodes dans l'ordre et utilisera FTP si les méthodes Direct et SSH ne sont pas disponibles.

https://github.com/WordPress/WordPress/blob/4.2.2/wp-admin/includes/file.php#L912

WordPress va essayer d'écrire un fichier temporaire à votre /wp-content annuaire. Si cela réussit, il compare la propriété du fichier avec son propre uid, et s'il y a une correspondance, il vous permettra d'utiliser la méthode "directe" pour installer des plugins, des thèmes ou des mises à jour.

Si, pour une raison quelconque, vous ne voulez pas vous fier à la vérification automatique de la méthode de système de fichiers à utiliser, vous pouvez définir une constante, 'FS_METHOD' dans ton wp-config.php fichier, c'est soit 'direct', 'ssh', 'ftpext' or 'ftpsockets' et il utilisera cette méthode. Gardez à l'esprit que si vous définissez cette option sur 'direct', mais que votre utilisateur Web (le nom d'utilisateur sous lequel votre serveur Web s'exécute) ne dispose pas des autorisations d'écriture appropriées, vous recevrez une erreur.

En résumé, si vous ne souhaitez pas (ou si vous ne pouvez pas) modifier les autorisations sur wp-content afin que votre serveur Web dispose des droits d'écriture, ajoutez-le à votre fichier wp-config.php:

define('FS_METHOD', 'direct');

Autorisations expliquées ici:


675
2018-04-13 13:25



Comme indiqué précédemment, aucun des perm ne fonctionne plus. Vous devez changer les perms en conséquence ET mettre ce qui suit dans votre wp-config.php:

define('FS_METHOD', 'direct');

223
2018-02-22 19:36



Je voulais juste ajouter que vous ne devez JAMAIS mettre le wp-content autorisation ou permission de tout dossier à 777.

C'est ce que je devais faire pour:

1) Je mets la propriété du dossier wordpress (récursivement) à l’utilisateur apache, comme ceci:

# chown -R apache wordpress/

2) J'ai changé la propriété du groupe wordpress (récursivement) pour le groupe apache, comme ceci:

# chgrp -R apache wordpress/

3) donner au propriétaire tous les privilèges du répertoire, comme ceci:

# chmod u+wrx wordpress/*

Et ça a fait le boulot. ma wp-content le dossier a 755 permissions, btw.

TL; DR version:

# chown -R apache:apache wordpress
# chmod u+wrx wordpress/*

84
2018-05-17 22:34



  1. Dans wp-config.php ajouter define('FS_METHOD', 'direct');
  2. Rendre le serveur accessible en écriture aux répertoires wp-content/, wp-content/plugins/.
  3. Installez le plugin (copiez le répertoire du plugin dans le wp-content/plugins dir).

Travaillé sur la version 3.2.1


65
2018-04-16 05:05



ouvrir wp-config.php fichier et ajoutez la ligne suivante:

define('FS_METHOD', 'direct');

ça marche pour moi ... Merci


32
2018-02-27 11:23



Juste un changement rapide à wp-config.php


30
2017-12-26 12:41



Afin de permettre l'utilisation de SSH2 pour vos mises à jour et vos téléchargements de thèmes, vous devez générer vos clés SSH et installer le module PHP SSH. WordPress détectera alors que SSH2 est disponible et que vous verrez une option différente (SSH2) affichée lors du téléchargement.

1.) Assurez-vous que le module PHP est installé pour debian:

sudo apt-get install libssh2-php

2.) Générer des clés SSH, l'ajout d'une phrase secrète est facultatif:

ssh-keygen
cd  ~/.ssh
cp id_rsa.pub authorized_keys

3.) Modifiez l'autorisation pour que WordPress puisse accéder à ces clés:

cd ~
chmod 755 .ssh
chmod 644 .ssh/*

Maintenant, vous aurez l'option SSH2 lorsque vous faites un upload / upgrade / plugin. WP SSH Connection

4.) Pour plus de facilité, vous pouvez configurer les paramètres par défaut dans votre wp-config.php et cela pré-remplira les informations d'identification SSH dans la fenêtre de téléchargement de WordPress.

define('FTP_PUBKEY','/home/<user>/.ssh/id_rsa.pub');
define('FTP_PRIKEY','/home/<user>/.ssh/id_rsa');
define('FTP_USER','<user>');
define('FTP_PASS','passphrase');
define('FTP_HOST','domain.com');

Le mot de passe est facultatif si vous ne configurez pas de phrase secrète pendant ssh-kengen; alors ne l'ajoutez pas wp-config.php

Cela a résolu mon problème. Et je n'ai pas eu à faire le chown du tout. Mais j'ai vu cette méthode référencée dans d'autres endroits.

Les références:


20
2018-06-16 16:53