WordPress benötigt die FTP-Anmeldeinformationen, um Plugins zu aktualisieren
Lesezeit: 5 Minuten
SparkAndShine
Ich hoste WordPress auf AWS EC2 (Ubuntu) und stoßen beim Aktualisieren von Plugins auf den folgenden Fehler:
Um die angeforderte Aktion auszuführen, muss WordPress auf Ihren Webserver zugreifen. Bitte geben Sie Ihre FTP-Anmeldeinformationen ein, um fortzufahren. Wenn Sie sich nicht an Ihre Anmeldeinformationen erinnern, sollten Sie sich an Ihren Webhoster wenden.
rwx Die Berechtigung wurde dem Benutzer erteilt www-data. Hier ist, was ich tue.
<!– language: lang-bash –>
# Add a new group
groupadd www-pub
# Add the user `www-data` to the group 'www-pub'
usermod -a -G www-pub www-data
# Change the ownership of '/var/www/' to 'ubuntu:www-pub'
chown -R ubuntu:www-pub /var/www
# Change the permissions of all the folders to 2775
find /var/www -type d -exec chmod 2775 {} +
# Change the permissions of all the files to 0664
find /var/www -type f -exec chmod 0664 {} +
Wie du sehen kannst, www-data hat alle richtigen Berechtigungen, aber ich muss trotzdem die FTP-Anmeldeinformationen eingeben. Was ist der Grund und wie kann ich es beheben?
Der beste Weg, den ich gefunden habe, um dies zu tun, ist mit Google Chrome oder Firefox, das Plugin herunterzuladen: LastPass und es wird das Login/Passwort für Sie ausfüllen. Ist es das, was Sie suchen?
– Leptonator
6. Juni 2015 um 23:16 Uhr
@ Leptonator, nein. wordpress erfordert, sich in ftp mit anzumelden Passwort aber AWS EC2 bietet mir SSH-Schlüssel. Ich weiß, dass das Erstellen eines Passworts für FTP eine Lösung ist, aber ich denke nicht, dass dieser Weg gut ist.
– SparkAndShine
6. Juni 2015 um 23:21 Uhr
Hast du versucht hinzuzufügen define('FS_METHOD', 'direct'); zu deiner wp-config.php-Datei?
– Demosthenes
7. Juni 2015 um 1:19 Uhr
@Brandon ja, ich habe es am Ende von wp-config.php und es funktioniert nicht. Wie @Corlax vorgeschlagen hat, fügen Sie es unter die Datenbankinformationen ein und jetzt funktioniert es perfekt.
– SparkAndShine
7. Juni 2015 um 11:33 Uhr
Korlach
Es gibt eine einfache Lösung. Datei einfach bearbeiten wp-config.php und schreibe diesen Code hinein.
Versuchen Sie zunächst Folgendes:
define('FS_METHOD', 'direct');
Hinweis: Fügen Sie dies nicht am Ende der Datei hinzu, sondern direkt unter den Datenbankinformationen am Anfang der Datei.
define('FTP_USER', 'username'); // Your FTP username
define('FTP_PASS', 'password'); // Your FTP password
define('FTP_HOST', 'ftp.example.org:21'); // Your FTP URL:Your FTP port
thx, bei mir funktioniert es. Vor ein paar Wochen habe ich define('FS_METHOD', 'direct'); am Ende der Datei wp-config.phpwas nicht geht.
– SparkAndShine
7. Juni 2015 um 11:13 Uhr
Ich würde diese Antwort als Workaround betrachten. Die von mtinsley bereitgestellte Antwort zum Ändern des Eigentümers der Dateien in www-data:www-data behebt das zugrunde liegende Problem.
– Allan T
27. Januar 2016 um 5:53 Uhr
Syamraj K
Dies bedeutet, dass WordPress nur eingeschränkt berechtigt ist, Änderungen in dem Ordner vorzunehmen, in dem es installiert wurde.
Um dies zu beheben, müssen Sie lediglich die erforderlichen Berechtigungen dafür erteilen.
Führen Sie den folgenden Befehl in Ihrem Terminal aus, Kittoder Befehlszeilen-Eingabeaufforderung, nachdem Sie sich über SSH mit Ihrem Server verbunden haben.
sudo chown -R apache:apache /var/www/html
Schauen Sie sich den folgenden Artikel für alle Details an (Syam | MMWYS.Online):
Oder ist Runquestrun.com (auch) eine ausführbare Windows-Datei? …
– Peter Mortensen
25. Juli 2021 um 10:49 Uhr
Mathew Tinsley
Ich vermute, dass diese Antwort erklärt, warum es nicht funktioniert.
Die meisten Ubuntu-Webserver, die ich gesehen habe, sind etwas anders eingerichtet als Sie. Ich bin mir nicht sicher, was Ihr Grund dafür ist, aber wenn Sie die Dinge einfach halten wollten, würden Sie einfach den Besitzer und die Gruppe für alle Dateien auf setzen www-data:
chown -R www-data:www-data /var/www
Dadurch erhält der Webserver vollen Zugriff auf alle Ihre Dateien im Web-Root. Wenn Sie zusätzlichen Benutzern Zugriff auf diese Dateien gewähren müssen, fügen Sie sie einfach der hinzu www-data Gruppe.
usermod -a -G www-data someuser
Die Dateiberechtigungen, die Sie eingerichtet haben, sehen für mich so aus, wie sie sind.
#Change the permissions of all the folders to 2775
find /var/www -type d -exec chmod 2775 {} +
#Change the permissions of all the files to 0664
find /var/www -type f -exec chmod 0664 {} +
Als Referenz, diese Antwort erklärt was chmod 2775 (speziell die 2) bedeutet.
Im Wesentlichen bewirkt es, dass alle neuen Dateien die Gruppe des Verzeichnisses erben. www-data in diesem Fall. Das bedeutet, dass der Webserver Zugriff auf alle Dateien hat, die von anderen Benutzern erstellt wurden, ohne den Besitz oder die Berechtigungen dieser Dateien ändern zu müssen.
Die von Ihnen erwähnte Antwort, When adding a user to a new group, that won't be applied in any currently-running processes, only new ones. You need to log out and then log back in.konnte es nicht erklären, weil ich Apache2 neu starte.
Fügen Sie diese Zeile hinzu define( 'FS_METHOD', 'direct' ); Code in Ihrem wp-config.php Datei nach define( 'WP_DEBUG', true );.
Also sollte es so sein:
define( 'WP_DEBUG', true );
/* Add any custom values between this line and the "stop editing" line. */
define( 'FS_METHOD', 'direct' );
/* That's all, stop editing! Happy publishing. */
Speichern Sie die Datei und versuchen Sie es erneut.
11763500cookie-checkWordPress benötigt die FTP-Anmeldeinformationen, um Plugins zu aktualisierenyes
Der beste Weg, den ich gefunden habe, um dies zu tun, ist mit Google Chrome oder Firefox, das Plugin herunterzuladen: LastPass und es wird das Login/Passwort für Sie ausfüllen. Ist es das, was Sie suchen?
– Leptonator
6. Juni 2015 um 23:16 Uhr
@ Leptonator, nein.
wordpress
erfordert, sich in ftp mit anzumelden Passwort aber AWS EC2 bietet mir SSH-Schlüssel. Ich weiß, dass das Erstellen eines Passworts für FTP eine Lösung ist, aber ich denke nicht, dass dieser Weg gut ist.– SparkAndShine
6. Juni 2015 um 23:21 Uhr
Hast du versucht hinzuzufügen
define('FS_METHOD', 'direct');
zu deiner wp-config.php-Datei?– Demosthenes
7. Juni 2015 um 1:19 Uhr
@Brandon ja, ich habe es am Ende von
wp-config.php
und es funktioniert nicht. Wie @Corlax vorgeschlagen hat, fügen Sie es unter die Datenbankinformationen ein und jetzt funktioniert es perfekt.– SparkAndShine
7. Juni 2015 um 11:33 Uhr