エックスサーバーで、MT4.2+MySQL5を使ったダイナミックパブリシングのメモ
エックスサーバーにMT4(4.2RC2)をインストールする機会がありました。しかも、MySQL 5とダイナミックパブリシングというニッチな仕様。
で、お恥ずかしながら「プチはまり」しちゃったので、自分用メモとして残しておきます。
1.エックスサーバーの設定
MySQLのバージョン
MTは「MySQL 4」でも動きます。でも、最近お気に入りのMODx や EC-CUBEは「MySQL 5」が良さげ。なのでMySQL 5が動くレンタルサーバを選ぶと吉というか、MySQL4だと数年後にゲンナリするかも知れません。
というのも、mdの場合、MT3からMT4への変わり目のころ、MySQLのバージョン問題でクライアントのサーバー引っ越しが「多発」した時期があります。3年殺しですか?(^^;
そんなゲンナリ臭が漂っているので、願わくばMySQLは新しいバージョンを使いたいのです。
MySQLのバージョンを切り替える
で、エックスサーバーは、コントロールパネルからMySQLのバージョンを4か5に「切り替え」ができます。なので、とっととバージョン5に切り替えます。
データベースが1つでもあると切り替えられないので注意
データベースサーバをメモする(重要)
「MySQL情報」をクリックすると、MySQLサーバーのホスト名が表示されます。この「mysql##.xserver.jp」という部分をメモしてください。MTのデータベース設定に必要です。
(XSERVER:MySQLのバージョン切り替えについてより)
MySQLの作成
データベースとユーザーを作成します。「sv###.xsrv.jp」と表示されますが、これは単なるホスト名なので、そのままに。
2.Movable Typeの設定
MTをインストールします
MySQLの設定時に、データベースサーバの部分を、メモしておいた「mysql##.xserver.jp」にします。
「通常、localhostのままで構いません」と書いてありますが、ワナです(^^;)。ホスト名である「sv###.xsrv.jp」でもないので注意。
初期設定が終わったら、MTにログインします。あ、まだ再構築しちゃダメよ。
mt-config.cgiへの項目追加(重要)
再構築する前に、mt-config.cgiに以下の項目の追加が必要です。
(XSERVER:MovableType 4インストールより)
DBUmask 0022
HTMLUmask 0022
UploadUmask 0022
DirUmask 0022
FTPでmt-config.cgiをダウンロードして、上記を追加してアップロードしてください。ちなみに、上記項目を追加せずに再構築を行うと、以下の不具合が出ます。
- ダイナミックパブリシングが正常に動かない。
- PHP化している場合、エラー表示が出る。
- FTPでファイルやフォルダが消せなくなる。
ファイルやフォルダが消せなくなっちゃった人は、エックスサーバーのファイルマネージャ(ブラウザ上からファイルやフォルダを管理するツール)を使えば消すことができます。
ダイナミックパブリシングにして再構築
ダイナミックパブリシングにしたいテンプレートをクリック。「テンプレートの設定」から「ダイナミック」を選んで保存し、再構築します。
例:ブログ記事をダイナミックパブリシング化
すると、ブログ記事の公開先フォルダに、以下の2つのファイルが生成されるので確認してください。
- 例:公開フォルダがblogの場合
-
/blog/.htaccess
/blog/mtview.php
これにて、エックスサーバーでダイナミックパブリシングのMT4.2(RC2、MySQL 5)が動きます。
3.まとめ
エックスサーバー + MySQL5 + MT4 + ダイナミックパブリシングで重要な点は、
- データベースサーバーは「localhost」ではなく「mysql##.xserver.jp」にする
- 再構築する前に、mt-config.cgiに手動で設定する(じゃないと正常に動かない)
この2点です。
4.補足:ダイナミックパブリシングの利点
ダイナミック(動的)にページを生成するので、スタティック(静的)なページの生成が不要です。つまり、再構築でえっちらおっちらとデータベースにアクセスしたり、ページを書き出したりしないので、そのぶん再構築が速いわけです。以下の条件で再構築を行ってみますと、
- MT4.2 RC2のデフォルトテンプレートで
- studio mdのブログ記事478件をインポートして
- 「ブログ記事」だけダイナミックパブリシングにする
- MT4.2のキャッシュ機能は使わない
この条件で再構築を行うと...
478件のエントリが、わずか32秒で再構築
ちなみに、studio mdの現行サーバ+ MT4.1(スタティック) + PHP化でも再構築に20分はかかるので、劇的なスピードアップです。ちなみに、全ページをダイナミックパブリシングにすると、再構築すら不要です(当たり前か)
5.補足:ダイナミックパブリシングの欠点
こんなに速いのに、なぜダイナミックパブリシングを使わなかったかといいますと...
- かなりのプラグインが動かない(これはイタイ...)
- MySQLの敷居が高すぎて、SQLiteを選んだヘタレmd
- 静的ページが存在しないのって、SEO的にどうよとか思ったり...しない?
- ていうかスタティックの方が好きだ(mdだけ?)
やはりプラグインが一番のネックでしょうかね。でも、MTタグがやたら高性能になって、ちょっとした分岐や並べ替え程度だったら、プラグインに頼らなくても、どうにかなりそうな気がしないでもない今日この頃...
SEOも気になりますね。最近の検索エンジンは賢いので大丈夫だとは思うのですが。
6.というわけで
次期studio mdは、(部分的に)ダイナミックパブリシングでGo!
と言いたいのですが、その前に、サーバ引っ越さないと(^^;
これまた難関...