以下は、80codeサーバーでのみのことです。
昨日Hackが駄目ってわかってよく考えてみれば(考えなくてもそうだ)PHP_SELFに正しい値が入らないのが原因なのでそれに正しい値を入れてやれば解決することだなと・・・。ややこしい事をしなくても良いのである。
例えば、http://yourdomain.com/がJoomla!1.5で稼働しているすると
Joomla!1.5ルートの index.phpの冒頭に
$_SERVER['PHP_SELF'] = $_SERVER['SCRIPT_NAME'] = '/index.php';
を書き足せば何もHackしなくて済む。
さらにindex2.phpにも同様に
$_SERVER['PHP_SELF'] = $_SERVER['SCRIPT_NAME'] = '/index2.php';
を書く。これだけ・・・。バックエンドは何もしなくて良い。要はSEFの時だけ影響を受けるので必要ない。
ルート以下のディレクトリにJoomla!1.5を置いた場合はそのディレクトリ名も追加しなきゃならない。
例えば、http://yourdomain.com/joomla/なら
$_SERVER['PHP_SELF'] = $_SERVER['SCRIPT_NAME'] = '/joomla/index.php';
と言った具合に。
$_SERVER['SCRIPT_NAME']をなぜ加えているのかというと、エクステンションによっては、使っているようです。なので同じように初期化してしまいます。
でも、php.iniとかで設定できないのか?・・・。
休みを終えて・・・ふとPCの前に座ってあることに気がつきました。「RSSリーダー見てないよな・・・。」
やはりたくさんの記事がある。中には300件を超しているものまで・・・。もうそういうのは目を瞑って「すべて既読にする」ボタン。いつもよりは時間がかかりましたが、一応さらっと見ました。
Joomla.orgのデザインが一新されていますね。Joomla!1.5になったようです。英語のサイトの場合よけいに綺麗に見えちゃいますね。日本語であの文字の大きさは非常にみづらくなりますよね。うらやましいですね。
さて、このサイトも早くJoomla!1.5化と思いながらもなかなかどうして。けど、もうすぐマルチカテゴリー化できるJoomla!1.5専用エクステンションを公開できそうです。はじめはもしかするとベータになるかもしれませんが。
一応の機能予定
これを正式にしたらもちろんMovableType XML-RPCプラグインもマルチカテゴリーに対応させます。なのでかなりブログ用途に近づくと思います。コメント機能や、トラックバック機能は備えていませんが、既存のコンテンツはそのままだし、記事の表示にはJoomla!の機能をそのまま使うのですでにあるコメントエクステンションで間に合うし、トラックバックエクステンションは見たことが無いですがそれほど重要視していないのでそのうち実装しようかと思っています。
ですが、うちのサイトをJoomla!1.5化するにはまだエクステンションが足りません。なるだけ自作物にしたいのでまだまだ奮闘中です。
linux.comで「Securing Joomla! installations」という記事がありました。
簡単に
超言葉足らずですが、要点はこんなところかと思います。中にはサーバーによってできないものもあるかと思いますが、気をつけましょう。
特にhtaccessで制限をかけることは、簡単なので最初にしておきましょう。
Windows版のXAMPPは、PHP4とPHP5の両方のiniファイルがあるようなのですが、Linux版には無い?独自の設定はどうしたらよいのか検索してみたが、なかなか見あたらない。(検索ヘタか・・)brush:php;info()を見てみるとどうも同じbrush:php;.iniを使っているようだ。じゃあ別のbrush:php;.iniを読み取るように変更すればいい。 (XAMPPは、1.6.4です。)
vi /opt/lampp/etc/extra/httpd-xampp.conf
LoadModule brush:php;4_module modules/libbrush:php;4.so LoadModule brush:php;5_module modules/libbrush:php;5.so
を
PHPIniDir /opt/lampp/brush:php;4 LoadModule brush:php;4_module modules/libbrush:php;4.so PHPIniDir /opt/lampp/brush:php;5 LoadModule brush:php;5_module modules/libbrush:php;5.so
と付け加え
それぞれbrush:php;4とbrush:php;5のフォルダにオリジナルのbrush:php;.iniをコピーして独自の設定を書き込む。
XAMPPを再起動。
ちなみにxdebugを入れてみましたが、この方法だとbrush:php;4だけは動きませんでした。
Zend Debuggerは切替できました。
Windows 版にも同じように(Windows版にはhttpd.confに記入しました。)
以下を最後に追記
PHPIniDir "D:\Program Files\xampp\brush:php;5" PHPIniDir "D:\Program Files\xampp\brush:php;4"
brush:php;4、brush:php;5は、自分がわかりやすい適当なディレクトリでOK。 一応動いている。