it-swarm.com.de

Warum schlägt One Click Update auf localhost unter Verwendung von FTP mit 777-Berechtigungen für Site-Dateien fehl?

Ich kann erfolgreich Medien hochladen/entfernen, Plugins hinzufügen/entfernen und Themendateien in Admin-CP bearbeiten. Das einzige, was ich in Admin-CP nicht machen kann, ist ein normales Ein-Klick-Update von WordPress 3.7.1 auf 3.8. Ideen?

Die Fehlermeldung, wenn ich versuche, Updates auszuführen:

Update wird heruntergeladen von https://wordpress.org/wordpress-3.8-new-bundled.Zip

Update entpacken ...

Das Update kann nicht installiert werden, da wir einige Dateien nicht kopieren können. Dies ist normalerweise auf inkonsistente Dateiberechtigungen zurückzuführen: wp-admin/includes/update-core.php

Installation fehlgeschlagen

Zu Testzwecken habe ich alle Verzeichnisse und Dateien des übergeordneten Elements mit 777-Berechtigungen und user: group-Besitz auf den Benutzer www-data meines Webservers festgelegt.

-rwxrwxrwx 1 www-daten www-daten every-freakin-file.php

Die Ausgabe von grep www-data /etc/group zeigt meinen vsftpd-Benutzer und mein Haupt-Login.

www-daten: x: 33: ftps, ryan

Die Site-Dateien befinden sich in einem für Sites aktivierten Benutzerverzeichnis außerhalb von/var/www. Dies wird auf einem privaten LAMP-Localhost installiert, wobei ports.conf wie folgt konfiguriert ist.

NameVirtualHost *: 80 Listen 127.0.0.1:80

# Wenn Sie hier NameVirtualHost *: 443 hinzufügen, müssen Sie ebenfalls Änderungen vornehmen
# Die VirtualHost-Anweisung in/etc/Apache2/sites-available/default-ssl
# bis
# Die Angabe des Servernamens für virtuelle Hosts mit SSL-Namen ist derzeit nicht möglich
# wird von MSIE unter Windows XP unterstützt.
Hören Sie 443


Hören Sie 443

Abschließende Überlegungen: Gibt es einen anderen Benutzer, der zur WWW-Datengruppe hinzugefügt werden muss? Schließen 777-Berechtigungen für jede Datei und jedes Verzeichnis Berechtigungen als Grund für ein fehlgeschlagenes Update aus?

Ich sehe einen gelösten Thread mit einer ausgewählten Antwort auf eine "vsftp" -Konfigurationsdatei, aber es ist zu vage, um nützlich zu sein. Meine /etc/vsftpd.conf-Konfiguration funktioniert hervorragend, außer wenn ich Updates mit einem Klick versuche.
WP Upgrade kann kein Verzeichnis erstellen, obwohl die Perms 777 sind

Update: Meine phpinfo.php zeigt Apache_RUN_USER und Apache_RUN_GROUP sind WWW-Daten. Ich habe bestätigt, dass diese Benutzergruppe alle Dateien mit Lese-/Schreib-/Ausführungsberechtigungen besitzt.

2
iyrin

Dieses Problem ist behoben. Das Berechtigungsproblem hat damit zu tun, wie Dateien während des Updates auf die WordPress-Site hochgeladen werden. Die suPHP-Lösung ist an dieser Stelle meine Präferenz, da sie einfacher ist und weniger Berechtigungen für Dateien erfordert. Wenn Sie dies jedoch nicht möchten, müssen Sie darauf achten, dass Ihr FTP-Benutzer mit WordPress einwandfrei funktioniert.

suPHP-Lösung
Seitdem ich diese Frage gestellt habe, bin ich zu suPHP gewechselt, was es dem Webserver ermöglicht, als lokaler Benutzer anstatt als FTP-Benutzer zu arbeiten. Sobald suPHP konfiguriert war (Siehe: Installiere suphp mit Apache auf Ubuntu ), deaktivierte ich die WordPress-Upgrade-Konstanten in wp-config, so dass es nicht länger FTP verwendete.

Jetzt funktioniert die Aktualisierung mit einem Klick, da die Aktualisierungsdateien vom lokalen Benutzer statt von der Gruppe verwaltet werden, zu der der FTP-Benutzer gehört. Dies bedeutet, dass Dateiberechtigungen von 644 und Verzeichnisberechtigungen von 755 funktionieren sollten, da kein Gruppenschreibzugriff mehr erforderlich ist.

2
iyrin

Error:

Das Update kann nicht installiert werden, da wir einige Dateien nicht kopieren können. Dies ist normalerweise auf inkonsistente Dateiberechtigungen zurückzuführen.

Lösung:

  1. Überprüfen Sie SELinux, stellen Sie sicher, dass es deaktiviert ist, und wenn nicht, sollten Sie es deaktivieren. In PuTTY, #sestatus, muss die Ausgabe deaktiviert sein. Wenn nicht, bearbeiten Sie sie unter: /etc/selinux/config

  2. Ändern Sie /var/www/html in 777. In PuTTY: # chmod -R 777 /var/www/html

Weitere Hinweise:

  1. Wenn Ihr Webserver SELinux nicht aktiviert, wird der Fehler in den meisten Fällen behoben.

  2. Dieser Fehler hat nichts mit dem Besitz von Dateien, Ordnern oder Gruppen zu tun. Sie können über das WordPress-Dashboard mit root oder einem anderen Benutzernamen, den Sie zuvor erstellt haben, auf den FTP-Serer zugreifen.

  3. Ich habe drei Tage lang versucht, dieses Problem zu beheben, ohne dass Google-Vorschläge Erfolg hatten. Glücklicherweise habe ich zwei gehostete Websites, und eine ist SELinux-deaktiviert, und es gibt kein Problem mit dem Ein-Klick-Update. Auf einer anderen SELinux-fähigen Website gibt es ein Problem mit dem Ein-Klick-Update .

0
pagetrans

Ich verwende Apache unter OSX und das hat es für mich behoben:

Sudo chown -R _www:_www mywebfolder
Sudo chmod -R 775 mywebfolder
0
Justin