J'utilise WordPress sur mon serveur en direct qui utilise uniquement SFTP à l' aide d'une clé SSH .
Je souhaite installer et mettre à niveau les plugins, mais il semble que vous devez saisir votre connexion 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 de demander à WordPress de gérer l'ensemble du processus?
wp-content/plugins/
tableau de bord wp, allez dans l'onglet plugins et activez-le.VPS
, essayez ceci: stackoverflow.com/a/44137965/3160597Réponses:
WordPress vous demandera uniquement vos informations de connexion FTP lorsque vous essayez d'installer des plugins ou une mise à jour WordPress s'il ne peut pas écrire
/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 ne nécessite pas que vous ayez un accès FTP / SFTP ou SSH, mais elle nécessite que vous ayez des autorisations de fichiers spécifiques configurées sur votre serveur Web.Il essaiera diverses méthodes dans l'ordre et retombera sur 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 essaiera d'écrire un fichier temporaire dans votre
/wp-content
répertoire. 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» d'installation des plugins, des thèmes ou des mises à jour.Maintenant, 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 votrewp-config.php
fichier, c'est-à-dire l'une'direct', 'ssh', 'ftpext' or 'ftpsockets'
et l' autre, et elle utilisera cette méthode. Gardez à l'esprit que si vous définissez ce paramètre 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 d'autorisations d'écriture, ajoutez-les à votre fichier wp-config.php:
Les autorisations expliquées ici:
la source
getmyuid
ligne 876 est sans doute incorrecte ici, car elle renvoie l'UID du propriétaire du script, pas de l'exécuteur du script. Je pense que ça devrait l'êtreposix_getuid
.print_r(posix_getpwuid(posix_geteuid()));
Vous pouvez ajouter le code dans lewp-config
fichier.chown -R www-data wordpress/wp-content
n'a pas fonctionné pour moi, mais l'achown -R www-data wordpress
faitComme indiqué précédemment, aucun des correctifs de perm ne fonctionne plus. Vous devez modifier les perms en conséquence ET mettre ce qui suit dans votre
wp-config.php
:la source
Je voulais juste ajouter que vous ne devez JAMAIS définir l'
wp-content
autorisation ou l'autorisation d'un dossier sur777
.Voici ce que je devais faire pour:
1) J'ai défini la propriété du dossier wordpress (récursivement) pour l'utilisateur apache, comme suit:
# chown -R apache wordpress/
2) J'ai changé la propriété du groupe du dossier wordpress (récursivement) en groupe apache, comme ceci:
# chgrp -R apache wordpress/
3) donner au propriétaire tous les privilèges sur le répertoire, comme ceci:
# chmod u+wrx wordpress/*
Et cela a fait l'affaire. Mon
wp-content
dossier a des755
autorisations, btw.Version TL; DR:
la source
wp-config.php
plusdefine('FS_METHOD', 'direct');
wp-content/
,wp-content/plugins/
.wp-content/plugins
dir).A travaillé sur la version 3.2.1
la source
ouvrez le
wp-config.php
fichier et ajoutez la ligne suivante:define('FS_METHOD', 'direct');
cela fonctionne pour moi ... Merci
la source
Juste un changement rapide vers wp-config.php
Voilà, profitez de vos mises à jour wordpress sans ftp !
Autre méthode:
la source
Afin de permettre l'utilisation de SSH2 pour vos mises à jour et téléchargements de thèmes, vous devez générer vos clés SSH et installer le module PHP SSH. Ensuite, WordPress détectera que vous avez SSH2 disponible et vous verrez une option différente (SSH2) affichée lors d'un téléchargement / mise à niveau.
1.) Assurez-vous que le module PHP est installé pour Debian:
2.) Générez des clés SSH, l'ajout d'une phrase secrète est facultatif:
3.) Modifiez l'autorisation afin que WordPress puisse accéder à ces clés:
Vous obtiendrez maintenant l'option SSH2 lors d'un téléchargement / mise à niveau / plug-in.
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.La «phrase secrète» est facultative, si vous ne configurez pas de phrase secrète pendant
ssh-kengen
; alors ne l'ajoutez paswp-config.php
Cela a résolu mon problème. Et je n'avais pas du tout à faire ça
chown
. Mais j'ai vu cette méthode référencée ailleurs.Références:
la source
Habituellement, vous pouvez simplement télécharger votre plugin dans le
wp-content\plugins
répertoire. Si vous n'avez pas accès à ce répertoire via SFTP, je crains que vous ne soyez bloqué.la source
Vous pouvez l'obtenir très facilement en tapant la commande suivante sur l'invite de commandes
ou copiez et collez le code suivant dans votre fichier wp-config.php.
Où "your_folder_name" est le dossier où votre WordPress est installé dans ce dossier.
la source
Exécutez le code suivant dans le terminal
Pour plus de détails, visitez Wordpress sur les plugins d'installation Ubuntu sans accès FTP
la source
sudo chown -R www-data /var/www/html
Ajoutez le code suivant à wp-config
FS_METHOD force la méthode du système de fichiers. Il ne doit s'agir que de direct, ssh2, ftpext ou ftpsockets. En règle générale, vous ne devez modifier cela que si vous rencontrez des problèmes de mise à jour. Si vous le changez et que cela n'aide pas, changez-le / supprimez-le. Dans la plupart des cas, le définir sur «ftpsockets» fonctionnera si la méthode choisie automatiquement ne fonctionne pas.
(Préférence principale) "direct" l' oblige à utiliser les requêtes d'E / S de fichiers directes à partir de PHP, ce qui se heurte à l'ouverture de problèmes de sécurité sur des hôtes mal configurés, ceci est choisi automatiquement le cas échéant.
(Préférence secondaire) "ssh2" consiste à forcer l'utilisation de l'extension PHP SSH si elle est installée
(3e préférence) "ftpext" consiste à forcer l'utilisation de l'extension FTP PHP pour l'accès FTP, et enfin
(4ème préférence) "ftpsockets" utilise la classe PHP Sockets pour l'accès FTP
Pour plus d'informations, visitez: http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants
la source
Si vous êtes sur Ubuntu , une solution rapide qui a fonctionné pour moi est de donner la propriété à l' utilisateur Apache (www-data par défaut) comme ceci:
la source
Passez de
php_mod
àfastcgi
aveccgi
etSuEXEC
activé. Travaille pour moi.Si cela ne fonctionne pas, essayez de passer
wp-content
en775
tant que root:Ajouter à
wp-config.php
:J'espère que ca fonctionne
la source
WordPress 2.7 vous permet de télécharger un fichier zip directement (il y a un lien en bas de la page des plugins) - aucun accès FTP n'est nécessaire. Il s'agit d'une nouvelle fonctionnalité de la version 2.7, et elle ne fonctionne que pour les plugins (pas encore les thèmes).
la source
Ressusciter un ancien thread, mais il y a un nouveau plugin fantastique appelé SSH SFTP Updater Support qui ajoute des capacités SFTP sans avoir besoin de modifier votre
wp-config.php
fichier. De plus, l'implémentation SFTP de Wordpress repose sur certains modules PHP quelque peu obscurs qui ne sont souvent pas activés sur les serveurs; ce plugin contient un plugin PHP SFTP différent, vous n'avez donc rien à configurer du côté Apache.J'avais rencontré des tonnes de problèmes pour que le support SFTP fonctionne - ce plugin les a tous résolus et est tout simplement fantastique.
la source
Essaye ça
1) Dans l'
wp-config.php
ajoutdefine('FS_METHOD', 'direct');
2) Définissez le
wp-content
répertoire sur777
en écriture.3) Maintenant, installez le plugin.
la source
La réponse de Stereointeractive couvre toutes les options. Je voulais juste mentionner une autre façon d'utiliser FTP. Je suppose que la raison pour laquelle vous n'autorisez pas l'accès FTP est pour des raisons de sécurité. Une façon de résoudre ces problèmes de sécurité consiste à exécuter votre serveur FTP en écoutant uniquement sur 127.0.0.1
Cela vous permet d'utiliser FTP depuis WordPress et vous pourrez installer des plugins sans l'exposer au reste du monde. Cela peut également être appliqué à d'autres applications Web populaires telles que Joomla! et Drupal. C'est ce que nous faisons avec nos appliances BitNami et nos serveurs cloud et cela fonctionne assez bien.
la source
Je recommande également le plug-in SSH SFTP Updater Support . Je viens de résoudre tous mes problèmes aussi ... surtout en ce qui concerne la suppression des plugins via l'administrateur. Installez-le simplement de la manière habituelle, et la prochaine fois que WordPress vous demandera des détails sur FTP, il y aura des champs supplémentaires pour copier / coller votre clé SSH privée ou télécharger votre fichier PEM.
Le seul problème que j'ai est de le faire se souvenir de la clé (essayé les deux méthodes). Je n'aime pas l'idée de devoir le trouver et le saisir chaque fois que je dois supprimer un plugin. Mais au moins, c'est une solution solide pour l'instant.
la source
Oui, installez directement le plugin dans WordPress.
autre option
la source
Il est possible d'utiliser SFTP ou SSH pour mettre à jour automatiquement les plugins dans WordPress, mais vous devez avoir l'extension ssh2 pecl. Vous pouvez découvrir comment le faire en utilisant le tutoriel suivant
la source
Nous utilisons SFTP avec SSH (sur nos serveurs de développement et en direct), et j'ai essayé (pas trop dur cependant) d'utiliser la fonctionnalité de téléchargement de WordPress. Je suis d'accord avec Toby, téléchargez vos plugins dans le
wp-content/plugins
répertoire puis activez-les à partir de là.la source
J'ai vu beaucoup de gens recommander de définir la permission sur 777. J'ai eu le même problème qu'il y a 2 jours et tout ce que j'ai fait, l'ajouter à wp-content
et
Cela a résolu mon problème de demande de login / mot de passe d'accès FTP.
Avant cela, je devais ajouter un plugin manuellement en ajoutant un fichier .zip au dossier du plugin, puis aller sur
wp-admin/plugins
et je devais l'installer.la source
Essayez ceci Vérifiez si l'autorisation correcte est accordée au dossier wp-content.
Editez le wp-config.php ajoutez la ligne suivante
chmod le répertoire "wp-content" en www-data pour un accès complet.
Essayez maintenant d'installer le plugin.
la source
Oui, vous pouvez le faire.
Vous devez ajouter
dans votre wpconfig. Mais cette méthode ne sera pas préférable car elle a des failles de sécurité.
Merci,
la source
Méthode 1: Vous pouvez définir ceci: 1. dans wp-config.php, vous devez écrire ces lignes.
Remarque: mettez ceci après define ('DB_CHARSET', 'utf8mb4').
définissez l'autorisation wp-content ou l'autorisation récursivement 777 une autorisation complète que vous pouvez lui donner via filezilla. écrire cliquer sur le répertoire> autorisations> vérifier en lecture-écriture et exécuter et également vérifier Recurse dans les sous-répertoires
Méthode 2:
ou Vous pouvez également définir ce
la source
Note: put this after define( 'DB_CHARSET', 'utf8mb4' ).
configurer un ftp ou même une connexion SFTP ou chmod 777 sont de mauvaises façons d'aller pour autre chose qu'un environnement local. L'ouverture même d'une méthode SFTP introduit plus de risques de sécurité qui ne sont pas nécessaires.
ce qui est nécessaire est une autorisation en écriture pour / wp-content / uploads & / wp-content / plugins / par le propriétaire de ces répertoires. (linux ls -la vous montrera la propriété).
L'utilisateur par défaut d'Apache qui s'exécute est www-data.
chmod 777 permet à n'importe quel utilisateur de la machine de modifier ces fichiers, pas seulement à l'utilisateur du thread apache / php.
SFTP si vous ne l'utilisez pas déjà, introduira un autre point d'échec possible à partir d'une source externe. Alors que vous n'avez besoin que de l'accès par l'utilisateur local exécutant le processus apache / php pour atteindre l'objectif.
Je n'ai vu personne faire ces remarques, alors j'ai pensé offrir cette information pour aider avec nos problèmes de sécurité WP en ligne.
la source
Voici une méthode simple.
Exécutez les commandes suivantes.
Cela activera votre module mod_rewrite pour Apache
Cette commande changera le propriétaire du dossier en www-data
Après avoir exécuté les commandes ci-dessus, vous pouvez installer tous les thèmes sans FTP.
la source
sudo chown -R www-data [Wordpress Folder Location]
Veuillez ajouter
define('FS_METHOD','direct');
wo-config.phpla source
La seule raison pour laquelle WordPress ne vous permettra pas de télécharger un plug-in via le tableau de bord d'administration WordPress lorsque vous n'avez pas la permission d'écrire sur le répertoire / wp-content. N'oubliez pas que votre répertoire wordpress / wp-content nécessite le niveau d'autorisation 0755. Il existe différentes façons de modifier le niveau d'autorisation d'un dossier.
Modification des autorisations de fichier à l'aide de cPanel:
Accédez au Gestionnaire de fichiers à ouvrir le dossier HTML public où votre site Web wordpress est censé être, ou ouvrez le répertoire racine du site si votre site Web se trouve dans un autre dossier. Dans votre répertoire racine WordPress, naviguez vers le dossier wp-content; à la fin de la ligne du dossier wp-content, la toute dernière case porte les autorisations de fichier pour ce dossier. Assurez-vous de modifier le niveau d'autorisation du dossier sur 0755, et vous avez terminé.
Modification des autorisations de fichier à l'aide du terminal SSH:
Dans votre terminal localisez la racine du site WordPress qui dans mon cas était / var / www / html afin de vous déplacer dans le répertoire racine WordPress, entrez la commande suivante:
Vous êtes maintenant dans le répertoire racine de WordPress où se trouve le dossier / contenu-wp requis. Donc, pour modifier les autorisations de fichier, tapez la commande suivante:
Cela changera votre autorisation de fichier de répertoire / wp-content en 0755.
Maintenant, vous ne recevrez pas de message d'erreur de téléchargement de plugins wordpress via FTP.
la source
Le meilleur moyen d'installer le plugin à l'aide de SSH est WPCLI.
Notez que l'accès SSH est obligatoire pour utiliser les commandes WP CLI. Avant de l'utiliser, vérifiez si la WP CLI est installée sur votre serveur ou machine d'hébergement.
Comment vérifier:
wp --version
[Il montrera la version wp cli installée]S'il n'est pas installé, comment l'installer: Avant d'installer WP-CLI, assurez-vous que l'environnement répond aux exigences minimales:
Environnement de type UNIX (OS X, Linux, FreeBSD, Cygwin); prise en charge limitée dans l'environnement Windows. PHP 5.4 ou supérieur WordPress 3.7 ou supérieur. Les versions plus anciennes que la dernière version de WordPress peuvent avoir des fonctionnalités dégradées
Si les points ci-dessus sont satisfaits, veuillez suivre les étapes suivantes: URL de référence: WPCLI
Maintenant, WP CLI est prêt à installer.
Vous pouvez maintenant installer n'importe quel plugin disponible dans WordPress.org en utilisant les commandes suivantes:
REMARQUE: wp cli ne peut installer que les plugins disponibles sur wordpress.org
la source