Ein Blog über Code, Hardware und Co

Server und Betriebssysteme

WordPress Plugin-Installation und Update ohne FTP

So ziemlich jeder WordPress-Nutzer wird es kennen und besonders Beginner treibt es oftmals zur Verzweiflung: Wenn das Verzeichnis /wp-content nicht beschreibbar ist, fragt WordPress bei der Installation oder dem Update eines Plugins nach FTP-Zugangsdaten.
Ich zeige Dir, wie es anders geht und FTP-Zugangsdaten wegfallen.

Das Problem

Nomalerweise würde WordPress die direkte Plugininstallation anbieten. Steht nur FTP zur Verfügung, hast Du in der Regel ein Rechteproblem auf Deinem Server:
Der Webserver hat in diesem Fall keine Schreibrechte auf das Verzeichnis /wp-content.

Abbildung 1: WordPress fragt bei Update oder Neuinstallation eines Plugins nach FTP-Zugangsdaten.

Die Lösung

Die schöne Methode

Anpassung der Schreibrechte. Du musst Deinem Webserver Schreibrechte auf das Verzeichnis /wp-content geben.
Dafür gehts Du bestenfalls via SSH auf Deinen Server und führst die folgenden Kommandos aus:

chown -R www-data wp-content

Anmerkung: www-data ist oftmals der User des Webservers (Apache). Der Name des Users kann jedoch je nach Konfiguration Deines Servers abweichen und z.b. auch „apache“ lauten.

Ggf. musst Du dem User/Besitzer noch Schreibrechte auf das Verzeichnis geben:

chmod u+wrx

Achtung: Es ist dringend davon abzuraten, irgendeinem WordPress-Verzeichnis einfach alle Schreibrechte (777) zu verpassen. Dann kann jeder User auf der Maschine in den jeweiligen Verzeichnissen schreiben (Sicherheitsrisiko!).

Die Holzhammer-Methode 😉

Wenn Du keinen Zugriff auf die Konsole hast bzw. keine Möglichkeit hast, die Schreibrechte und Besitzer des Verzeichnisses anzupassen (oder Du sonstige andere Gründe haben solltest ;)), kannst Du WordPress mit der Holzhammer-Methode dazu bringen den unten erklärten Check zu überspringen und Dir die direkte Installationsmethode anzubieten.

Dafür musst Du eine Konstante in der wp-config.php erstellen.
Öffne das File einfach in einem Editor und trage folgende Zeile ein:

define('FS_METHOD', 'direct');

Das Ergebnis:

Abbildung 2: Die direkte Installation von Plugins und Updates ist (wieder) möglich.

Der Hintergrund

WordPress hat einen integrierten Check, ob es Plugins in das /wp-content Verzeichnis schreiben kann. Dafür versucht WordPress ein temporäres File in das Verzeichnis zu schreiben. Wenn das funktioniert, gleicht WordPress ab, ob das File den gleichen Besitzer hat, wie die WP-Instanz selbst (uid).
Stimmt der Check überein, bietet WordPress von sich aus auch die direkte Installation an. Schlägt der Check fehl, bekommst Du nur die FTP-Methode angeboten (auch, wenn das File geschrieben werden konnte, aber die Ownership nicht übereinstimmt).

Schreibe eine Antwort