Cannot save Global Configuration changes/ja

出典: Joomla! ドキュメンテーション

目次

問題

管理者“バックエンド”の基本設定に入ったあと、“保存”あるいは“適用”のどちらかのボタンをクリックし現在のサイト設定を保存しようとすると、以下のエラーメッセージが表示される: “エラーが発生しました! Unable to open configuration.php file to write!”, possibly accompanied by: “JFTP::write: Bad response” if you are working in FTP enabled mode.

このエラーの原因

Joomla!の基本設定更新スクリプトが無効になっているため、基本設定ページで行った変更を“configuration.php”ファイルに反映できていません。Joomla!でファイルが書き込み不可になっているか、書き込み可にできなかった可能性があります。(i.e. R/W). Joomla! 1.5.xが設定保存時に、configuration.php”を書き込み可にしようと試みてもできない場合、後者の方がありがちなケースです。 これに関して、もっともよくある原因はファイルを変更しようとしても、“configuration.php”が別の理論的なユーザに所有されている場合があります。FTP機能を有効にして基本設定をを変更しようとするなら、たいていFTPログインID;FTP無効でならこれはWebサーバのプロセスIDとなります (多くの場合は"apache"か"www - data"のようなものとして指定される)。 (ファイルオーナーについてはたいていFTPプログラムでサイトにログインすれば確認できます。代わりにeXtplorerを使うこともできます。 – 以下参照)。 不運にも、 基本設定の更新するにはFTPモードを有効にしたり無効にして適切なモードへの変更がロックされるでしょう。(そして従って設定を変更しようとするための理論的なアイデンティティの変更) は そのファイルの中に保存された基本設定データで決定されます。

提案される解決法

注釈: すべてのユーザにおいて“configuration.php”ファイルを書き込み可にしただけでは十分ではありません。次にこのようにJoomla! 1.5.xがすべてのユーザに対してファイルをリードオンリーにした後、グローバル設定を一度だけ更新するできるようになり、また問題が発生します。

  1. “FTP有効”を使用している場合は“configuration.php”ファイルのオーナーシップをあなたのFTPログインIDなどに、“FTP無効”にしている場合は、サーバーのプロセスIDなどに合うように変更する。
    注釈: これはあなたがJoomla!の中でどうこうできるものではありません。
    もしあなたがすべてのサーバーコントロール権限をお持ちなら、(例. ローカルサーバあるいはバーチャルサーバ) 適切なユーティリティを用いて利用可能にできるはずです。(Linuxサーバの“chown”など)。共有サーバではあなたの組織あるいはISPのテクニカルサポートに連絡して、問題を説明し、適切なファイルオーナーシップを変更してもらうようにしてください。
  2. eXtplorerコンポーネントのインストール(Joomla!エクステンションディレクトリから入手できます –

extensions.joomla.org) – ない場合。これでファイルを表示し操作することができるようになります。(WebサーバプロセスのユーザIDを使用) あるいは “ftp” モードでFTPログインユーザIDを使用しての両方の“file” モードで。しかしながらおそらくこのツールでファイルオーナーシップは変更できないでしょう。モードの中のどれかを使って“configuration.php” をすべてのユーザに書き込み可にすることができます。これは基本設定を一度だけ変更できるようにすることができます。 – あるいはそれ以上、もしFTPモードに変更を含み、“configuration.php”ファイルに書かれたオーナーシップと一致すれば (しかし以下の注釈を参照)。
注釈: FTPモードの変更は 新たな設定でアップロードされたファイルに適用されたオーナーシップに影響を及ぼします。(例: エクステンションのインストール時など)。

バックグラウンド

上記は簡単な説明です、しかし以下はすべての人に関心があり価値があるかもしれません。そしてエキスパートユーザがこの問題を自分たち独自の解決策を策定する手助けとなるでしょう。

  • “configuration.phpファイルはサイトインストールの間に自動的にサイトのルートフォルダに生成されます。(“configuration.php-dist”から) そしてインストールプロセス中にサイト固有の情報を与えられ組み込まれます。サイト管理画面“バックエンド”での基本設定エリアの変更は、“保存”あるいは“適用”ボタンが押されたときに“configuration.php”に書き込まれます。
  • Joomla!が“configuration.php”ファイルを変更しようとするときはいつも、最初に書き込み可能にしようとします。そしてセキュリティ対策のためファイルを更新した後、書き込み不可にします。(例. リードオンリー)
  • Joomla!サイトを稼働させているサーバー上のファイルはいくつかのエンティティによって所有されています。それはどのようにサーバーに置かれたか、生成されたかによります。一般的にJoomla!上のファイルはの2ユーザIDのどちらかが所有しています。:
    1. FTPでアップロードされたファイルあるいはFTPモードを有効にしてのインストールされたファイルはあなたのサイトのFTPログインIDに対応したユーザIDのオーナーシップでが割当てられます。
    2. Joomla!の中でFTPモードを無効にしてインストールされたファイルは通常Joomla!スクリプトだけでなく(“apache”あるいは“www-data”など)、メインのWebサーバを実行するプロセスを動かしている“ファントム”ユーザIDのオーナーシップで割当てられます。