2007年05月20日

EthnaをアイルiSLEのiCLUSTAで動かす

ローカルのMac OS XでXAMPPを構築できたので、次は共用レンタルサーバで動かすことができるか検証しなければなりません。

まずは、ちょっとお高い方のレンタルサーバであるiSLE(アイル)共用サーバiCLUSTAで挑戦です。

XREA.COMでEthnaを動かしている「メモ/2007-04-17/Ethnaをつかう」「レンタルサーバでPEARを使う方法」あたりが参考になりますが、非常に制限の多いiSLE(アイル)で挑戦している人のページは見つかりませんでした。でも、何とかなるでしょう、というノリでやってみました。

まずは、XREA.COMで実現した方の方法を参考に、さっき作ったプロジェクトフォルダ内のlibにXAMPPのPEAR、Ethna、Smartyを全部コピーします。testproj/lib というこのフォルダ、なぜか空っぽなんですね。
/Applications/xampp/xamppfiles/lib/php/pear → testproj/lib/pear
/Applications/xampp/xamppfiles/lib/php/Smarty → testproj/lib/Smarty
そして、iCLUSTAのルートディレクトリにプロジェクトフォルダをまるごとアップします。ドキュメントルートとなる www.some.site/ と testproj/ が並ぶことになります。

次に、testproj/wwwへのシンボリックリンクを作りたいところですが、iCLUSTAでは無理なようです。実ファイルをコピーするしかありません。ドキュメントルート内のフォルダにtestproj/wwwからindex.phpとcss/、js/をコピーし、index.phpのrequire_once '/home/vuser/some path/testproj/app/Testproj_Controller.php'; をアップしたディレクトリに合わせて書き換えます。

さて最後にPEARなどのinclude_pathを指定しなければなりません。これまではphpファイルすべてに
ini_set('include_path', '/home/vuser/some path/lib' . PATH_SEPARATOR . ini_get('include_path'));
などと記述してきましたが、Ethnaがどうなっているのか調べたくもないし、今後のバージョンアップなども考えるとこの方法は取れません。そこでまず、.htaccessにphp_valueで指定してみました。
<IfModule mod_php4.c>
php_value include_path ".:/home/vuser/some path/testproj/lib:/home/vuser/some path/testproj/lib/pear"
</IfModule>
しかし、全くダメです。無視されているようです。iSLE(アイル)のQ&Aを見てみると、「利用可能なディレクティブはAuthConfig と Limit のみ」とのこと。使えませんねぇ。SSHも使えない、.htaccessもダメ。ホント何もできない感じです。

しかし、なぜか一点だけ自由になるところがありました。php.iniをまるごと設置できるとのことなのです。使いたいディレクトリにphp.iniを置けば、それを優先する、ということです。.htsccessがダメなのに、なんだかバランスが良くない気がするのは気のせいかな?

まあ、とにかく、index.phpなどを置いたディレクトリにphp.iniを設置し、include_pathを指定してやっとテストです。

結果、チュートリアルに従って作ったページが無事表示されてめでたし、となりました。これで、どんなレンタルサーバでも大体はEthnaが使えそうなことがわかりました。

さあ、使いこなせるようにならねば!
posted by 急いでジャンプ at 21:49| Comment(0) | TrackBack(0) | Web開発 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。