CoreserverでSOY CMSを運用する際の覚え書き
というわけで、またもサイトデザインが変わりました。突発的に思いつき、ここ数日しこしこと作業してました……。疲れた。まあ、サイト全体をCMSで管理するというのは前からやってみたかったことなので、今回やっとこさ実現できてよかったかなと。なんで年末年始にそんなことをやっているんだというのはさておき。
今回導入したのは、SOY CMSというシステムです。大豆のアイコンが目印です。ブログと固定ページをひとつのシステム内で運用できるので、最新のブログ記事だけ別ページにも出力できたりして便利です。前は割と小細工して(……というほどでもないか)それを実現してました。
高機能ですしインタフェースもそれなりに使いやすいのですが、不満点がないわけでもなく。新しいシステムであること、そこまでメジャーではない(笑)ことから、とにかくマニュアルやノウハウが不足していました。公式サイトにもマニュアルは用意されているのですが、情報量が少なく肝心なことが書いていないので(汗)、結局、自分であれこれ試してやっと機能を把握しました。このシステムの利用を考える際は、システムコンセプトを書いたPDFにまず目を通すことをお勧めします。基本的な考え方がわかっていないと、正直わけわからんです。
このサイトを運用しているサーバはCoreserverなのですが、ここはとにかくPHPの挙動に癖があるというか変なので(笑)、それに引っかかってえらい苦労しました。今後の覚え書きとして、気がついたところを書いておこうと思います。なお以下の記述は、s35.coreserver.jpでの話です。
まず、Coreserver(おそらくXreaも同様)はPHPの設定に癖があるので、モジュール版ではなくCGIとして実行するようにしないとまともに動きません。.htaccessファイルに以下を書き加え、CGIとして実行するようにします。
mod_gzip_on Off
AddHandler application/x-httpd-phpcgi .php
二行目で、.phpのファイルもCGIとして実行するようにしてます。なお、この設定にした後も特にパーミッションを書き換える必要はありません。
これでとりあえずシステムは動くようになるはずですが、サイトをルートに設定する際、この.htaccessをシステムで書き換えてしまいます。するとシステムが動かなくなり、エラーを出して止まるという事態が起こるので、書き換えの際にも上の記述を消さないようにしなくてはなりません。
<SOY CMSをインストールしたディレクトリ>/common/logic/admin/Site
以下の、DomainRootSiteLogic.phpの38行目から、以下の三行を書き加えておきます。
$tmp[] = “# php on CGI”;
$tmp[] = “mod_gzip_on Off”;
$tmp[] = “AddHandler application/x-httpd-phpcgi .php”;
要するに、新しい.htaccessファイルを出力する際にも、この記述を加えておこうということですな。これで、とりあえず動くようににはなる……はずです。
また何か思い出したら書いておきます。