Templateパーミッションの不思議なバグ

 

2008年前からこのバグは報告されている。Joomla.orgのドキュメンテーションに現れてこない。この不思議なバグとは!

不思議なバグ

Joomla 2.5や3.xのテンプレートにあるファイル、例えば、template.cssの内容をカスタマイズしてファイルを保存したとする。ファイルをカスタマイズする前のファイルパーミッションは 0644である。これがカスタマイズして保存すると自動的に0444に変ってしまう。

Joomlaの運営上では何も問題が無いが、テンプレートを通常のJoomlaエクステンションでアップデートしようとするとFailed to copyというエラーが表示される。

何度も通常の方法でテンプレートのバージョンをアップデートしようとしても同じエラーに出くわす。

FTPソフトでtmpフォルダーにあるアップロードされた新バージョンのテンプレートをFTPソフトの移動機能を使って該当のテンプレートフォルダーに上書きしようとしてもシステムエラーになる。

このエラーは、付属のテンプレートでも有料テンプレートでも同様に発生する。つまり、Joomla Template Managerが変更されたファイルのパーミッションを自動的に0644から0444に変えているという事である。

この状態に陥ると今サイトで使用しているテンプレートを削除して新しいテンプレートをインストールするしかない。これは面倒なことだ。

テンプレートのバージョンアップが出来なくなるという不思議なバグ

テンプレート以外のシステムファイルでは、このようなことは発生していない。テンプレートにあるファイルだけがこの対象になっている。JoomlaのTemplate Managerがそうしているとしか考えられない。なぜなんだろうか?

不思議なテンプレートパーミッションバグの解決方法

結論から言って、テンプレートにあるファイルをカスタマイズや変更した場合は、必ず後で変更したファイルのパーミッションを0444から0644に戻しておくしかない。

Admin Toolというコンポーネントを使うとシステムファイルでパーミッションがおかしくなっているファイル全てをJoomlaのパーミッションに設定してくれる。

または、

FTPソフトを使ってテンプレートフォルダーになる変更したファイルを手作業で0644に戻すかである。

テンプレートをアップデートする時にFailed to copyというエラーが出たら、このページを思い出してほしい。

 

Joomla導入料金