Änderungen an der globalen Konfiguration lassen sich nicht speichern
From Joomla! Documentation
Im Konfigurations-Bereich des Administrator-"Backends" wird nach Klick auf den "Speichern"- oder "Speichern & Schließen"-Button, um Änderungen der Seiten-Konfiguration zu speichern, erscheint folgende Fehler-Meldung: “An Error has occurred! Could not write to the configuration.php file!”, möglicherweise auch “JFTP::write: Bad response”, wenn FTP aktiviert ist.
Gründe für den 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 schreibbar 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 Benutzers ist als der, der die Änderungen versucht. Wenn die globale Konfiguration mit aktiviertem FTP verändert werden, wird es dir FTP-Login-ID sein; 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
Eigentum
Ä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".
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.
Background
The above is a simplified explanation, but the following may be of interest and value to all, and also help expert users formulate their own solution to this problem.
- The file “configuration.php” is generated automatically in the site’s root folder (from “configuration.php-dist”) during site installation and incorporates in it the site-specific information given during the install process. Changes made in the Global Configuration area in the site's administrative “back-end” are written to “configuration.php” when the either the “Save” or “Save&Close” button is used.
- Whenever Joomla! attempts to update “configuration.php” file it first attempts to make it writeable, and after updating the file make it unwriteable (i.e. read-only) as a security precaution.
- Files on the web server hosting your Joomla! site will be owned by one of several entities, depending on how they were placed or created on the server. Generally files on a Joomla! site will be owned by either of two user identities:
- Files you upload by FTP or installed with FTP mode active will generally be allocated ownership of a user ID corresponding to your FTP login ID for that site,
- Files installed from within Joomla! and with FTP mode inactive will generally be allocated ownership by the “phantom” user ID that used to run the main web server processes as well as your Joomla! scripts (often named as something like “apache” or “www-data”).