7年近く放置したままだった Movable Type のブログをアップグレードした顛末です。
Movable Type のブログをロリポップ!からエックスサーバー へ引っ越し。
データのバックアップ等の準備は完了した。ここからは移行先のサーバーで元の状態に復旧する作業になる。
ロリポップからエックスサーバー へ MT 3を移転 #3
移行先のサーバーにディレクトリを復元・修正
今回の移転は、ドメインの変わる引っ越しなので、それに伴ういろいろな修正も必要になってくる。
画像のポップアップ表示用のHTMLファイルの修正
移行元のサイトからダウンロードしてあったディレクトリを、この後アップロードするのだけれど、画像のポップアップ表示用のHTMLファイルだけは、アップロード前に修正しておいた方が作業に無駄がない。
どういうことかというと、画像をアップロードするとき、たとえば自分の場合は、「images」(①)ディレクトリにアップロードするようにしていて、
ファイルの表示方法を「ポップアップ」(②)にしていた。
すると、リモートサーバー上の「images」ディレクトリに、アップロードした画像ファイルと、自動生成されたHTMLファイルが保存される。
この自動生成されたHTMLファイルの中身を見ると、画像ファイルの参照先が「http://〜」で始まる絶対リンクになっている。このHTMLファイルは、MTで再構築しても書き換わらないし、MTの管理画面でも修正する術がない。
なので、エディターの「検索・置換」機能を使って一気に書き換える。
画像ファイルと同じディレクトリにあるんだからファイル名だけにしといた(⑥)。
「mt-config.cgi」の修正
「mt」フォルダにある「mt-config.cgi」を修正。
「CGIPath」(①)はアップロードする移行先のディレクトリに合わせて修正。「Database」(②)、「DBUser」(③)、「DBPassword」(④)はそれぞれ移行先のサーバーにデータベースを作成したときの「MySQLデータベース名」、「MySQLユーザID」、「パスワード」に変更する。エックスサーバーの場合、パスワードはMySQLユーザのパスワードであることに注意。
「DBHost」(⑤)は移行先のデータベース設定のページなどで確認する。プロバイダによっては「データベースサーバー」だったり「MySQLホスト」だったりする。
移行先サーバーの所定のディレクトリにアップロード
修正したファイルを含むダウンロードしてあったディレクトリを移行先のサーバーの所定のディレクトリにアップロードする。
時間がかかるのでしばらく放置。
ファイルやディレクトリのアクセス権の変更
アップロードした「mt」ディレクトリにあるcgiファイルのアクセス権を「755」に変更。
MT 「公開」設定の修正
MTにログインし、「設定」(①)-「公開」(②)で、「サイトURL」(③)と、「サイト・パス」(④)を新しいサーバーに合わせて変更。
再構築して確認
再構築してページが開くか確認。
スタイルシートや画像のリンクが切れているので正しく表示されないのはこの後修正。
テンプレートファイルの修正
修正が必要となるのは、一つは「http://」で始まるURLで指定しているサイト内リンクの修正。これはこの後行う、MTの管理画面の検索・置換でもできる。
ただ、もう一つ、アフィリエイトのリンクや、googleのトラッキングコード等をテンプレートに貼っている場合、サイトアドレスが変わったまま公開すると不都合が生じる可能性があるのでいったん外しておいた方が良いだろう。
いろいろ修正箇所を確認する必要がありそうなので、いったんテンプレートファイルをローカルにダウンロードして修正、アップロードする方法をとった。
管理画面の「テンプレート」(①)で修正が必要になりそうなテンプレートを選択したら、「このテンプレートにリンクするファイル」(②)に、任意のディレクトリを指定。これは「http://〜」で始まるURLではなく「/」で始まるパスであることに注意。
「保存」(③)をクリックして保存すると、リモートサーバー上の指定したディレクトリにコピーが保存されるので、これをFTPでダウンロードして修正する。
修正が終わったら、アップロードして再構築すれば修正が反映される。
サイト内リンクの修正
テンプレート以外にもサイト内の他のページや素材へのリンクが「http://」で始まるURLになっている部分は全て変更する。
エントリーに配置した画像のポップアップ表示用のHTMLへのリンクも「http://」で始まるURLなので書き換えなければいけない。
素人考えでは再構築で書き換えてくれても良さそうなものだが残念ながらそうはなっていない。
そこで、管理画面の「検索・置換」機能で書き換えを行う。(ポップアップ表示用のHTMLファイル自体は、「検索・置換」の対象にならないので先に述べたように手動で書き換えるしかない)
管理画面の「検索・置換」(①)で「エントリー」、「コメント」、「トラックバック」(②)を対象に検索・置換を行う。「テンプレート」についても、大幅な変更がなければこれでいけるんだと思う。
入力フィールド(③)に移行元のサイトのURLを入力して「検索」(④)ボタンをクリックすると検索結果が下方に表示される。
「検索・置換」をオンにすると、「置換:」フィールドが表示されるので移行先のURLを入力、チェックボックス(⑦)にチェックを入れて、「選択したものを対象に置換」(⑧)をクリックすれば良い。
ただし、「トラックバック」については検索はできるが置換ができなかった。ほっておいてもいいかとも思ったが数も少なかったので一つ一つ修正した。
これで修正は終了。すべて再構築して問題なければサーバーの移転は完了である。
次はようやく本題のMTアップグレードだ。