Movabletypeのバージョンを5.0.4から6.0.1に上げる作業メモ
サイト刷新の過程の一つで、scrapbook.chatarou.netの方もMovableTypeのバージョンを上げておいた。
最初にMovableTypeをインストールしたころは2.xxぐらいだった気がするけど、今はver.6まで来てるんだね。今回の刷新前はver.5.0系を使っていた。
で、けっこう微妙なところで躓いたのでその辺を備忘メモ。
まず、今回刷新にあたってmt5.0.4→mt6.0.1と一緒に、MySQL5.1→MySQL5.5の両方を済ませてしまった。
と言うか、最初MySQL5.1の方で詰まってしまって、ついでにも兼ねて5.5にしたりしてるうちに5.5で成功してしまったので、5.5のまま行こうかなあと。
MovableTypeの更新
これはまあ、簡単な方なのかな。FTPないしSSHが必要なところがWordPressに比べて数段劣っている気もするけど。
(まず最初にMySQLのデータをバックアップ)←僕は面倒なので最初はやらんかった。まあ手づまりして結局やったんだけど、これを忘れたからと言ってデータベースぶっ壊れるほどの深刻な事態にはならなかった。
で、FTPないしSSHでログインして、現在MovableTypeをインストールしてるフォルダを確認。僕の場合はscrap.chatarou.net/mtフォルダがそれにあたる。
で、古いフォルダはリネーム。とりあえず
<code> mv mt mt5.0.4 </code>
等とSSHでいれてしまえばすぐすむ。ちなみに、困った時にはmt5.0.4/mt-config.cgiのファイルに書かれてる設定情報だけは必要になる場合があるので、古いMovableTypeを削除するにしてもこのmt-config.cgiファイルだけはローカルにメモ的に残しておいた方がいい。
次に新しいMovableTypeのインストール。MovableTypeはwgetできないので、SixApartから来たメールに沿ってmt-X_X_X.zipをダウンロードし、FTPでアップロード(面倒なので圧縮ファイルのままアップロード)。で、SSHで
<code> tar -xzvf mt-X_X_X.zip mv mt-X_X_X mt </code>
とコマンド打ち込んでしまえば、新しいバージョンのMovableTypeのインストールは終わる。
MySQLの移行
↑は僕がWordPressをインストールした時点でのDB構成だけど、この時点でMySQLの5.1と5.5が混在していた。これだとなんとなく管理が面倒なイメージもあるので、古い5.1のデータをエクスポートして5.5に突っ込んだ。
さくらのコントロールパネルから管理ツール(phpMyAdmin)にログインして、上のタブからエクスポートを選択、僕の場合は古いMTのデータベースはchatarouと言う名前で作ってあったからこれを選んで実行。
次に、新しいデータベースの作成。これは、さくらコントロールパネルの管理画面、データベースの設定から『データベースの新規作成』をする。
次に、エクスポートしたSQLの修正。さっきエクスポートしたSQLファイルにはデータベース作成まで書かれているので、そのまま実行するとエラーではねられる。
テキストエディタでSQLファイルを開くと、SQL文がずらずら~っと並んだファイルが開かれるので、20行目ぐらいにあるSQLクエリを
<code> /* CREATE DATABASE `chatarou_movabletype` DEFAULT CHARACTER SET ujis COLLATE ujis_japanese_ci; */ USE `xxxx_movabletype`; </code>
のように、CREATE DATABASE文はコメントアウトして実行しないようにしておく。use文は今さっき作ったデータベースの名前で。僕はMySQL5.5に移すにあたってchatarou_mobavletypeと名前を変更した(と言うかさっきまでのchatarouと言う名前じゃデータベース作成できないし)。
最後に、新しいデータベースへSQLの取り込み。さっきのphpMyAdminは閉じて、新しいMySQL5.5用の管理ツールを開く(接続先が違うので間違わないように)。
で、インポート画面から取り込むのだけど、ファイルの文字セットはujisにしておく。
テキストファイルの位置『参照…』でさっきエクスポートしてやったSQLファイルを選択して、右下の『実行』でSQLをアップロードしてやる。これでMySQLの移行は済むはず。
新MovableTypeのアップグレード
で、最後にmtフォルダのmt.cgiをブラウザで開く。最初は新しいmtフォルダにmt-config.cgiがないので、自動的にインストール画面になって、接続DBの設定などの画面になると思う。
僕と同じようにMySQLの移行もやった人はその手順の中で接続先サーバ、データベースネーム・ユーザ・パスワード等は入力してるはずだし、そうでない人は先ほどバックアップを薦めたmt-config.cgiの中に平文で諸設定が残ってるはずなので、それを参考にすればいい。
さくらのレンタルサーバスタンダードの場合、いくつか不足しているPerlモジュールもあるみたいだけどそれらは基本的に不要なモジュールなのでそのまま進めて良い。
DBの設定は先ほど説明した通りで。
こっから先の初期設定はあまり重要でないので省略します。メールの設定等まで終えると、MovableTypeのアップグレード画面になります。
アップグレード画面。
僕はここで詰まってしまって、けっこうな時間悩んだ。上記のように、
Forbidden
The server refuse to browse the page.
The URL or value may not be correct. Please confirm the value.TIME: XXXXXXXX.XXX (2014-XX-XX XX:XX:XX (+0900))
METHOD: POST
PATH_QUERY: /mt/mt-upgrade.cgi?.r=0.XXXXXXXXXXXXSAKURA Internet Inc.
と言うメッセージが出て、どうにも先に進まないからだ。これのせいで、DBのバージョンを入れ替えてみたり、パスワードを初期化してみたりとあれやこれややったのだけど、うまくいかなかった。で、解決法は意外なところにあった。
さくらインターネットのコントロールにある、『Webアプリケーションファイアウォール』を開いて使うドメイン(ここではscrapbook.chatarou.net)に対して設定を『利用しない』に変更してやらないといけない。上記を変更してからもう一度mt-upgrade.cgiを叩くと
とちゃんとアップグレードできました。