早速、http://demo16.joomler.netをアップグレード。全ファイルをFTPで上書きし、サイトを開く・・・。
Internal Server Error
おっとっと・・・大抵こういう場合、設定済みのhtaccessを上書きしてしまった場合に多い。htaccess.txtでアップグレードファイルには付属されていたが、ローカル上で.htaccessに直しアップロードしている。今回は、RewriteBaseのコメントを外すことで完了。
修正内容はたくさんあるようだし、中レベル(どんなレベル?)の脆弱性も修正されているようなので、早めにアップグレードされた方が良いと思います。
Joomlaに限らず、DrupalやWordpressにしても、たくさんのユーザーに支えられているシステムはこうやって更新されていくことが最大のメリットですね。
PHP5.3に対応したようです。
セキュリティ的な修正は、Authorアクセスでのフロントエンド編集と以前から私が記事にしているようにXMLファイルが読めてしまう問題のようです。これは、iniファイルなども同様の対策が必要だと思います。
また、待望のTinyMCEの修正がなされるのでみなさん早めにJoomla!をアップデートされた方が良いと思います。
ここ最近、Joomla!1.5でサイトを作成していて、今3つめを作成しています。
開発では、もちろんJoomla!1.5を使って開発していましたが、サイトを作成するという意味では、ゼロから作成するのはうちのデモサイトや開発用を除いては、はじめてです。
それにあわせて自分用のオリジナルなJoomla!1.5を作成しています。汎用性があって、便利そうなら公開しようと思っています。
作成していく中で1.0.xのときもそうでしたが、やってみて今更あらためて気づいた事が何点かありました。
などと・・・。
解決への早道は、遠回りの道です。
今まで正常に動いていて何もしていないのに突然異常が発生するなんてことはほとんどあり得ないことです。もちろんプログラムが原因でということは考えられることですが。
もちろん私も、そう言いたい時が多々ありますが、大抵私が原因です。
一昨日、テストサイトにログインしようとしたらエラーでログインが、できませんでした。1.5.8へアップデート後だったのでそれが原因なのかと、さかのぼって調べていくと結局、Joomla!が読みに行くファイル名と同じファイル名を使っていた事が原因でした。これは、アップデートが原因でも何でもなく単にそのファイルを作成してからログインしたことが無かったことが原因でそう考えてしまっただけでした。勘違いもいいとこです。
以前に書きかけてやめた内容です。その変更が間違っているかもしれないからです。Joomla!のHackでなくサーバーの設定やhtaccessでの回避が可能とも思えるのですが、探しても適切な内容には行き当たりませんでした。(そのあたりはあまり詳しくはありません。)事実、CORESERVERでは下記のHackは適用していなかったので環境によるものだと思います。
80codeサーバーでJoomla!1.5のSEFをオンにすると(独自ドメインを使っている環境下のテストしかしていません。)、メニューの一階層目は正しく表示されますが、2階層目以降は本来のURLに付加された疑似フォルダ(変)がトップレベルの階層になってしまい、404エラーとなってしまいます。それにはじめて出くわしたときはいろいろ検索したのですが、なかなか適当な記事を発見できず、安易にHackという方法をとっています。
変更は、以下の通り。
Root/libraries/joomla/environment/uri.php
return $pathonly === false ? $base['prefix'].$base['path'].'/' : $base['path'];
を以下のように変更することで通常のように表示できています。
if(JPATH_BASE == JPATH_ADMINISTRATOR) {
return $pathonly === false ? '/administrator/' : '/administrator';
}
return $pathonly === false ? '/' : '';
// return $pathonly === false ? $base['prefix'].$base['path'].'/' : $base['path'];
236行目は、変更前のものをコメントアウトしているだけです。すぐに戻せるように残しています。
また、htaccessの「RewriteBase /」部分を有効にしてください。
うちのデモサイトhttp://demo.joomler.net/ではこの変更を適用しています。今のところ何も問題ありません。ただ、サードパーティーのエクステンションは私の作成したものだけで他のエクステンションでは悪影響があるかもしれないのでご注意ください。
また、他の回避方法(サーバー設定など)をご存じの方は是非教えて下さい。