このカテゴリでは、Movable Type 3.xのサイトをMovable Type 4.xへバージョンアップさせるときに、Movable Type 4 を新規にインストールして進める方法の一例を説明しています。
『MT3サイトをMT4へ移行(新規)』カテゴリ内のエントリ一覧
- ブログ記事のエクスポート
- エクスポートしたデータのチェックと修正
- Movable Type 3ブログのバックアップ
- MT4でブログを準備
- 準備したブログへバックアップデータをインポート
- プラグインのアップロード
- MT4ブログの設定調整
- MT4ブログのテンプレート調整
- 再構築
- 完成サイトのチェック
- 本来の場所へ生成
- 最終チェック
ブログ記事のエクスポート
Movable Type 3のエクスポート機能でブログ記事をエクスポートします。
しかし、この「エクスポート」でエクスポートできるブログ記事バックアップデータには、タグや出力ファイル名の情報がありません。つまり、完全に元の状態にはなりません。
以下のサイトで紹介されている方法を用いると、タグや出力ファイル名を含ませることが可能です。これにより、新規サイト構築にて手間を激減させることが可能です。
JunnamaOnline (Mirror):MT3→MT4へタグやbasenameを引き継いで(インポート&エクスポートで)簡単に移行する方法。エクスポートしたデータのチェックと修正
エクスポートしたブログ記事をエディタで開き、改行コードをチェックします。もし、データ中の改行コードがCR+LFなどとなっている場合は、Movable Type 4へ正常にインポートができません。任意のテキストエディタで、改行文字をLFに変更して保存しなおします。
Windows版 サクラエディタ(http://sakura-editor.sourceforge.net/)での例:
一度エクスポートしたデータを開き、→そのまま何もせず名前をつけて保存、保存時に「改行コード」というオプションがあるので、「LF(UNIX)」を選択してから保存します。
Movable Type 3ブログのバックアップ
FTPクライアントを用い、Movable Type 3で運用している旧サイトの親ディレクトリを丸ごとローカルディスクへ保存します。
これは、バックアップのみならず、移行中の新しいサイトのアーカイブマッピングが旧サイトと同様に行われているかのフォルダチェック時、画像ファイルの移行時などに非常に役立ちます。
同時にデータベースのバックアップも行います。使用しているデータベースによりバックアップの手法は異なります。
- MySQLの場合はPhpMyAdminなどを用いてバックアップを行う。
- SQLiteの場合はデータベースのディレクトリをダウンロードする。
MT4でブログを準備
テスト用のブログをMovable Type 4で作成します。ブログの名前は何でもいいのですが、サイトURLとサイトパスは現在運用中のものと違う名前にしなければなりません。ここからのテスト作業はxammpなどのローカル環境で行ってもよいです。
(xamppを用いたローカル環境でMovable Type 4テストサイトを構築中の図)
準備したブログへバックアップデータをインポート
システムメニュー>ツール>インポートをクリックし、先ほどのバックアップデータをインポートします。
プラグインのアップロード
Movable Type 3で使用していたプラグインで、使えるもの、または新しく使用するプラグインをMovable Type 4をインストールしている親ディレクトリ直下のpluginsディレクトリへアップロードします。アップロードするプラグインがMovable Type 4に対応しているかどうかは、前もって確認しておいてください。
MT4ブログの設定調整
Movable Type 4の各種設定を、Movable Type 3の頃の設定と同様にします(変更する予定である場合はこの限りではありませんが)。
- 全般
- 公開
- ブログ記事
- コメント
- トラックバック
- 登録/認証
- スパム
- ウェブサービス
MT4ブログのテンプレート調整
テンプレートは、Movable Type 3とMovable Type 4では構造が大きく異なるため
- デフォルトテンプレートを使用する
- デフォルトテンプレートをカスタマイズする
- 自力で作成する
- フリーのテンプレートを利用する
- テンプレート制作会社のものを購入して利用する
という方法が一般的です。
要注意事項
PHP運用の場合
PHP化する場合は、インデックステンプレート中の「アーカイブインデックス」、「メインページ」、アーカイブテンプレート中の「ウェブページ」、「ブログ記事」、「ブログ記事リスト」の5つのテンプレートのXML宣言を改造せねばなりません。アーカイブインデックスとメインページのファイル拡張子と、設定画面中のアーカイブの拡張子も忘れずにPHPへ変更します。
RSS2.0 Feed
Movable Type 3の頃は存在したindex.xmlが、rss.xmlと名称変更されています。そのままでは、以前のサイトのindex.xmlを受け取って購読していたユーザや、フィード情報を受け取っていたブログサービスなどへ、サイトの情報を反映できなくなります。Movable Type 3のindex.xmlとMovable Type 4のrss.xmlのファイルは、docsタグで囲まれたURL(RSS 2.0 Specification)の相違、MTEntryBodyファンクションタグでのconvert_breaksモデファイアの有無が相違点です。rssテンプレートの内容をコピーしてrss2.0legacy(名前は何でもよい)などというテンプレート(出力ファイル名はindex.xml)を作成し、サイドバーへ追加でindex.xmlへのリンクを貼る、などという対策を講じてもよいでしょう。
アーカイブマッピング1
アーカイブテンプレートのブログ記事テンプレート中にアーカイブマッピング設定があるので、これをMovable Type 3のときと同じ設定にします。
アーカイブマッピング2
アーカイブテンプレートのブログ記事リストテンプレート中にアーカイブマッピング設定があるので、これをMovable Type 3のときと同じ設定にします。不要なものは削除するほうがよいです。
再構築
ここではじめて再構築してみます。エラーが出るときは、エラーが出なくなるまで修正を繰り返すこととなります。
完成サイトのチェック
Movable Type 3サイトのバックアップと、今再構築したMovable Type 4テストサイトの構造をよく比較しチェックします。アーカイブマッピングなどはよく間違えがちですので、間違っていた場合はMTによって構築されたファイルやフォルダを全て削除してやり直します。なお、MTが構築したものでないイメージ画像フォルダなどは残します。
「全て再構築」でも過去のエントリが再構築されない場合は、「一覧」→「ブログ記事」でブログ記事のリストを表示させ、表示を200行ほどにして、ブログ記事に全てチェックを入れ、すぐ上の「再構築ボタン」で再構築を試みてください。
本来の場所へ生成
別のURLで今までのサイトと同じ構成で再構築ができるようになったならば、現在運用しているサイトURLの上へ再構築をかけてファイル群出力を行います。
まず、現在運用しているサイトを削除します。イメージファイルを格納しているディレクトリなど、そのまま使用できるものは削除しなくてもいいです。そして、Movable Type4の設定中のサイトURLとサイトパスを運用中サイトのものに変更して再構築すると、Movable Type 4によって「従来とディレクトリ・ファイル構成は同じだが新しいファイル」が運用サイトURLへ再構築されます。
全ての記事が再構築されていない場合は、「一覧」→「ブログ記事」でブログ記事のリストを表示させ、表示を200行ほどにして、ブログ記事に全てチェックを入れ、すぐ上の「再構築ボタン」で再構築」を行い、全てのエントリを強制的に再構築します。
最終チェック
ブログ記事のリンク切れや、カテゴリ・月別アーカイブ、タグクラウドなどのパーツなどをチェックします。不具合がある場合は修正します。
- エントリ
- タグ
-
- .htaccess
- Advantage
- Apache
- Archive
- Asset
- Author
- Authority
- AutoSave
- BackUp
- body
- Bug
- Calc
- Category
- Check
- CMS
- Comment
- Company Site
- Config
- Contact
- CORESERVER
- count
- Create
- Creative Commons
- CSS
- Custom Field
- Date
- Default
- delete
- Designer
- DNS
- Domain
- Entry
- Environment
- Eval
- Example
- Export
- Feature
- Feed
- FFFTP
- File
- Folder
- For
- GetVar
- head
- html
- If
- Image
- Import
- Include
- index
- info
- Install
- key
- keyword
- License
- Local
- Loop
- Management
- Manager
- Meta
- Modifier
- Module
- MTElse
- MTElseIf
- MTFor
- MTGetVar
- MTIf
- MTIgnore
- MTLoop
- MTSeHashVar
- MTSetVar
- MTSetVarBlock
- MTSetVars
- MTSetVarTemplate
- MTUnless
- MySQL
- Navigation
- Next
- op
- Page
- Perl
- php
- PhpMyAdmin
- Ping
- Plugin
- pop
- Previous
- Principle
- push
- ReBuild
- Role
- Sample
- SetUp
- SetVar
- shift
- Spam
- Tag
- Template
- TrackBack
- Trouble
- undef
- unshift
- UpGrade
- UpLoad
- Usability
- Variable
- Version
- WebPage
- Wizard
- Writer
- XAMPP
- XHTML
- XML
- 導入編
- ローカル環境
- サンプル
- トラブル集