エントリー記事

エックスサーバーで、MT4.2+MySQL5を使ったダイナミックパブリシングのメモ

MT4

エックスサーバーにMT4(4.2RC2)をインストールする機会がありました。しかも、MySQL 5とダイナミックパブリシングというニッチな仕様。

で、お恥ずかしながら「プチはまり」しちゃったので、自分用メモとして残しておきます。

1.エックスサーバーの設定

MySQLのバージョン

MTは「MySQL 4」でも動きます。でも、最近お気に入りのMODxEC-CUBEは「MySQL 5」が良さげ。なのでMySQL 5が動くレンタルサーバを選ぶと吉というか、MySQL4だと数年後にゲンナリするかも知れません。

というのも、mdの場合、MT3からMT4への変わり目のころ、MySQLのバージョン問題でクライアントのサーバー引っ越しが「多発」した時期があります。3年殺しですか?(^^;

そんなゲンナリ臭が漂っているので、願わくばMySQLは新しいバージョンを使いたいのです。

MySQLのバージョンを切り替える

で、エックスサーバーは、コントロールパネルからMySQLのバージョンを4か5に「切り替え」ができます。なので、とっととバージョン5に切り替えます。

XSERVERのMySQLの切り替え データベースが1つでもあると切り替えられないので注意

データベースサーバをメモする(重要)

「MySQL情報」をクリックすると、MySQLサーバーのホスト名が表示されます。この「mysql##.xserver.jp」という部分をメモしてください。MTのデータベース設定に必要です。
(XSERVER:MySQLのバージョン切り替えについてより)

MySQL 5の設定画面

MySQLの作成

データベースとユーザーを作成します。「sv###.xsrv.jp」と表示されますが、これは単なるホスト名なので、そのままに。

MySQLのユーザーを作成

2.Movable Typeの設定

MTをインストールします

MySQLの設定時に、データベースサーバの部分を、メモしておいた「mysql##.xserver.jp」にします。

Movable Type 4.2でのMySQL設定画面(XSERVER+MySQL 5)

「通常、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でファイルやフォルダが消せなくなる。

ファイルやフォルダが消せなくなっちゃった人は、エックスサーバーのファイルマネージャ(ブラウザ上からファイルやフォルダを管理するツール)を使えば消すことができます。

ダイナミックパブリシングにして再構築

ダイナミックパブリシングにしたいテンプレートをクリック。「テンプレートの設定」から「ダイナミック」を選んで保存し、再構築します。

Movable Type 4.2のダイナミックパブリシング設定画面 例:ブログ記事をダイナミックパブリシング化

すると、ブログ記事の公開先フォルダに、以下の2つのファイルが生成されるので確認してください。

例:公開フォルダがblogの場合
/blog/.htaccess
/blog/mtview.php

これにて、エックスサーバーでダイナミックパブリシングのMT4.2(RC2、MySQL 5)が動きます。

XSERVERでMovable Type 4.2のダイナミックパブリシング

3.まとめ

エックスサーバー + MySQL5 + MT4 + ダイナミックパブリシングで重要な点は、

  1. データベースサーバーは「localhost」ではなく「mysql##.xserver.jp」にする
  2. 再構築する前に、mt-config.cgiに手動で設定する(じゃないと正常に動かない)

この2点です。

4.補足:ダイナミックパブリシングの利点

ダイナミック(動的)にページを生成するので、スタティック(静的)なページの生成が不要です。つまり、再構築でえっちらおっちらとデータベースにアクセスしたり、ページを書き出したりしないので、そのぶん再構築が速いわけです。以下の条件で再構築を行ってみますと、

  • MT4.2 RC2のデフォルトテンプレートで
  • studio mdのブログ記事478件をインポートして
  • 「ブログ記事」だけダイナミックパブリシングにする
  • MT4.2のキャッシュ機能は使わない

この条件で再構築を行うと...

Movable Type 4の再構築(ダイナミック)478件のエントリが、わずか32秒で再構築

ちなみに、studio mdの現行サーバ+ MT4.1(スタティック) + PHP化でも再構築に20分はかかるので、劇的なスピードアップです。ちなみに、全ページをダイナミックパブリシングにすると、再構築すら不要です(当たり前か)

5.補足:ダイナミックパブリシングの欠点

こんなに速いのに、なぜダイナミックパブリシングを使わなかったかといいますと...

  • かなりのプラグインが動かない(これはイタイ...)
  • MySQLの敷居が高すぎて、SQLiteを選んだヘタレmd
  • 静的ページが存在しないのって、SEO的にどうよとか思ったり...しない?
  • ていうかスタティックの方が好きだ(mdだけ?)

やはりプラグインが一番のネックでしょうかね。でも、MTタグがやたら高性能になって、ちょっとした分岐や並べ替え程度だったら、プラグインに頼らなくても、どうにかなりそうな気がしないでもない今日この頃...

SEOも気になりますね。最近の検索エンジンは賢いので大丈夫だとは思うのですが。

6.というわけで

次期studio mdは、(部分的に)ダイナミックパブリシングでGo!

と言いたいのですが、その前に、サーバ引っ越さないと(^^;
これまた難関...