it-swarm.com.de

Aktualisiere das WordPress-Theme auf ec2

Ich hoste eine WordPress-Site auf ec2 und versuche, mein Theme über den Admin-Bildschirm zu aktualisieren. Es fragt mich nach Hostname und FTP-Benutzername und Passwort. Ist ec2-xxx.compute-1.amazonaws.com:22 mein Hostname? Ich habe es mit ec2user und root für meinen FTP-Benutzernamen versucht, aber kein Glück. Was mache ich falsch?

18
Spencer Carnage

Ihr Hostname wäre ec2-107-20-192-98.compute-1.amazonaws.com.

Ihr Benutzername ist der Benutzername, den Sie normalerweise für SFTP für die Instanz verwenden - ec2user für einige Instanztypen, ubuntu für Ubuntu-AMIs usw. EC2 verwendet im Allgemeinen keine Kennwörter und bevorzugt SSH-Schlüssel. Daher müssen Sie ein Kennwort für festlegen Ihr Konto durch Ausführen von passwd in der Befehlszeile.

5
ceejayoz

Überspringen Sie die FTP-Informationen vollständig und ändern Sie einfach die Berechtigung der Verzeichnisstruktur, in der Wordpress installiert ist.

VIA SSH

Sudo chown -R Apache:apache path/to/wordpress
  • Sudo stellt sicher, dass Sie als Root-Benutzer ausführen
  • chown ändert den Besitzer des Verzeichnisses
  • -R macht es rekursiv, so dass alle darin enthaltenen Dateien und Verzeichnisse geändert werden
  • Apache: Apache ist Benutzer: Gruppe

Und dann der Weg zu WordPress. Könnte /var/www/html/sitename.com sein oder wenn Sie zu dem Ordner navigieren, in dem Wordpress installiert ist, können Sie mit einem Punkt (.) Angeben, dass das aktuelle Verzeichnis geändert werden soll.

Dies führt dazu, dass Sie keine Dateien über SFTP kopieren können. Es empfiehlt sich daher, zumindest das Themes-Verzeichnis wieder auf den ec2-Benutzer zu ändern: ec2-Benutzer Benutzer und Gruppe.

Das ändert sich also wieder zu Ihrem ssh/sftp-Benutzer:

Sudo chown -R ec2-user:ec2-user path/to/wordpress

Sie können die Ordner dem FTP-Benutzer und der Apache-Gruppe zuweisen und sie dann auch für die Gruppe beschreibbar machen. Auf diese Weise können Sie per FTP in das Verzeichnis gelangen und alles in Wordpress automatisch aktualisieren.

// Set the wp-contents into the Apache group and then make files group writable
Sudo chgrp -R Apache wp-content
Sudo chmod -R g+w wp-content
// This makes new files created in wp-content and all of its sub-directories group-writable.
Sudo chmod g+s wp-content

Dann füge dies zu wp-config.php hinzu, um zu erzwingen, dass Wordpress aktualisiert wird, wenn nur dieser wp-Inhalt angewendet wird:

define('FS_METHOD', 'direct');

Sie können sich auch auf die gesamte Wordpress-Installation beziehen, um Wordpress automatisch zu aktualisieren und nicht nur Plugins/Themes. In diesem Fall würde ich empfehlen, die Datei wp-config.php in einem Verzeichnis über Ihrer Wordpress-Installation abzulegen, damit Sie sie separat sperren können.

EDIT: Wenn bei EC2 Berechtigungsprobleme auftreten, gehe ich zum Verzeichnis site root und füge diese Zeilen ein. Ich wende sie auf die gesamte Wordpress-Installation in diesen Tagen an:

Sudo find . -type d -exec chmod 0755 {} \;
Sudo find . -type f -exec chmod 0644 {} \;
Sudo chown -R ec2-user:Apache .
Sudo chmod -R g+w .
Sudo chmod g+s .

Ich verwende etwas Ähnliches auch auf meinem Mac.

43
Jake

Fügen Sie in Ihrem wp-config.php unter directives diese Zeile hinzu:

define('FS_METHOD', 'direct');
18
Rohan Zakie

Sie können dieses Problem einfach lösen, indem Sie dies über ssh tun:

Sudo chown -R Apache Pfad/zu/WordPress

dann

Sudo chmod -R 755 Pfad/zu/WordPress

14
Tim Chen

Versuchen Sie, wp-config.php FTP-Anmeldeinformationen hinzuzufügen: http://codex.wordpress.org/Editing_wp-config.php und http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants

Das sollte dazu führen, dass WP admin nicht mehr nach FTP-Details fragt. Aber je nachdem, wie Sie Berechtigungen über die Befehlszeile eingerichtet haben, müssen Sie möglicherweise zur Befehlszeile gehen, um Dateien wie wp-config.php zu bearbeiten. Außerdem verfügen Sie möglicherweise nicht über ausreichende Berechtigungen zum Hochladen und zum Entpacken eines Themas für WP.

Gemäß den anderen Antworten verwende ich SFTP mit einem Server mit dem Benutzernamen ec2-xx-xxx-xx-xx.compute-1.amazonaws.com von ec2-user.

2
markratledge

ec2-107-20-192-98.compute-1.amazonaws.com:22 repräsentiert sowohl den Hostnamen als auch den Port ssh. (SSH befindet sich normalerweise auf Port 22, kann jedoch auf jedem Port ausgeführt werden.)

Versuchen Sie es einfach mit ec2-107-20-192-98.compute-1.amazonaws.com im Feld Hostname.

Ich bin immer noch skeptisch gegenüber einer Webseite , die nach einem Benutzernamen und einem Passwort fragt. Scheint mir ein bisschen albern, da Sie einfach SFTP verwenden sollten, um den gewünschten Inhalt direkt mit Ihrem SSH-Identitätsschlüssel anstelle eines Kennworts hochzuladen.

0
sarnold

Sie können einfach 127.0.0.1 als Hostnamen verwenden und FTP in den Wordpress-FTP-Einstellungen überprüfen. Um das Gesagte wieder aufzunehmen:

  • user ist dasselbe, das Sie tatsächlich für SSH/SFTP verwenden

  • Passwort muss eingestellt/aktualisiert werden Anmeldung über SSH und Eingabe von Sudo passwd your-user-name

0
yumyo