WinXPローカルでXAMPPを使ってMovable Typeを動かす―2010年3月版 その2

前回に引き続き、XAMPPでMovable Typeを動作させるチュートリアルの第2弾です。

  1. XAMPPのインストール、Apacheの設定
  2. ActivePerlのインストールと設定、MySQLの設定
  3. ImageMagickのインストール、Movable Typeのインストール

今回はActivePerlのインストールと設定、MySQLの設定を行います。

  1. ActivePerl のダウンロードページにアクセスし「ActivePerl DOWNLOAD NOW」をクリックして次のページに進みましょう。

    ActivePerlのダウンロードページ

  2. プラットフォーム別のダウンロードファイルの一覧が表示されます。一番上のRecommended version(s) for your platformにリストアップされている ActivePerl 5.10.1.1007 for Windows (x86) をダウンロードします。
    お使いのWindowsが64bit版である場合、ActivePerl 5.10.1.1007 for Windows (64-bit, x64) を選択します。

    ActivePerlのダウンロードページ

  3. ダウンロードしたインストーラを実行しましょう。インストールウィザードが開始されます。

    ActivePerlのインストールウィザード

  4. ライセンス規約に同意(I accept the terms in the License Agreement)を選択し、「Next」をクリックします。

    ActivePerlのインストールウィザード

  5. インストールするプログラムと、インストールするディレクトリを設定します。インストールするディレクトリはデフォルトで C:\Perl\ になっていますが、これを C:\usr\ に変更します。「Browser」をクリック。

    ActivePerlのインストールウィザード

  6. ディレクトリの選択画面となるので、「Folder name:」の欄に C:\usr\ と入力し、「OK」をクリックします。

    ActivePerlのインストールウィザード

  7. 「Location:」に C:\urs\ が正しく設定されたかを確認し、「Next」をクリックします。

    ActivePerlのインストールウィザード

  8. オプションを選択する画面になります。特に変更せず「Next」をクリックします。

    ActivePerlのインストールウィザード

  9. これで設定は終わりです。「Install」をクリックしてしばらく待ちます。

    ActivePerlのインストールウィザード

    ActivePerlのインストールウィザード

  10. インストールが完了したら、「Finish」をクリックしてインストールウィザードを完了します。

    ActivePerlのインストールウィザード

  11. さて、前回の記事の環境の通り、D:\htdocs\site1 というディレクトリを http://site1.localhost/ というローカルホストドメインで参照できるようにし、ここで開発を行うことを前提に話を進めましょう。

    サイトのルートディレクトリ(D:\htdocs\site1)に Movable Type(ここではMTOS 5.01) のファイルを展開し、mtos というディレクトリ名をつけます。

    MTOSのファイルを展開

  12. 念のため、インストールしたPerlが正しく動作するか確認してみます。テキストエディタを開いて以下のコードを記述し、C:\test.pl というパスで保存します。(あくまで例です。実際はどんなパスでもOKです)

    #! /usr/bin/perl
    print("It works!\n");

    Perlのテストプログラムを作成する

    これをコマンドプロンプト(※1)で以下のように入力し、Enterキーを押して実行します。

    perl c:\test.pl

    Perlのテストプログラムをコマンドプロンプトから実行してみる

    入力の次の行に It works! と表示されれば正しく実行できたということです。

    Perlのテストプログラムをコマンドプロンプトから実行してみる

    ここまでくればMovable TypeのCGIプログラムをひとまず表示はできる環境になっています。(※2

  13. http://site1.localhost/mtos/mt-check.cgi にブラウザからアクセスします。ここまでの作業が正しくできていれば、MTのシステムチェック画面が表示されるはずです。

    mt-check.cgiでのシステムチェック結果

  14. この時点では Movable Typeの構成ファイルが見つかりませんでした。 というメッセージが表示され、まだMovable Typeが正しく動作しないことが分かります。ページをスクロールしていくと、DBD::mysql というPerlモジュールがシステムにインストールされていないことが分かります。これは MySQL データベースを使用するために必要となるモジュールです。

    mt-check.cgiでのシステムチェック結果

  15. では DBD::mysql モジュールをインストールしましょう。コマンドプロンプトを起動し、ppm と入力しEnterキーを押します。

    コマンドプロンプトでppmを起動する

  16. すると「Perl Package Manager(略称PPM)」が起動します。Synchronizing Database…(データベースと同期中) とステータス表示されてしばらく固まるので、じっと待ちます。

    GUI ppmの操作画面

  17. 同期が完了して操作できるようになったら、画面左上の「View all packages」アイコンをクリックします。

    GUI ppmの操作画面

  18. そして画面上部の検索エリアに dbd-mysql と入力しましょう。すると中央のモジュール一覧に DBD-mysql と表示されるはずです。

    GUI ppmの操作画面

  19. リストアップされた DBD-mysql を右クリックし「Install DBD-mysql 4.011 + 」を選択します。これでインストールするモジュールの一覧に登録されます。

    GUI ppmの操作画面

  20. 画面右上の「→(Run marked actions)」アイコンをクリックします。

    GUI ppmの操作画面

    すると Ready to install 1 package? とアラート表示されるので「OK」をクリックします。

    GUI ppmでインストールの確認アラート

  21. しばらく待つと、DBD::mysqlモジュールのインストールが完了します。

    GUI ppmの操作画面

  22. もう一度ブラウザで mt-check.cgi にアクセスしてみましょう。サーバーにDBD::mysqlがインストールされています と表示され、エラー表示になっていなければOKです。

    mt-check.cgiでのシステムチェック結果

  23. では今度はMySQLの設定を行っていきます。今回インストールするMTOS用のデータベースを作成しましょう。まずXAMPPコントロールパネルでMySQLが「Running」状態になっていることを確認し、「Admin」ボタンをクリックします。

    XAMPPコントロールパネル

  24. するとブラウザでphpMyAdmin(MySQLデータベースをブラウザから操作できるツール)が開きます。「言語 – Language」に「日本語 – Japanese」が設定されていることを確認し、ユーザ名、パスワードを入力してログインしましょう。ここでのユーザ名は rootパスワードは前回の記事のStep16でXAMPPの管理画面から設定したパスワードになります。

    phpMyAdminのログイン画面

  25. phpMyAdminにログインすると、様々なメニューが並んだ画面が表示されます。ページ中ほどにある「新規データベースを作成する」という入力フォームから、今回使用するデータベースを作成しましょう。

    左のフィールドにはデータベース名を入力し(今回は「mtos5」とします)、隣のプルダウンメニューでデータベースの文字コードを選択します。ここでは「utf8_general_ci」を選択してください。このプルダウンメニューが結構長いのですが、一番下の方にあります。そして「作成」ボタンをクリックします。

    phpMyAdminの操作画面

  26. データベース mtos5 を作成しました。 と表示されたら完了です。

    phpMyAdminの操作画面

以上でActivePerlのインストールと設定、MySQLの設定までが完了し、今回の記事はここまでです。次回はImage Magickのインストール、そしていよいよMovable Typeのインストールを取り上げます。

  • ※1 コマンドプロンプトは、スタートアップメニューから「ファイル名を指定して実行」(もしくは「Windowsキー + r」)で cmd と入力してEnterキーを入力すると起動することができます。
  • ※2 Movable Type を含む、Perl言語で書かれた大抵のCGIプログラムはデフォルトでPerlを /usr/bin/perl というパスで参照するように書かれています。(ファイルの冒頭にPerlのパスが記述されています)Step5~7でActivePerlを C:\usr\ というパスを指定してインストールしたことにより、Perl が /usr/bin/perl で参照できるようになります。

MySQL4.0→5.1へ移行

MTOSからWordPressに年末に乗り換えたばかりなのですが、その際、MySQLのバージョンアップを行わなければなりませんでした。 WordPress 2.9の推奨環境がMySQL 4.1.2以上となった一方、使っていたDBはMySQL4.0だったからです。

ここのサーバーはさくらのレンタルサーバ(スタンダードプラン)なのですが、ここではデータベースが1つしか作成できません。 ・・・ということで使用中のデータベースを削除し、新しくデータベースを作成するしかありませんでした。

しかし一旦削除する、というのはなかなか勇気が要ります。なんせミスしたら復旧できませんからね。。
とりあえず念には念をってことで以下のように作業しました。WordPressに移行する前だったので、データベースにはMTOSのデータが入っている状態でした。

  1. 現状使用しているMTOSの機能でバックアップを作成(一応、保険的な感じで・・・)
  2. レンタルサーバのコントロールパネルからphpMyAdminを使い、データベースのエクスポートを行ってバックアップファイルを作成
  3. ローカル環境(XAMPP)のMySQL5.1に(2)でエクスポートしたファイルをインポートし、問題なくインポートできるか確認
  4. (3)で問題がないことを確認できたら、レンタルサーバのコントロールパネルから現データベースを削除
  5. データベース削除を行うと「データベースを作成」みたいなボタンが現れるので、データベースをMySQL5.1で作成
  6. 作成したデータベースのphpMyAdminから、(2)で作成したファイルをインポート
  7. MTOSの mt-config.cgi の内容を新データベースに合わせて修正
  8. MTOSにログインして問題がないか確認

これらの作業の中で特筆すべきポイントはデータのエクスポート、インポートのところですね。文字コードが一緒でないと、日本語部分が文字化けしてしまいます。
まず、phpMyAdminにログインする際に「日本語 – Japanese (utf-8)」を選択しましょう。

phpMyAdminへのログイン サーバーによっては「日本語 – Japanese」としか表示されない場合もありますが、問題ありません。さくらのレンタルサーバではこれでした。

それと、ログイン後の画面の「MySQL の接続照合順序:」でインポート側とエクスポート側で同じものを選択します。「utf8_general_ci」か「utf8_unicode_ci」あたりかと思います。

phpMyAdminログイン後の画面

左フレームから該当データベースを選択し、右上メニューの「エクスポート」をクリック。

phpMyAdmin データのエクスポート

エクスポートの際は「ファイルに保存」するにチェックを入れる以外の設定はとりあえずそのままで。

phpMyAdmin テーブルのエクスポート

エクスポートされた *.sql ファイルをエディタで開いてみて、文字コードがUTF-8になっているか、日本語のデータが文字化けしていないかを念のため確認。インポート時には「ファイルの文字セット」で「utf8」を選択しましょう。

MTみたいに静的なファイルを書き出すCMSだと、データベースを削除してもファイルは残るのでサイトには影響がないですが、動的生成のCMSの場合はデータベース削除はNGですね。サイトが見えなくなっちゃいますので。どうしても削除する場合、作業中には「現在メンテナンス中」的な画面を代わりに表示させるとか、そういった対応が必要なのかなと。

追記 – 2010-01-22

ドンピシャな内容の記事を発見したので、リンクをさせていただきます。コチラ様の方がずっと丁寧!
さくらインターネットのレンタルサーバで WordPress 2.9 へアップグレードできない方へ – Bamboo Studio * バンブースタジオ | Blog™

追記 – 2010-01-25

さらに、本文中の「~」(全角チルダ)が「?」に文字化けしてしまう問題について。解決法について詳細な記事を発見。
小粋空間: Movable Type で「~」が「?」に文字化けする事象や日本語のタグが合算できない不具合を解消する
すでに作られてしまったテーブルについては、phpMyAdminにおいて
該当テーブルを選択 → 「構造」メニュー → 「すべてチェックする」 → その右のエンピツマークのアイコンをクリックして「編集」モードに → 「照合順序」に指定のあるものについては「utf8_general_ci」に変更 → 「保存する」
これを全てのテーブルで行うとそれ以降、「~」が文字化けしなくなります。

また、こんなプラグインも見つけました。
WordPress Plugins/JSeries » Force Wave Dash (波ダッシュ矯正)
記事を保存する際に「~」(全角チルダ)を「〜」(波ダッシュ)に強制的に変換してくれるプラグインです。