そろそろさくらインターネットも限界かなぁ。
今、何度目かの(汗)ココログ→MovableType切り替えを試行中なのですが。
今回はテンプレートの実装もうまくいっていて、サイトはほぼ完成、後はココログからデータを移行しなおすだけ…なのですが。
どうにも実装サーバである、さくらインターネットの仕様が使いづらくなってきました。
まず、MovableType出力の一部をさらにPHPで加工しようと思ったのですが、ここで文字エンコードの問題が。
MovableTypeの出力はUTF-8っぽいのですが、さくらのPHPはEUC-JPで動いています。php.iniで変更はできるのですが、php.iniの置き場所をApacheに指示できないため、php.iniを全ディレクトリに配置しないといけないようです。
初期状態はともかく、MovableTypeは月ごと、年ごと、カテゴリごと、といった単位でディレクトリを自動生成するので、新しく作られたディレクトリに手動でphp.iniを置いて回る…というのは非現実的。
MovableTypeの出力をEUC-JPにすればよいのだけど、やり方がわからない。プラグインは見つかるのだけど…。もしかして、使用するMySQLに依存?だとすると、MySQLサーバはさくらインターネットの管轄なので、変更は絶望的。
SQLiteも微妙だしなぁ…。
とりあえずPHPでやりたかったのは、「サイドメニューの共通部分をページ表示タイミングで取りこむ」ことだったので、ここはSSIへ逃げて対応。しかし、これによりファイル名がshtmlになってしまうのも微妙な。
専用サーバ契約でroot権獲得してしまえば解決しそうな気もするけど、そこまで資金を投入するサイトでもないしなぁ。
そろそろ、自宅サーバにすることも考えるべきでしょうか。電源周りのバックアップとかが面倒なので、常設サーバは二の足を踏んでいるのですが。
なお、別にココログが不満と言うわけでもないのですが、いい加減メインサイト(最近はBlogのほうがメインと言う説もあるけど、それは放置)とドメイン名を統合しないと、アフィリエイトとかの申請が面倒なので。
その他、ちょっとハマった設定をメモ。
MovableTypeが作るファイル/ディレクトリパーミッションが、さくらのお好みに合わない:
特にPHP化した場合に問題発生。さくらはgroup, otherにwrite権があると、PHPを動かしてくれない。
mt-config.cgiに、"HTMLPerms 0755"と、"DirUmask 0022"(chmod 755相当)を追記して対策。
へたれLinuxユーザなのでumaskよりchmodのほうがわかりやすいのだけど、ディレクトリはumaskでしか指定できないらしい。
文字コード問題:
本文中にも書きましたが、深く考えずにセットアップすると、さくらでのMovableTypeはUTF-8でHTMLを生成するのに対し、PHPはEUC-JPで動こうとする様子。
各ディレクトリにphp.iniを配置し、その中で次のような感じにして対策。過不足は不明だけど、取り敢えずこれで動いているので。
default_charset = UTF-8
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_output = UTF-8
mbstring.substitute_character = none
さて、この後データ移行の問題として、「ココログに投稿した画像データは個別にダウンロードしないと、移行先のBlogに移動できない」というのもあるんだよねぇ…。