Ich verwende WordPress auf meinem Live-Server, der nur SFTP mit einem SSH- Schlüssel verwendet.
Ich möchte Plugins installieren und aktualisieren, aber es scheint, dass Sie Ihr FTP-Login eingeben müssen, um die Plugins zu installieren. Gibt es eine Möglichkeit, Plugins durch manuelles Hochladen der Dateien zu installieren und zu aktualisieren, anstatt dass WordPress den gesamten Prozess abwickelt?
wp-content/plugins/
wp-Dashboard. Gehen Sie zur Registerkarte Plugins und aktivieren Sie es.VPS
, sollten Sie dies versuchen: stackoverflow.com/a/44137965/3160597Antworten:
WordPress fordert Sie nur dann zur Eingabe Ihrer FTP-Verbindungsinformationen auf, wenn Sie versuchen, Plugins oder ein WordPress-Update zu installieren, wenn es nicht schreiben kann
/wp-content
direkt darauf geschrieben werden kann. Andernfalls kümmert sich Ihr Webserver automatisch um die Aktualisierung und Installation, wenn er Schreibzugriff auf die erforderlichen Dateien hat. Für diese Methode ist kein FTP / SFTP- oder SSH-Zugriff erforderlich, für Ihren Webserver müssen jedoch bestimmte Dateiberechtigungen eingerichtet sein.Es werden verschiedene Methoden der Reihe nach ausprobiert und auf FTP zurückgegriffen, wenn Direct- und SSH-Methoden nicht verfügbar sind.
https://github.com/WordPress/WordPress/blob/4.2.2/wp-admin/includes/file.php#L912
WordPress versucht, eine temporäre Datei in Ihr
/wp-content
Verzeichnis zu schreiben . Wenn dies erfolgreich ist, wird der Besitz der Datei mit der eigenen UID verglichen. Wenn eine Übereinstimmung vorliegt, können Sie die direkte Methode zum Installieren von Plugins, Designs oder Updates verwenden.Wenn Sie sich aus irgendeinem Grund nicht auf die automatische Überprüfung der zu verwendenden Dateisystemmethode verlassen möchten, können Sie
'FS_METHOD'
in Ihrerwp-config.php
Datei entweder eine Konstante definieren,'direct', 'ssh', 'ftpext' or 'ftpsockets'
die diese Methode verwendet. Beachten Sie, dass Sie eine Fehlermeldung erhalten, wenn Sie dies auf "Direkt" setzen, Ihr Webbenutzer (der Benutzername, unter dem Ihr Webserver ausgeführt wird) jedoch nicht über die richtigen Schreibberechtigungen verfügt.Wenn Sie die Berechtigungen für wp-Inhalte nicht ändern möchten (oder können), damit Ihr Webserver über Schreibberechtigungen verfügt, fügen Sie diese Ihrer wp-config.php-Datei hinzu:
Hier erläuterte Berechtigungen:
quelle
getmyuid
Online 876 ist hier wohl falsch, da sie die UID des Skriptbesitzers und nicht des Skriptausführers zurückgibt. Ich glaube es sollte seinposix_getuid
.print_r(posix_getpwuid(posix_geteuid()));
Sie können den Code in diewp-config
Datei einfügen .chown -R www-data wordpress/wp-content
nicht für mich arbeiten, aberchown -R www-data wordpress
tatWie bereits erwähnt, funktioniert keine der Dauerwellenkorrekturen mehr. Sie müssen die Dauerwellen entsprechend ändern UND Folgendes in Ihre
wp-config.php
:quelle
Ich wollte nur hinzufügen, dass Sie NIEMALS die
wp-content
Berechtigung oder die Berechtigung eines Ordners festlegen dürfen777
.Das musste ich tun:
1) Ich habe den Besitz des WordPress-Ordners (rekursiv) auf den Apache-Benutzer festgelegt, wie folgt:
# chown -R apache wordpress/
2) Ich habe den Gruppeneigentum des WordPress-Ordners (rekursiv) in die Apache-Gruppe geändert, wie folgt:
# chgrp -R apache wordpress/
3) Geben Sie dem Eigentümer das volle Privileg für das Verzeichnis, wie folgt:
# chmod u+wrx wordpress/*
Und das hat den Job gemacht. Mein
wp-content
Ordner hat755
übrigens Berechtigungen.TL; DR-Version:
quelle
wp-config.php
hinzufügendefine('FS_METHOD', 'direct');
wp-content/
,wp-content/plugins/
.wp-content/plugins
Verzeichnis).Arbeitete an Version 3.2.1
quelle
Öffnen Sie die
wp-config.php
Datei und fügen Sie die folgende Zeile hinzu:define('FS_METHOD', 'direct');
das funktioniert bei mir ... Danke
quelle
Nur eine schnelle Änderung zu wp-config.php
Das war's, genießen Sie Ihre WordPress-Updates ohne FTP !
Alternative Methode:
quelle
Um die Verwendung von SSH2 für Ihre Updates und Themen-Uploads zu ermöglichen, müssen Sie Ihre SSH-Schlüssel generieren und das PHP-SSH-Modul installieren. Dann erkennt WordPress, dass SSH2 verfügbar ist, und beim Hochladen / Upgrade wird eine andere Option (SSH2) angezeigt.
1.) Stellen Sie sicher, dass Sie das PHP-Modul für Debian installiert haben:
2.) Generieren Sie SSH-Schlüssel. Das Hinzufügen einer Passphrase ist optional:
3.) Ändern Sie die Berechtigung, damit WordPress auf diese Schlüssel zugreifen kann:
Jetzt erhalten Sie die SSH2-Option, wenn Sie ein Upload / Upgrade / Plugin durchführen.
4.) Zur Vereinfachung können Sie die Standardeinstellungen in Ihrem
wp-config.php
einrichten. Dadurch werden die SSH-Anmeldeinformationen im WordPress-Upload-Fenster vorab ausgefüllt.Die 'Passphrase' ist optional, wenn Sie währenddessen keine Passphrase einrichten
ssh-kengen
. dann füge es nicht hinzuwp-config.php
Dies löste mein Problem. Und das musste ich überhaupt nicht tun
chown
. Aber ich habe diese Methode an anderen Stellen gesehen.Verweise:
quelle
Normalerweise können Sie Ihr Plugin einfach in das
wp-content\plugins
Verzeichnis hochladen . Wenn Sie über SFTP keinen Zugriff auf dieses Verzeichnis haben, stecken Sie möglicherweise fest.quelle
Sie können es sehr einfach erhalten, indem Sie den folgenden Befehl auf der Eingabeaufforderung eingeben
oder kopieren Sie den folgenden Code und fügen Sie ihn in Ihre Datei wp-config.php ein.
Wobei "Ihr_Ordnername" der Ordner ist, in dem Ihr WordPress in diesem Ordner installiert ist.
quelle
Führen Sie den folgenden Code im Terminal aus
Weitere Informationen finden Sie unter Wordpress unter Ubuntu-Installations-Plugins ohne FTP-Zugriff
quelle
sudo chown -R www-data /var/www/html
Fügen Sie wp-config den folgenden Code hinzu
FS_METHOD erzwingt die Dateisystemmethode. Es sollte nur direkt, ssh2, ftpext oder ftpsockets sein. Im Allgemeinen sollten Sie dies nur ändern, wenn Aktualisierungsprobleme auftreten. Wenn Sie es ändern und es nicht hilft, ändern Sie es zurück / entfernen Sie es. In den meisten Fällen funktioniert die Einstellung auf "ftpsockets", wenn die automatisch ausgewählte Methode dies nicht tut.
(Primäre Präferenz) "direkt" zwingt es, direkte Datei-E / A-Anforderungen aus PHP heraus zu verwenden. Dies ist mit Sicherheitsproblemen auf schlecht konfigurierten Hosts behaftet. Dies wird bei Bedarf automatisch ausgewählt.
(Sekundäre Einstellung) "ssh2" erzwingt die Verwendung der SSH-PHP-Erweiterung, falls installiert
(3. Voreinstellung) "ftpext" erzwingt die Verwendung der FTP-PHP-Erweiterung für den FTP-Zugriff und schließlich
(4. Voreinstellung) "ftpsockets" verwendet die PHP-Sockets-Klasse für den FTP-Zugriff
Weitere Informationen finden Sie unter: http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants
quelle
Wenn Sie unter Ubuntu arbeiten , besteht eine schnelle Lösung, die für mich funktioniert hat, darin, dem Apache- Benutzer (standardmäßig www-Daten) das Eigentum zu übertragen :
quelle
Wechseln Sie von
php_mod
zufastcgi
mitcgi
&SuEXEC
aktiviert. Funktioniert bei mir.Wenn dies nicht funktioniert, versuchen Sie
wp-content
,775
als root zu wechseln :Hinzufügen zu
wp-config.php
:ich hoffe es klappt
quelle
Mit WordPress 2.7 können Sie eine Zip-Datei direkt hochladen (es gibt einen Link am Ende der Plugins-Seite) - kein FTP-Zugriff erforderlich. Dies ist eine neue Funktion in 2.7 und funktioniert nur für Plugins (noch keine Themes).
quelle
Wiederbelebung eines alten Threads, aber es gibt ein fantastisches neues Plugin namens SSH SFTP Updater Support , das SFTP-Funktionen hinzufügt, ohne dass Sie Ihre
wp-config.php
Datei bearbeiten müssen . Außerdem basiert die SFTP-Implementierung von Wordpress auf einigen etwas undurchsichtigen PHP-Modulen, die auf Servern häufig nicht aktiviert sind. Dieses Plugin enthält ein anderes PHP-SFTP-Plugin, sodass Sie auf der Apache-Seite nichts konfigurieren müssen.Ich hatte unzählige Probleme damit, die SFTP-Unterstützung zum Laufen zu bringen - dieses Plugin hat alle gelöst und ist einfach fantastisch.
quelle
Versuche dies
1) In der
wp-config.php
hinzufügendefine('FS_METHOD', 'direct');
2) Stellen Sie das
wp-content
Verzeichnis auf777
beschreibbar ein.3) Installieren Sie nun das Plugin.
quelle
Die Antwort von stereointeractive deckt alle Optionen ab. Ich wollte nur eine alternative Art der Verwendung von FTP erwähnen. Ich vermute, dass der Grund, warum Sie den FTP-Zugriff nicht zulassen, die Sicherheit ist. Eine Möglichkeit, diese Sicherheitsbedenken auszuräumen, besteht darin, Ihren FTP-Server so auszuführen, dass er nur 127.0.0.1 überwacht
Auf diese Weise können Sie FTP in WordPress verwenden und Plugins installieren, ohne es dem Rest der Welt zugänglich zu machen. Dies kann auch auf andere beliebte Webanwendungen wie Joomla! und Drupal. Dies machen wir mit unseren BitNami-Appliances und Cloud-Servern und funktionieren recht gut.
quelle
Ich empfehle auch das SSH SFTP Updater Support Plugin . Ich habe gerade auch alle meine Probleme gelöst ... insbesondere im Hinblick darauf, dass Plugins über den Administrator gelöscht werden. Installieren Sie es einfach auf die übliche Weise. Wenn Sie das nächste Mal von WordPress zur Eingabe von FTP-Details aufgefordert werden, können Sie Ihren privaten SSH-Schlüssel kopieren / einfügen oder Ihre PEM-Datei hochladen.
Das einzige Problem, das ich habe, ist, dass es sich an den Schlüssel erinnert (beide Methoden ausprobiert). Ich mag die Idee nicht, sie jedes Mal finden und eingeben zu müssen, wenn ich ein Plugin löschen muss. Aber zumindest ist es vorerst eine solide Lösung.
quelle
Ja, installieren Sie das Plugin direkt in WordPress.
andere Option
quelle
Es ist möglich, SFTP oder SSH zu verwenden, um Plugins in WordPress automatisch zu aktualisieren, aber Sie benötigen die Erweiterung ssh2 pecl. Wie das geht, erfahren Sie im folgenden Tutorial
quelle
Wir verwenden SFTP mit SSH (sowohl auf unseren Entwicklungs- als auch auf unseren Live-Servern), und ich habe versucht (allerdings nicht zu sehr), die WordPress-Upload-Funktion zu verwenden. Ich stimme Toby zu, lade deine Plugins in das
wp-content/plugins
Verzeichnis hoch und aktiviere sie dann von dort aus.quelle
Ich habe viele Leute gesehen, die empfohlen haben, die Berechtigung auf 777 zu setzen. Ich hatte das gleiche Problem wie vor 2 Tagen und alles, was ich getan habe, war, dies zu wp-content hinzuzufügen
und
Dies löste mein Problem, FTP-Zugang Login / Passwort zu fragen.
Vorher musste ich das Plugin manuell hinzufügen, indem ich eine ZIP-Datei zum Plugin-Ordner hinzufügte, und dann zu gehen
wp-admin/plugins
und es installieren.quelle
Versuchen Sie dies Überprüfen Sie, ob die richtige Berechtigung für den Ordner "wp-content" erteilt wurde.
Bearbeiten Sie die Datei wp-config.php und fügen Sie die folgende Zeile hinzu
chmod das Verzeichnis "wp-content" auf www-data für vollen Zugriff.
Versuchen Sie nun, das Plugin zu installieren.
quelle
Ja, du kannst es schaffen.
Sie müssen hinzufügen
in deiner wpconfig. Diese Methode ist jedoch nicht vorzuziehen, da sie Sicherheitslücken aufweist.
Vielen Dank,
quelle
Methode 1: Sie können Folgendes einstellen: 1. In wp-config.php müssen Sie diese Zeilen schreiben.
Hinweis: Setzen Sie dies nach define ('DB_CHARSET', 'utf8mb4').
Setzen Sie die Berechtigung für wp-content oder die rekursive Berechtigung 777. Sie können sie über filezilla erteilen. Schreiben Klicken Sie auf Verzeichnis> Berechtigungen> Überprüfen Sie Lesen / Schreiben und Ausführen und aktivieren Sie auch Recurse in Unterverzeichnisse
Methode 2:
oder Sie können dies auch einstellen
quelle
Note: put this after define( 'DB_CHARSET', 'utf8mb4' ).
Das Einrichten einer FTP- oder sogar einer SFTP-Verbindung oder eines chmod 777 ist ein schlechter Weg, um etwas anderes als eine lokale Umgebung zu erreichen. Das Öffnen einer SFTP-Methode birgt mehr Sicherheitsrisiken, die nicht benötigt werden.
Was benötigt wird, ist eine beschreibbare Berechtigung für / wp-content / uploads & / wp-content / plugins / durch den Eigentümer dieser Verzeichnisse. (Linux ls -la zeigt Ihnen das Eigentum).
Der standardmäßige Apache-Benutzer, der ausgeführt wird, ist www-data.
Mit chmod 777 kann jeder Benutzer auf dem Computer diese Datei bearbeiten, nicht nur der Apache / PHP-Thread-Benutzer.
Wenn Sie SFTP noch nicht verwenden, wird ein weiterer Punkt eines möglichen Fehlers von einer externen Quelle eingeführt. Während Sie nur den lokalen Benutzer benötigen, der den Apache / PHP-Prozess ausführt, um das Ziel zu erreichen.
Ich habe niemanden gesehen, der diese Punkte gemacht hat, daher dachte ich, ich würde diese Informationen anbieten, um bei unseren ständigen WP-Sicherheitsproblemen online zu helfen.
quelle
Hier ist eine einfache Methode.
Führen Sie die folgenden Befehle aus.
Dadurch wird Ihr mod_rewrite-Modul für Apache aktiviert
Dieser Befehl ändert den Besitzer des Ordners in www-data
Nachdem Sie die obigen Befehle ausgeführt haben, können Sie beliebige Designs ohne FTP installieren.
quelle
sudo chown -R www-data [Wordpress Folder Location]
Bitte fügen Sie
define('FS_METHOD','direct');
in wo-config.php hinzuquelle
Der einzige Grund, aus dem Sie in WordPress kein Plugin über das WordPress-Admin-Dashboard hochladen können, wenn Sie keine Berechtigung zum Schreiben in das Verzeichnis / wp-content erhalten haben. Denken Sie daran, dass für Ihr WordPress-Verzeichnis / wp-content die Berechtigungsstufe 0755 erforderlich ist. Es gibt verschiedene Möglichkeiten, die Berechtigungsstufe eines Ordners zu ändern.
Ändern der Dateiberechtigungen mit cPanel:
Gehen Sie zum Dateimanager, um den öffentlichen HTML-Ordner zu öffnen, in dem sich Ihre WordPress-Website befinden soll, oder öffnen Sie das Site-Stammverzeichnis, wenn sich Ihre Website in einem anderen Ordner befindet. Navigieren Sie in Ihrem WordPress-Stammverzeichnis zum Ordner wp-content. Am Ende der Zeile mit dem Ordner "wp-content" enthält das allerletzte Feld Dateiberechtigungen für diesen Ordner. Stellen Sie sicher, dass Sie die Ordnerberechtigungsstufe auf 0755 bearbeiten, und Sie sind fertig.
Ändern der Dateiberechtigungen mithilfe des SSH-Terminals:
Suchen Sie in Ihrem Terminal das Stammverzeichnis der WordPress-Site, in meinem Fall / var / www / html. Um in das WordPress-Stammverzeichnis zu wechseln, geben Sie den folgenden Befehl ein:
Jetzt befinden Sie sich im WordPress-Stammverzeichnis, in dem sich der erforderliche Ordner / wp-Inhalt befindet. Um die Dateiberechtigungen zu ändern, geben Sie den folgenden Befehl ein:
Dadurch wird die Berechtigung für die Verzeichnisdatei / wp-content in 0755 geändert.
Jetzt erhalten Sie keine Fehlermeldung mehr beim Hochladen von WordPress-Plugins über FTP.
quelle
Der beste Weg, um das Plugin mit SSH zu installieren, ist WPCLI.
Beachten Sie, dass der SSH-Zugriff für die Verwendung von WP CLI-Befehlen obligatorisch ist. Überprüfen Sie vor der Verwendung, ob die WP-CLI auf Ihrem Hosting-Server oder Computer installiert ist.
Wie zu überprüfen :
wp --version
[Es wird die installierte wp cli-Version angezeigt]Wenn nicht installiert, wie es installiert wird: Stellen Sie vor der Installation von WP-CLI sicher, dass die Umgebung die Mindestanforderungen erfüllt:
UNIX-ähnliche Umgebung (OS X, Linux, FreeBSD, Cygwin); eingeschränkte Unterstützung in Windows-Umgebungen. PHP 5.4 oder höher WordPress 3.7 oder höher. Versionen, die älter als die neueste WordPress-Version sind, haben möglicherweise eine eingeschränkte Funktionalität
Wenn die oben genannten Punkte erfüllt sind, befolgen Sie bitte die folgenden Schritte: Referenz-URL: WPCLI
Jetzt kann WP CLI installiert werden.
Jetzt können Sie jedes in WordPress.org verfügbare Plugin mit den folgenden Befehlen installieren:
HINWEIS: wp cli kann nur das Plugin installieren, das in wordpress.org verfügbar ist
quelle