ロリポップのMovable Typeを5から6にアップデートしました!移行作業で特に気を付けることを書いてます
amaoto-logブログのうち、半分はMovable Typeを使ってるんですが、先日、レンタルサーバのロリポップさんから改ざん対策のお願いメールが来てました。
メールの件名: 【重要】Movable Typeサイトの改ざん対策のお願い【ロリポップ!】
今使ってるMTのバージョンは5.23なので、とりあえずは問題なさそうです。
けど今後の事を考えると、バージョン6に変更しておいて損はありません。
ちょうど良い機会でしたので、Movable Type 6(6.0.5)に移行してみましたよ。
目次
移行時に特に気を付けること
移行手順は、以下の公式サイトを参考にさせて頂きました。
■Movable Type 6 へのアップグレード : Movable Type 6 ドキュメント
■注意事項、制限事項と既知の問題点 : Movable Type 6 ドキュメント
細かな説明は、上記のページから別リンクがはってありますので、そちらも含めてじっくりと読んでおくことをおススメします。
基本的には、手順通りに作業すれば良いんですが、特に注意したことを書いておきます。
- バックアップは確実に!
「ディレクトリ一式、MTのバックアップ、データベース」を3点セットでバックアップしておきましょう。
ロリポップにはバックアップ機能があるのでそれを使うのも良いですね。私の場合、MySQLのバージョンアップ(5.1→5.6)とほぼ一緒にやったので、データベースは以前のものを残していました。
万が一、失敗した場合でも旧バージョンに接続することも可能ですし。リカバリ方法は複数あった方が安心なのです。
- 上書きアップロードではなく、新しいディレクトリで
既存の環境(MT5のディレクトリ)に新しいMT6のファイルを上書きするのではなく、新規にディレクトリを作成して、そこをMT6の環境にします。
公式サイトの手順に書いてありますが、追加したプラグインやカスタマイズしたCSSファイルなどは、後から新しい環境にコピーすることになります。
基本的にMT5環境で作成したものをコピーしますが、MTのファイルでカスタマイズしたものがあれば、MT6環境に合わせて再カスタマイズが必要になります。
私の場合、asset_upload.tmplファイルをカスタマイズしてましたので、新しいファイルを修正しましたよ。
- MySQLのバージョンは5.0以上
最近、ロリポップで作成したMySQLであれば問題ないでしょう。
- Movable Typeのバージョンがちょっと古い場合はテンプレート修正が必要
該当するバージョンの場合、少し修正が必要のようです。
■5.12、5.06、4.37以前のバージョンからアップグレードした後に必要な作業 : Movable Type 6 ドキュメント
私の場合、5.23だったので修正する必要はありませんでした。
あとは、じっくりゆっくりと作業を進めます。
わからないこともありましたが、公式サイトを見ればなんとかなります。
バックアップがありますので失敗してもやりなおす!くらいの気持ちで。
MT6で追加された「Data API」への対処
一通りの作業は終わりましたが、細かなところを確認していきます。
「Movable Type 6 へのアップグレード」に以下が記載されてました。
アップグレード直後は、一部のデータが Data API で取得可能になっています。取得されると困る情報は、DisableResourceField 環境変数で制限しておいた方がよいでしょう。
どうやらMT6から、WebAPI的なものでブログ状態を取得できるようです。
「取得されると困る情報」とありますが、そもそもAPIでどんな情報が公開されているかがわかりません。。。
少し調べましたが、IDや投稿者の名前?などが取得できそうなんですが。
できれば初期状態ではすべて公開しない、になっていた方がうれしかったです。
そこから設定変更で、公開したいものだけを追加していくと。
ファイアウォールなどと同じ発想ですね。
というわけでネットを調べてみると、ステキAPIを発見!
■Movable Type用DataAPI Disablerプラグイン v1.0 (エムロジック放課後プロジェクト)
ブログ単位でオンオフできて便利そうです。
このプラグインを使わせて頂こうとしたんですが、記事中に
この場合、Data APIを使わないサイトであればmt-data-api.cgiを使わない(削除する)ことが一番確実な対処方法だと思われます。
と書いてあったので、mt-data-api.cgiを削除する方法を使わせて頂きました。
貴重な情報ありがとうございます!
もちろんData APIを使う場合は削除する必要はありませんよ。
SQLSetNames 0 は追加せず
MT公式サイトの注意事項ページに以下が記載されてました。
データベースに、MySQL 5.x を UTF-8 で利用されているときは、mt-config.cgi に SQLSetNames 0 を記述してください。
その通りに変更してみると、ブラウザ画面が文字化けの嵐。。。
速攻で「SQLSetNames 0」は削除しました。
環境によるとは思いますが、私の場合は追加してません。
cgiファイルのパーミッション変更も忘れずに
ロリポップの公式サイトに情報がありました。
■MovableType5へのアップグレード / ブログ / マニュアル
MT5の情報ですが、MT6でも同じでしょう。
属性を「700」に変更して完了です。
あとは動作確認するだけ
ゆっくり確認しながら作業しましたので、3時間くらいかかりましたよ。
MTの管理画面が表示されて、ブログ再構築が正常に完了できた時はうれしかったですよ。
ブログ内の一通りのページを開き、問題ないことが確認できたら作業終了です!
万が一、失敗した時に思い出したいこと
設定や移行を間違えた時、MTが使えなくなるかも知れません。
MTの管理画面は動くければ、再構築後の記事がおかしいとかもありえます。
バックアップがあるのでそこから戻せば良いんですが、復旧までに時間がかかる可能性も。
そんな時、「Movable Typeで作られたファイル(HTMLやCSSなど)をバックアップから戻せば大丈夫」ということを思いだしましょう。
再構築という仕組みで静的コンテンツを常に作成する、MTの利点ですね。
FTPツールでしかるべき場所にコピーすれば、とりあえずはサイトが閲覧できる状態にはなります。
あとは落ち着いて復活作業を進めましょう。
まとめ
Movable Type 5を6にアップグレードしました!
少し作業は必要ですが、しっかりバックアップして、説明書きを良く読めば問題ありません。
じっくりとMovable Type 6を使っていきますよ。
この記事へのコメントはありません。