#はじめに
MT3.2からMT6へのアップグレードの方法になります。
ただの愚痴ですが、MT3.2は触ったことないし、別の方が構築して現状を把握している方もいないし、前にデータベースを移行して失敗した残骸があるしでアップグレードするのに苦労しました。
下記の方法を試す場合は、必ずバックアップをして自己責任 でお願いします。
パーミッションの設定はお使いのレンタルサーバ会社のウェブサイトを確認してください。
#環境
移行前と移行後の環境は下記になります。
MTバージョン | データベース | サーバ | |
---|---|---|---|
移行前 | MovableType 3.2 | BerkeleyDB | さくらインターネット |
移行後 | MovableType 6.0.5 | MySQL5.5 | さくらインターネット |
#現状の確認
現状を確認するためにMT3.2の mt-config.cgi のファイルを開きます。
行の前に # があるのはコメントになり、無効になります。
何のデータベースを使用しているのか、何の文字コードを使用しているのか確認してください。
私の場合は、BerkeleyDBが利用されており、PublishCharset には utf-8 が記述されておりました。
#アップグレードの方法
アップグレードする流れは、最初にデータベースをBerkeleyDBからMySQLへ移行します。
その後にMT6をアップロードして移行したデータベースを利用してアップグレードします。
MT3.2のデータはそのまま残ります。
#STEP1 BerkeleyDBからMySQLへの移行
MT6ではBerkeleyDBは対応していないので、MySQLへデータベースを移行します。
最初に新しいMySQLのデータベースを作成します。
私の場合は、PublishCharset には utf-8 が記述されているので、データベースの文字コードはUTF-8を指定してデータベースを作成します。
次にMT3.2の mt-config.cgi を開きます。
SQLSetNames 1
がコメントアウトされていたので、# を削除して有効にします。
MT3.2の mt-config.cgi に記述されている PublishCharset の文字コードとMySQLの文字コードの指定が同じであること、SQLSetNames 1
が有効になっていないと文字化けしますので必ず確認してください。
データベースの相互変換するスクリプトを利用して移行します。
「MT Database Converter 」からダウンロードしてください。
私の場合はMT3.2を利用しているので mt-db-convert32.cgi をダウンロードしました。
概要や使用方法などありますので、確認してください。
MT3.2の設置しているディレクトリに mt-db-convert32.cgi をアップロードしてパーミッションを700に変更します。
ブラウザから設置した mt-db-convert32.cgi のURLへアクセスします。
左側に今までのデータベースの設定が表示されます。
右側に移行後のデーターベースの設定を入力してConvertしてください。
データ量によると思いますが、完了するのに多少時間がかかります。
chromeを使っている方は実行中に「ページ応答なし」とエラー表示される場合がありますが、終了せずにそのまま放っておくと完了します。
画面が切り替われば、データベースの移行が完了です。
移行が完了したら mt-db-convert32.cgi をサーバ上から削除します。
#STEP2 MT6のアップロード
新しくディレクトリを作成して、MT6のデータをアップロードしてください。
FTPソフトを利用するとアップロード漏れがある場合があります。
必ず全てのデータをアップロードしてください。
2~3回アップロードすれば漏れはなくなるかと思います。
アップロードが完了したら、mt.cgiがあるディレクトリ(新しく作成したディレクトリ)の全てのcgiファイルのパーミッションを700に変更してください。
#STEP3 MT6のへのアップグレード
ブラウザからアップロードしたMT6のURLへアクセスします。
MT6のインストール画面が表示されますので、ウィザード通りに入力してください。
データベースに関しては、先ほどBerkeleyDBから移行したMySQLのデータベースの設定を入力してください。
ログインするとアップグレードされ、完了です。