さて、現実に自分のMovableTypeを移転することにしました。これをご覧になっているサイトはすでに移転後のMovableTypeです。
もともとのMovableTypeはMySQLが使えないサーバーでしたので、ファイルベースのデータベースで稼働していました。
今度はMySQLが使えるサーバーですので、MySQLで行こうと思います。
まず、新しいサーバーにMovableTypeを設置します。
例によって参考にしたのは、Milano::Monologの
MovableType 日本語化手順です。
すでにソースコードに改造を加えているので、設置しているサイトにアップロードしてあるファイル群を元に設置を進めます。
うっかり削除していたので、オリジナルからコピーしたのは、
mt-check.cgi (MovableTypeの設置環境調査用スクリプト)
と
mt-load.cgi (MovableTypeの環境設定用スクリプト)
の2つ。これらは、無事設置が完了した場合は、削除した方がいいので、元のサーバー上になかったんです。
ちなみに新しく選んだプロバイダーはロリポップです。
(でもロリポップでの設置方法見ないヤツ)
設置環境のチェック。当然ですが特に問題ありません。それどころか、
Your server has all of the required modules installed; you do not need to
perform any additional module installations. Continue with the installation
instructions.
あなたのサーバーは必要とされる全てのモジュールがインストール済です。
あなたはいかなるモジュールのインストール作業をする必要はありません。
インストールの設定を続けてください
と心強いコメント(笑)。
ファイルの設定項目のうち、データベースに関連する部分の設定変更が必要。
とりあえず、ロリポップのコントロールパネルからデータベースを作成する。データベースだけ作成すれば、テーブルの作成は、mt-load.cgiがやってくれるので、設定項目だけ控えて戻ってくればオッケー。
ユーザー専用ページ→WEBツール→データベース作成→アカウント名とパスワードを入力して、データベースサーバーを選択するんじゃなかったかな。
そしてmt.cfgに記述を加える。初期設定では、この辺のパラメータを記入する項目はないらしい。オススメに従って、CGIPathの次に追記する。
CGIPath http://kirishima.it/mt/
ObjectDriver DBI::mysql
Database xxxxxxxxxx
DBUser xxxxxxxxxx
# DBSocket /tmp/mysql.sock
DBHost mysql03.lolipop.jp
DBSocketはよく分からないがデフォルトでいいのでコメントアウトしてみた。xxxxxxxxxxにはもちろん、データベース作成画面で表示される、データベース名とユーザー名を記入する。
DataSource ./db
を『#』でコメントアウトする。
ロリポップの説明によると、
ロリポップではsuexexを使用しているため必要になります。
114行目からの
# DBUmask 0022
# HTMLUmask 0022
# UploadUmask 0022
# DirUmask 0022
から先頭の#を外して
DBUmask 0022
HTMLUmask 0022
UploadUmask 0022
DirUmask 0022
とします。
とあるのでそのように。
それから、データベースのパスワードは別ファイルになっているので、mt-db-pass.cgiにパスワードだけ1行入力します。
そしたらファイル群を全てアップロードします。
index.htmlとかarchivesの中身とかは再構築すれば生成されると思うのでアップしない。
パーミッションを設定。
.cgiの拡張子を持つ、すべてのファイルのパーミション(属性)を「755」にします。
mt-load.cgiを実行し、「All went well」を確認する。
ここまででとりあえずMovableTypeが無事に稼働していると思います。
ここからこのエントリの本題(なげーよ)。
元のサイトのMovableTypeでImport/Exportを開いて、
「○○○からエントリーを書き出す」をクリックします。
どばーっと読めない文字列が表示されますので、表示が終わったら、インターネットエクスプローラーの[表示]-[エンコード]-[Unicode(UTF-8)]を選びます。UTF-8でMovableTypeを動作させている場合はこれで正しい表示になると思いますので、この状態で[ファイル]-[名前を付けて保存]で「Webページ、完全」「Unicode(UTF-8)」でHTMLを保存します。
画像を貼り付けてた人は、一緒にmt.filesなんてフォルダができます。
次にUTF-8のhtmlを編集できるエディタで、AタグやIMGタグを修正します。元のMovableTypeのURLと新しく設置したMovableTypeのURLを修正して、mt.filesに保存された画像ファイルを
/archives/image/などにアップして、それにIMGタグを合わせたりなんかします。
私はDreamweaverMXで作業しましたが、改行コードがおかしいみたいで、URLの修正後、Windows2000のメモ帳で開いてUTF-8で保存し直してみました。
新しいMovableTypeのmtフォルダの下にimportフォルダを作成し、先ほどのhtmlをアップロードします。ファイル名はhtmlならなんでもいいみたいですが、あまりに奇抜なファイル名はやめときましょう。
新しいMovableTypeのmt.cgiでImport/Exportを開いて、
「エントリーの投稿者を自分にする」
にチェックを入れて、
「エントリーの読み込み」
をクリック。
進行状況も文字化けしてますが表示が止まるまで待ちましょう。
importフォルダのhtmlの文字コードど改行コードがあってれば、これでエントリが読み込まれるはずなのですが…。
終わったら、元のMovableTypeを見ながらテンプレートや設定をして、サイトのRebuildをすると、引越完了、という感じになると思います。
うまく行かなかったら、データベースのテーブルを全部削除して、mt-load.cgiを実行すると、全て初期化されます。