さくらのレンサバでMT4をPHP化する

またまたMT4ネタですが、さくらのレンサバでMT4をいじっていてどうしてもうまくいかないところがありました。
タイトルにもある通り、PHP化です。


普段からPHPを使うことが多いので、ちょっとした付加をつけたいときにPHPで書きたいしー
途中から変えるのはいろいろと手間なので、これに関してはなるべく早くやっておきたい!

通常ならMT4の管理画面で設定完了のはずが…

通常、MT4でファイルのPHP化をするには、

  • 設定→公開→アーカイブオプション→ファイルの拡張子でhtmlをphpに変更して保存
  • デザイン→テンプレート→インデックステンプレートにあるメインページやアーカイブページの拡張子をphpに変更保存
  • 再構築

で完了するはず。


しかし、何度やっても「InternalServerError」になってしまう…。
何でかなーといろいろ調べていたら、どうやらさくらのレンサバが関係しているらしい。

パーミッションの設定が必要!

調べてみると、さくらのレンサバの場合PHPはCGIとして動作し、ファイルもディレクトリもパーミッションは755もしくは705である必要があるそう。
通常、MT4では作成したディレクトリなんかを777で作成するので、これが引っかかっていたみたいだ。


試しにディレクトリを755にしてみるときちんと表示できた。しかし、これでは解決にはならない。
再構築の際に毎回手打ちで全部のパーミッションを変えるわけにもいかないしー


MT4ドキュメントサイトで調べてみるとありました。作成するファイルやらのパーミッションの設定を変えられる環境変数があるようです。


http://www.movabletype.jp/cgi-bin/mt4/mt-search.cgi?search=cgiwrap&IncludeBlogs=10
http://www.movabletype.jp/cgi-bin/mt4/mt-search.cgi?search=Perms&IncludeBlogs=10


以上の内容より、/mt/mt-config,cgi に

HTMLUmask 0022
DirUmask 0022
UploadUmask 0022
DBUmask 0022

HTMLPerms 0777
UploadPerms 0777

という風に、加えれば良さそうです。


しかし、すでに作成されたものに関してはパーミッションが変更されないので、FTPなどで接続しファイルを消してから再構築しましょう。
あと、それまでhtmlで作成していた場合、htmlファイルも残ってしまうのでやはりそちらも削除しておきましょう。