Cannot save Global Configuration changes/de: Difference between revisions

From Joomla! Documentation

No edit summary
No edit summary
Line 13: Line 13:
{{note|Die “configuration.php” nicht für alle Benutzer beschreibbar machen. Dadurch kann die die globale Konfiguration nur einmal geändert werden. Joomla! würde die Datei danach auf read only setzen und das Problem würde weiterhin bestehen.|type=serious}}
{{note|Die “configuration.php” nicht für alle Benutzer beschreibbar machen. Dadurch kann die die globale Konfiguration nur einmal geändert werden. Joomla! würde die Datei danach auf read only setzen und das Problem würde weiterhin bestehen.|type=serious}}


=== Eigentum ===
=== Zugriffsrechte ===
Änderung des Eigentums der “configuration.php” entsprechend der FTP-Login-ID bei "FTP aktiviert" oder der Web-Server-Prozess-Identität bei "FTP nicht aktiviert".  
Änderung des Eigentums der “configuration.php” entsprechend der FTP-Login-ID bei "FTP aktiviert" oder der Web-Server-Prozess-Identität bei "FTP nicht aktiviert".  



Revision as of 15:46, 13 April 2019

Im Konfigurations-Bereich des Administrator-"Backends" erscheint nach Klick auf den "Speichern"- oder "Speichern & Schließen"-Button folgende Fehlermeldung: “Ein Fehler ist aufgetreten! In die configuration.php kann nicht geschrieben werden!”, möglicherweise zusammen mit “JFTP::write: Bad response”, wenn FTP aktiviert ist.

Gründe für diesen Fehler

Das Konfigurations-Update-Skript von Joomla! konnte die Inhalte der “configuration.php" nicht ändern, um Änderungen der globalen Konfiguration zu speichern. Joomla! konnte nicht in die Datei schreiben und / oder konnte die Datei nicht beschreibbar machen (z.B. R/W). Seit Joomla! 1.5.x versucht, die “configuration.php” vor dem Speichern schreibbar zu machen, ist die zweite Variante wahrscheinlicher. Die wahrscheinlichste Ursache ist, dass die “configuration.php” Eigentum eines anderen logischen Benutzers ist als der, der die Änderungen zu speichern versucht. Wenn die globale Konfiguration mit aktiviertem FTP verändert werden soll, ist wahrscheinlich der FTP-Login-ID falsch; ist FTP nicht aktiviert wird es ein Web-Server-Prozess sein (oft als sowas wie "apache" oder "www-data" benannt). (Man kann üblicherweise die Datei-Eigentumsrechte mit der Einwahl in die Seite mittels FTP-Programm prüfen. Alternativ kann man eXtplorer verwenden - siehe unten). Leider wird man aus dem gängigen Update der globalen Konfiguration ausgesperrt, da das aktivieren und deaktivieren des FTP-Modus (und dadurch Änderung der Identität beim Versuch, die Konfiguration zu ändern) von der globalen Konfiguration selbst festgelegt wird.

Empfohlene Lösungen

Die “configuration.php” nicht für alle Benutzer beschreibbar machen. Dadurch kann die die globale Konfiguration nur einmal geändert werden. Joomla! würde die Datei danach auf read only setzen und das Problem würde weiterhin bestehen.

Zugriffsrechte

Änderung des Eigentums der “configuration.php” entsprechend der FTP-Login-ID bei "FTP aktiviert" oder der Web-Server-Prozess-Identität bei "FTP nicht aktiviert".

Das kann nicht in Joomla! selbst gemacht werden. Hat man die Kontrolle über den Server (z.B. lokaler Server oder virtueller Server) dann sollte man mit einem geeigneten Programm (wie "chown" eines Linux-Servers) dazu in der Lage sein.

Bei einem geteilten Server sollte man den technischen Support der eigenen Organisation oder des Web-Hosting-Providers kontaktieren, das Problem beschreiben und ersuchen, die Datei-Eigentumsrechte entsprechend zu ändern.

Eine Erweiterung verwenden

Installiere die eXtplorer-Komponente (erhältlch im Joomla! Extensions Directory - Category File Management), falls noch nicht vorhanden. Damit können Dateien im "Datei"-Modus (Web-Server-Prozess-Identität) oder im FTP-Modus mit FTP-Login-Benutzer-Identität angesehen und verändert werden. Auch wenn man wahrscheinlich die Eigentumsrechte mit diesem Werkzeug nicht ändern kann, kann mit einer der Modi die “configuration.php” für alle Benutzer beschreibbar gemacht werden. Damit kann die globale Konfiguration einmal geändert werden - oder öfter, wenn dabei der FTP-Modus so verändert wird, dass er mit dem Eigentum der "configuration.php" übereinstimmt (Anmerkung unten beachten).
Note: Änderungen des FTP-Modus betreffen die Eigentumsrechte aller Dateien, die mit den neuen Einstellungen upgeloadet werden (z.B. beim Installieren von Erweiterungen). File ownership advice from ianmac

PHP-Eigentumsrechte prüfen

Den Web-Server PHP mit CGI oder Fast CGI laufen lassen. Damit läuft der PHP-Code mit derselben Benutzer-ID wie beim Upload des Joomla!-Code per FTP. So gibt es keinen Konflikt, da die ID des PHP-Prozesses, die die "configuration.php" ändert, dieselbe wie des Datei-Eigentümers ist. Wenn man nicht weiß, wie CGI oder FastCGI gesetzt wird, fragt man den Server-Administrator oder den Hosting-Service-Provider um Rat.

Hintergrund

Oben Beschriebenes sind vereinfachte Erklärungen, das Folgende kann von Interesse und Wert für alle sein und erfahrenen Benutzern helfen, ihre eigenen Lösungen für das Problem zu formulieren.

  • Die Datei "configuration.php" wird automatisch während der Seiten-Installation im Wurzelverzeichnis der Seite erzeugt (von "configuration.php-dist") und beinhaltet die Seiten-spezifischen Informationen aus dem Installations-Prozess. Änderungen im Konfigurations-Bereich des Administrator-"Backends" werden in "configuration.php" geschrieben, wenn entweder der "Speichern"- oder "Speichern & Schließen"-Button verwendet wird.
  • Wann immer Joomla! die "configuration.php" upzudaten versucht, versucht es sie zuerst schreibfähig und nach dem Update die Datei aus Sicherheitsgründen nicht-schreibfähig (z.B. nur-lesen) zu machen.
  • Dateien des Web-Servers, der Joomla! hostet, gehören verschiedenen Instanzen, abhängig wie und wo sie am Server platziert oder erzeugt wurden. Generell gehören Dateien einer Joomla!-Seite von einer von zwei Instanzen:
    1. Dateien, die per FTP hinaufgeladen oder mit aktiviertem FTP installiert wurden gehören generell der Benutzer-ID, die mit der FTP-Benutzer-ID dieser Seite korrespondiert.
    2. Dateien, die in Joomla! und mit nicht-aktiviertem FTP-Modus installiert wurden, gehören generell der "Phantom"-Benutzer-ID, die für die wesentlichen Web-Server-Prozesse und die Joomla!-Scripte gebraucht wird (oft als sowas wie "apache" oder "www-data" benannt).