さくらでFrog
![]()
最近よさげなCMSを探している.最低条件はPHP5で書かれていること.いろいろ探してみたが,軽くてなかなか良さそうとおもったのが「Frog」である(紹介記事).MVCフレームワークであったり,PDOを使ってるところも惹かれる.
さくらインターネットのレンタルサーバーでインストールしてみた.
さくらでは一筋縄ではいかなかったので,はまりポイントの回避策についてメモ.思い出しながら書いているので不足あるかもです.
readme.txtの通りにインストール
まずはreadme.txtにしたがってみる.
まずはfrog/installにアクセス.DBの情報をいれてテーブル作成.成功したと表示されるが,phpMyAdminでみてもテーブルが作成されてない.当然管理ログイン画面は何も表示されない.
一応, 「* rename _.htaccess to .htaccess」も行うがこれだけすると500エラーに.
うーん.
とにかくトラブルシューティング
まずは500エラーから..htaccessの頭のOptions +FollowSymLinksをコメントアウトしたら直った.Apachは詳しくないので結果オーライでスルー.
次にDB.install/structure.sqlを開く.さくらのMySQLはInnoDBに対応していないぽいので,「ENGINE=InnoDB DEFAULT CHARSET=utf8」を「ENGINE=MyISAM」に置換するとテーブルができた(一回installを実行していた場合はconfig/config.phpを削除).MySQLも詳しくないのでこれでいいのかどうかは分からんが結果オーライ.無事TOPページが表示された!
が!相変わらず管理ログイン画面は表示されず.Readmeには関係ありそうな情報がないので,もうソースを追うしかない.echoしながら掘っていくとログイン画面に関してはLoginControllerクラスのindex()メソッドまではいっている模様.
$this->setView('login/index');
が怪しい.app/backend/views/login/index.phpが呼ばれている.このファイルをみてみる.
表示されない管理画面をソース表示してみると
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html> <head> <title></title></head></html>
までは表示されている.どうみてもその後の
<title>< ?php echo _('Login') ?></title>
が犯人です.よくみると_()な関数が使われている.どこで定義しているのか,とgrep -ri ‘function _()’してみるがひっかからない.が,grep -ri ‘_()’したときに’function __()’は引っかかる!
そこで’ _()’を’ __()’に置換すると,キターーー.ログイン画面がついに現れました.これで無事インストール完了(?)です.
しかし,この状態で公開されているってことは開発者の人たちはこれで通っているのか??SVN版もこのままだし,,謎だ.
実際に使ってみた
うーーーん,,,微妙.....
できることはコンテンツの生成/編集/並び替え,ファイルのアップロードくらいっぽい.最低限の装備な感じ.Ajaxとかどうでもいいからもうちょっとリッチにしてほしいな.自分で改造しようかな..
次はSilverStripeも強引にインストールしてみたいところ.


10 月 30th, 2007 at 22:44:01
じゃれすのろぐのjarethです。コメントありがとうございました。PHP5を別途インストールしてまで使うこともないとfrogはとめてます。SilverStripe使いたいのですが、PHPはともかく、MySQLが4.1以降(さくら(共有)は、4.0.*)なのが。。。です。
10 月 31st, 2007 at 1:44:00
たしかにfrogをインストールするためにPHP5をインストールするのはありえないですねwfrogとは関係なしにPHP5をインストール価値はありますけどね.
SilverStripeはMySQLが4.1以降でないと使えない機能を使っているのでしょうか?PHPによるMySQLのバージョンチェックをコメントアウトすれなどうにかなる問題とは違うんでしょうか.
10 月 31st, 2007 at 9:00:38
SikverStripe:素のままではインストーラーが動かないところまでしかやってませんので試す価値はあるかもしれません。
MySQL4.0と4.1とでは
http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_42
これを見る限り、改造範囲が結構広そうで余計な不具合がでそうです。