Änderungen an der globalen Konfiguration lassen sich nicht speichern
From Joomla! Documentation
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
Eigentumsrechte
Änderung der Eigentumsrechte der configuration.php entsprechend der FTP-Login-ID, wenn „FTP aktiviert“ ist oder der Web-Server-Prozess-Identität, wenn „FTP nicht aktiviert“ ist.
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).
Hinweis: Änderungen des FTP-Modus betreffen die Eigentumsrechte aller Dateien, die mit den neuen Einstellungen hochgeladen werden (z.B. beim Installieren von Erweiterungen). Datei Eigentumsrechte: Rat von ianmac
PHP-Eigentumsrechte prüfen
Den Web-Server PHP mit CGI oder Fast CGI laufen lassen. Diese Methode stellt sicher, dass der Benutzer zum ausführen des PHP Scripts derselbe ist, wie der FTP Benutzer, der den Code versucht hochzuladen. So wird der Konflikt vermieden - die ID des Änderungsprozesses der configuration.php stimmt dann mit dem Eigentümer überein. Für weitere Informationen bezüglich CGI oder Fast CGI muss unter Umständen der Provider oder Hosting Anbieter kontaktiert werden.
Hintergrund
Bei den oben Beschriebenen Texten handelt es sich um vereinfachte Erklärungen. Die folgenden Beschreibungen dienen möglicherweise auch Experten Ihre Probleme selbst zu lösen.
- 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.
- Immer wenn Joomla! versucht, die Datei configuration.php zu aktualisieren, versucht es zuerst, sie beschreibbar zu machen und nach der Aktualisierung die Datei als Sicherheitsvorkehrung unbeschreibbar (d.h. schreibgeschützt) zu machen.
- Dateien des Web-Servers, der Joomla! hostet, gehören verschiedenen Instanzen, abhängig davon wie und wo sie am Server platziert oder erzeugt wurden. Generell gehören Dateien einer Joomla!-Seite von einer von zwei Instanzen:
- Dateien, die per FTP hochgeladen oder mit aktiviertem FTP installiert wurden gehören generell der Benutzer-ID, die mit der FTP-Benutzer-ID dieser Seite korrespondiert.
- Dateien, die innerhalb von 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 benötigt wird (oft als apache oder www-data benannt).