Seitdem das automatische Update im WordPress Core vorhanden ist, besteht die Möglichkeit FTP-Daten im Backend anzugeben. Danach kann man sowohl Plugins als auch den Core per Klick auf den neusten Stand bringen. Hinterlegt man jedoch die Daten im Backend, so speichert WordPress die Zugangsdaten in der Datenbank. Zu dieser risikoreichen Methode gibt es eine Alternative.
Bearbeiten der wp-config.php
Zugangsdaten
In der wp-config.php lassen sich bestimmte Konstanten definieren, sodass die Abfrage der Zugangsdaten und somit auch die Speicherung nicht mehr nötig ist. Sie lauten wie folgt:
1 2 3 |
define('FTP_HOST', 'ftp.example.org'); define('FTP_USER', 'username'); define('FTP_PASS', 'password'); |
Sichere Verbindung
Für eine sichere Verbindung sorgt folgende Zeile (Standard: false):
1 |
define('FTP_SSL', true); |
Verzeichnisse
Wenn die WordPress-Installation nicht im Stammverzeichnis des FTP-Servers liegt, lässt sich der Ort wie folgt definieren:
1 |
define('FTP_BASE', '...'); |
Habt ihr das Plugin-Verzeichnis oder den gesamten Content-Ordner verschoben, könnt ihr die kompletten Pfade mit diesen beiden Konstanten angeben:
1 2 |
define('FTP_CONTENT_DIR', '...'); define('FTP_PLUGIN_DIR', '...'); |
Methode
Zu guter Letzt lässt sich noch die Methode einstellen, die von WordPress für das Dateisystem verwenden soll. Hier steckt auch häufig der Fehler, falls etwas nicht mit den Dateirechten klappt. Bei Fehlern sollte man also erst einmal hier die Methode ändern.
1 |
define('FS_METHOD', 'direct'); |
Folgende Methoden sind möglich:
- direct (default) – PHP Dateisystem Funktionen
- ssh – SSH PHP Erweiterung
- ftpext – FTP PHP Erweiterung
- ftpsockets – PHP Socket Erweiterung
Über die Konstanten FTP_PUBKEY, FTP_PRIKEY lassen sich die Pfade zum SSH public key und SSH private key angeben.
Vorhandene Daten löschen
Wenn ihr euch nicht sicher seid, ob bereits Zugangsdaten von WordPress gespeichert wurden, könnt ihr im Admin-Bereich folgende Adresse eingeben:
http://example.org/wp-admin/options.php
Dort sucht ihr dann nach dem Eintrag: ftp_credentials
Wenn dieser vorhanden ist, sind bereits Daten gespeichert worden.
Falls ihr also FTP-Daten in der Datenbank gespeichert habt, könnt ihr diese wieder löschen, in dem ihr über phpMyAdmin eure Datenbank aufruft und in der Tabelle *_options das Feld ftp_credentials löscht.
Weitere Informationen
Weitere Informationen findet ihr im WordPress Codex:

Pingback: Webnews #17: jQuery, Social-Media & Beeren | Andi Licious' Blogosphäre
Pingback: WordPress Updates: FTP Information in wp-config.php
Pingback: wp-popular.com » Blog Archive » WordPress: FTP-Daten in der wp-config.php speichern | pehbehbeh
13. September 2010 um 13:24 Uhr
Schön, dass du diese Möglichkeit hier nochmal gut dokumentierst.
Nebenbei ist mir auch aufgefallen, dass z. B. die sogenannte Speicherung der FTP-Daten im Adminbackend meist nie funktioniert. Hab erst letztens jemanden bei seinem Blog geholfen, und da wurden die Daten nie gespeichert.
Darum ist die Alternative mit der wp-config. die einzig sichere, um die Zugangsdaten permanent vorzuhalten.
13. September 2010 um 14:46 Uhr
Freut mich, dass dir der Artikel gefällt.
Das mit der fehlerhaften Speicherung im Backend ist mir auch schonmal aufgefallen. Daraufhin habe ich auch erst die Alternative mit der wp-config.php gefunden.
100%ig sicher ist die Speicherung der Daten zwar auch nicht, aber man hat ein besseres Gefühl, wenn sie nicht in der Datenbank abgelegt sind.
Pingback: Easy WordPress Updates: Store FTP Info in wp-config.php » WeRGeeks
20. Dezember 2010 um 15:19 Uhr
Warum nochmal ist die Speicherung in der Datenbank unsicher?
28. Dezember 2010 um 12:43 Uhr
Natürlich sind beide Methoden nicht ohne Risiken. Allerdings erhält man eher Zugriff auf die Datenbank als auf den gesamten Server.
28. Dezember 2010 um 12:55 Uhr
Durch welche Methoden und Lücken erhält man denn Zugriff auf die Datenbank(en)?
Wodurch kann man sich dagegen absichern?
Meine Fragen zielen darauf hin: Wenn das Benutzen von (MySQL-)Datenbanken so risikoreich ist, wie du schreibst, warum benutzt man dann überhaupt welche?
29. Dezember 2010 um 00:45 Uhr
Eine Möglichkeit wäre z.B.:
https://secure.wikimedia.org/wikipedia/de/wiki/Cross-Site_Scripting
Absichern kann man sich nur durch fehlerfreie Scripts, die Angreifern keine Lücken lassen,
wenn man mal die Selbstverständlichkeit von sicheren Passwörtern außer acht lässt.
Wenn man “alles” beachtet, ist der Einsatz von MySQL oder Ähnlichem gar nicht risikoreich.
Doch man möchte das gewisse Restrisiko natürlich immer möglichst gering halten – daher dieser Tipp hier.
6. Januar 2011 um 17:17 Uhr
Danke für die Infos!
Allerdings hat sich ein kleiner Fehler eingeschlichen:
define(FTP_BASE’, ‘…’); =>
define(‘FTP_BASE’, ‘…’);
10. Januar 2011 um 00:37 Uhr
Vielen Dank.
Der kleine Fehler wurde behoben.
22. Januar 2011 um 22:00 Uhr
Danke schön. das hat mir geholfen als wordpress bei der ftp datenabfrage fürs plugin installierne immer den benuzternamen auf lowercase gestellt hat.
28. Januar 2011 um 14:43 Uhr
Vielen Dank, nach “WordPress FTP” gesucht und gleich der erste Treffer hat mich hierher geführt.
Bei meinem Hoster ist FTPES statt SFTP aktiv, define(‘FTP_SSL’, true); hat auch hier funktioniert. Super!
21. März 2011 um 02:33 Uhr
Oder.. Man nutzt fastcgi und braucht gar keine FTP-Daten mehr
21. März 2011 um 19:28 Uhr
Was genau hat fastcgi mit FTP zu tun?
19. April 2011 um 23:09 Uhr
Hallo und Vielen Dank für den coolen Artikel.
20. Mai 2011 um 12:41 Uhr
Auch ein Dankeschön von mir
21. Juli 2011 um 21:30 Uhr
Hallo,
ich habe den selben Fehler wie beschrieben.
Bin jetzt auch nicht der Vollprofi.
Meine Frage lautet:
define(‘FTP_BASE’, ‘…’); –> wie kann ich herausfinden, was ich für die ‘…’ einsetzen muss?
Vielen Dank schonmal für die Antwort.
Pingback: Teil 1: Leaflet Maps Marker installieren | Projekt-Q7-Spielwiese
20. April 2012 um 21:35 Uhr
Vielen Dank, musste eben das wp update machen und das ging nicht (Das Verzeichnis “wp-content” konnte nicht gefunden werden.) Nu hauts hin
19. Juli 2012 um 12:55 Uhr
Danke für die Anleitung.
4. Mai 2013 um 22:21 Uhr
Hey, danke für die komplette Darstellung!
define(‘FS_METHOD’, ‘direct’);
did it, keine nervigen Abfragen einer FTP-Verbindung bei Updates. Ich habe den Verdacht, dass das Better WP Security Plugin nicht ganz unschuldig ist, seitdem habe ich die Probleme, kann aber auch am Provider liegen, wer weiß…
Pingback: Anleitung: Wie man eine Wordpress Seite erstellt