2004年05月01日(土)

MacOSX上でMOVABLETYPEを動かす、とか

 今日、さくらにお金を払ってきました。という書き方をすると、ごく一部に曲解をされる方がおられるかもしれませんが(笑)、とうとう有料鯖に移行します。といっても登録が終わるのは連休明けでしょうが。
 ということで、とりあえず移行のための練習として、せっかくのMacOSX環境なので、iBookG4上でWeb共有を使って、CGIを動かしてみました。意外に苦労したので、ちょっとまとめておきます。たぶん10.3(Panther)じゃなくてもだいたい同じだと思います。興味ない方は読み飛ばし可。

  • MacOSXでCGIを動かす
     MacOSXのデフォルトではローカルでCGIを動かすことは出来ません。そこでApacheを起動してCGIが動くようにします。
     まず「システム環境設定」から「インターネットとネットワーク:共有」を選び、「サービス」のパーソナルWeb共有を「入」にします。
     次に/etc/httpd/httpd.confという設定ファイルを書き換えます。これはroot所有のファイルであり、通常のFinderでは見れません。ターミナルで操作するか、RBrowserLiteというFTP/ファイルブラウザ(フリーウェアです)を使うことになります。
     要は設定ファイル中のCGIに関わる部分のコメント(#)を外すことになるのですが、詳しくはこちらこちらを参考にしてください。ファイルは必ずバックアップを取ることを忘れずに。
     書き換えが終わったら、再びシステム環境設定を起動し、Web共有を再起動(いったん「切」にして、再度「入」にする)します。これでローカルでCGIが動くようになります。

  • MOVABLETYPEの実行
     ユーザネームがhogeであるとすると、以降CGIを動かすページはすべて/Users/hoge/Sites/以下で行います。MOVABLETYPEを移行したいときは、この下にmt/ディレクトリを作り、Webサーバ上にもともとあったファイルをFTPでコピーしておきます。ただし、archives/とdb/ディレクトリの中のファイルはコピーしないこと!
     ローカルサイトはブラウザのロケーションバーに、「http://127.0.0.1/~hoge/」と打ち込むことで見ることが出来ます。
     ローカルでMOVABLETYPEを動かすために、MTの初期設定ファイルであるmt.cfgファイルを書き直します。まず14行めあたりのCGIPathは「http://127.0.0.1/~hoge/mt/」と書き直します。さらにその下のDataSourceは、「/Users/hoge/Sites/mt/db」とします。そのほかの設定はとくに変える必要はないと思います。
     まず本当にCGIが動いているかを確かめるために、最初にMOVABLETYPEを構築したときと同様に「mt-check.cgi」を動かしてみます。つまり「http://127.0.0.1/~hoge/mt/mt-check.cgi」をブラウザのロケーションバーに打ち込みます。なお、Mozillaなどを使っている方で、常時接続でない方でも、「オフライン作業」のチェックは外さないと機能しません。Safariならそもそもオフライン作業の概念がないので気にする必要はないですが。
     X11をバリバリ使っていて、Finkでさまざまなアプリをインストール済みの方でないと、「DBDが入っていない!」とか言われると思いますが、SQLを使うのでないならこれは大丈夫です。最低限最初のJcode,HTML,Image,File,CGIが動けば最後の段落に「Your server has all of the required modules installed; you do not need to
    perform any additional module installations. Continue with the installation
    instructions.」と出て、うまくいっていることがわかります。これが出ないときは、これまでの作業を見直してみてください。
     なお、CGIやPerl(.pl)を動かすときに、「Permission Denied.」と出ることがあります。このときは、それらのファイルやそのディレクトリの実行権限をいじってください。私は適当に全部777(ユーザ、グループ、その他のすべてで読み/書きOK)にしてみたんですが、こんなゆるゆるなのは本当は良くないような気がします(笑)。
     うまくいったら、mt-load.cgiを実行します。Web上では最初に実行したらすぐに消しているはずですが、ローカルに残っていたらそれを。なかったら公式サイトから別途ダウンロードし直しておいてください。このときに、db/ディレクトリの中にファイルがあるとエラーが出るので、先ほどはコピーしておかなかったのです。うまくいったら、mt.cgiを開き、初期設定のユーザ名:Melody、パスワード:Nelson(秘密やよ@香具山紫子)でログインします。これでとりあえずMOVABLETYPEの実行は出来るようになりました。

  • データの移行
     さて、次に今までにWeb上で作ったデータを移行します。過去のエントリはすべてarchives/(設定によって異なる)ディレクトリの中に保存されています。またカテゴリなどのブログの設定はdb/ディレクトリ中に存在します。といって、これらのファイルを単にコピーして、通常のブログの管理時のようにmt.cgiを実行しても、どうもうまくいかないようです。理由はよく判らないのですが、私が試行した限りではテンプレートの作成がうまくいかず、トップページ(index.html)の更新がうまくできません。
     そこで、通常のWebサーバどうしのファイルの移行の場合のように、エントリの書き出しー読み込み機能を利用することにします。まずWebサーバ上でいつものようにmt.cgiにログインし、左のUTILITIES/Import/Exportをクリックします。そして一番下の「○○(ブログ名)からエントリーを書き出す」を右クリック、あるいはOption+クリックして、書き出したデータを保存します。保存したデータは「mt.cgi」という名前になっていて、これをmiなどのテキストエディタで見ると、これまでのすべてのエントリやコメントなどが書き出されていることがわかります。
     次に、先ほどのUsers/hoge/Sites/mt/の下に、「import」というディレクトリを作り、そこにこのファイルをコピーします。
     あとはローカルサイト「http://127.0.0.1/~hoge/mt/mt.cgi」にログインし、同様に
    UTILITIES/Import/Exportをクリックします。今度はエントリーの読み込みです。投稿者は、あらかじめWeb上のものと同じものを作っておいて、そこにコピーしても良いし、新しく作ってもいいです。(必要なら)と書いてある下4つはそのままにしておいて、「エントリーの読み込み」をクリックすると、ずらずらっとデータが読み込まれます。画面上では文字化けしているように見えますが、あとで見るとちゃんと読み込まれています(文字コードの設定を変えなければの場合ですが。変えたときはどうなるか判りません)。
     なお、ここで読み込まれるのはエントリとそのカテゴリだけで、カテゴリの属性などは別途設定し直さないといけないようです。
     また、「BLOGの設定」も、各種設定を行っておきます。pingなどは全部切っておきましょう。
     あとは、「Templateの編集」で、 スタイルを再設定します。それぞれのテンプレートをクリックして、テンプレートの中身を、Webサーバ上のときのもので上書きするのが一番簡単だと思います。なお、イメージを読み込んでいる場合、そのリンクを適切に設定し直しておくことは当然必要になります。
     だいたい以上のことをしておけば、データの移行は終了です。「VIEW SITE」をクリック、あるいはロケーションバーに該当のURIを打ち込むことで、ローカル上のindexページが見られるはずです。あとは自由にエントリの追加が出来ます。

    投稿者plateau: 2004年05月01日 22:21 [Mac]