www.skyarc.co.jpのMT5バージョンアップに大苦戦・・・

小林 2009年12月17日

パワフルなCMSを98,000円で。

Movable Typeで承認フロー、会員サイト構築ができます。

本件、MT5のバグでした。詳しくはこちらをご覧ください。

skyarc.co.jpのウェブサイト全般はMT4で管理されていましたが、MT5にバージョンアップしてみました。

結果としてうまくは行きましたが、相当苦戦しました。しかもデータベースがいじれない人には直せない現象も発生しました。

バージョンアップの準備

まずバージョンアップの準備を行います。

  1. データベースのバックアップ mysqldump -uroot -p データベース名 > 任意の名前.sql
  2. mt-staticのバックアップ support/assets_c 、pluginsのインストールしたプラグイン
  3. プラグインのバックアップ plugins以下のインストールしたプラグイン
  4. mt5をサーバーにアップロード、設置(くわしくはインストールマニュアルをご覧ください)
  5. mt-config.cgiをmt4と同一の内容に書き換える
  6. mt-config.cgiにDefaultLanguage jaを追記

データベースは絶対にバックアップを取ったほうがよいです。また、不測の事態のために、いつでも復旧できるようにmt4は残したままが良いでしょう。

バージョンアップ

  1. mt5のcgiもろもろを755に変更
  2. mt.cgiに接続
  3. アップロードの確認画面が表示、アップロード開始
    02.PNG
  4. アップロードが完了すると、ユーザーダッシュボードに移動します
    03.png

動作確認

ここからが鬼門でした。

まず、バージョンアップする前とした後を下記の表で比較しました。

blog_id ブログ名 SiteURL 変更後SiteURL
1 Movable Type・CMSのスカイアークシステム http://www.skyarc.co.jp/ /::/
2 スカイアークについて http://www.skyarc.co.jp/company/ /::/company/
3 スカイアークシステム : 採用サイト    
4 MTエンジニアブログ http://www.skyarc.co.jp/ /::/engineerblog/
8 SKYARC Partner WEB    
15 SAEニュース    
16 SKYARC System Co., Ltd,    
17 キャンペーン    
18 社内ブログ:SKYARC Enterprise IntraBlog http://enterprise.skyarc.co.jp/ enterprise./::/
19 コミュニティ    
21 デモサイト    
23 広報ブログ http://www.skyarc.co.jp/pressroom/ /::/pressroom/
24 スカイアークシステム5周年記念サイト http://www.skyarc.co.jp/5th/ /::/5th/
25 マニュアルデモ    
26 New WebSite http://co.jp/ 新規作成 http://co.jp/
27 New WebSite http://careerblog.jp/ 新規作成 http://careerblog.jp/

MT5からウェブサイトという概念ができたため、MT4からバージョンを上げると、ウェブサイトが存在しないために新規で作成します。それがblog_id=26,27です。そして、ブログのサイトURLはウェブサイトのドメインを引き継ぐためにドメイン部分が::/と置き換わります。

まずcareerblog.jpのほうは「New WebSite http://careerblog.jp/」となっているにたいして、www.skyarc.co.jpのウェブサイト名が「New WebSite http://co.jp/」になっており、正しくドメインがウェブサイト名に反映されていませんでした。

そして、blog_id=1に遷移してみると・・・

05.PNG

え?blog_id=1はそもそもhttp://www.skyarc.co.jpが割あたっていたブログです。なぜこうなるのだろうとデータベースを見てみたら、このブログだけが親とのひもづけがされておらず(blog_parent_idがNULLになっていました)、管理画面からはアクセスできなかったのです。

これは管理画面上からは修正できるものではないので、しかたがないので直接データベースを書き換えた(blog_parent_idを26に書き換えた)ところ、正常に表示されました。

ここで一安心かと思ったら、次の鬼門が待っていました・・・

blog_id=1を再構築してみると、パーマリンクがすべてhttp://co.jp/http://www.skyarc.co.jp/になってしまい、ページのリンクが切れてしまうのです。ブログの公開設定を見ると

09.PNG

と、URLがhttp://co.jp/というわけのわからないURLが当たってました。ウェブサイトの公開設定を見ると、http://co.jp/が指定されていたので、それを

10.PNG

http://www.skyarc.co.jp/と指定しなおしました。するとブログの公開設定もそれに合わせてhttp://www.skyarc.co.jp/に治ってくれて、再構築もうまくいきました。しかし、ここからも問題が多発・・・。

こんどは広報ブログなどが、

12.PNG

なんだそのURL(笑

しかたがないので

13.PNG

こうやって修正。これを全部のブログに対して設定しなおして、やっとこ終了。

実はこれ以外にも細かい修正やらをやっていたので、相当時間がかかり、なんと3回チャレンジして検証も含め合計6~7時間かかりました。

もしかしてwww.付きのURLの移行はうまくいかない?

いま気づいたのですが、MT4でサイトURLをhttp://www.~.co.jpと指定した場合、バージョンアップ時にco.jpだけになってしまうのかな?キャリアブログhttp://careerblog.jp/の移行は問題なくいっていたので、www.とってバージョンアップしたほうが無難なのですかね。こちらは試していないので確信はありません。

ひとつだけ解消していない問題が

実は、blog_id=18がenterprise.skyarc.co.jpとサブドメインを使っているのですが、URLがどうしてもenterprise.www.skyarc.co.jpになってしまいます。これはウェブサイトのドメインにwwwが付いているせいだと思いますが、はずすとなると全体の調整が必要になってくるので(パーマリンクからwww.がなくなるので、全部のブログのサブドメイン欄にwwwを入れなければならなくなる)、面倒なので放置しています。

ただ、www指定しているウェブサイトって多いと思うんですが、それを取らないとブログでサブドメインがまともに使えないのはちょっといただけない気がします。

万が一、不測の事態が発生した場合

もし、バージョンアップが失敗した場合、一度アップグレードを走らせてしまうとサイトURLが/::/の形式に書き変わってしまうので、MT4では読み込むことができません。ですので、失敗したらすぐにデータベースを復元して、MTを切り替えましょう。

総括

結果的にバージョンアップはうまくいったのでよかったのですが、まさかここまで苦戦するとは思ってませんでした。私もMTを2.6からさわって幾多となくバージョンアップをしてきましたが、ここまで苦戦したのは初めてでした。この苦戦が弊社のウェブサイトの特有の問題ならよいのですが、他のサイトをバージョンアップした時にも発生する可能性があるかと思うと、復旧するスキルがないのであれば、いまの段階では気安くバージョンアップはされないほうがいいような気がします。

投稿者 小林 : 12/17

Movable Typeを利用したウェブサイト開発はお任せください!

100の企業が認めた成功へ導くCMS構築

スカイアークは創業以来6年間、Movable Typeを一貫して活用し、お客様の様々なウェブサイトをCMS化しました。MTを利用したウェブサイトはスカイアークにお任せください。

MT・CMS構築について詳しく見る

お問い合わせはこちらから お電話でのお問い合わせ03-5475-5101

MTエンジニアブログ

MTCMS Smartキャンペーン!
承認フロー付きCMS「MTCMS Smart(98,000円)」をお買い上げの方、MTライセンス1本がタダに!

配布プラグイン一覧

MultiFileUploader
複数ファイルを一括でアップロードできるMovable Typeプラグイン
ParentalInclude
MT5でウェブサイトとブログのテンプレート連携を便利にするプラグイン
DuplicateEntry
ブログ記事を複製または移動するMovableTypeプラグイン
NotifyAnythingChanged
何かが起きたらメールで通知するMovableTypeプラグイン
rssEntry
取込んだRSSをエントリとして書き出すMovableTypeプラグイン
AutoTagging
面倒な記事のタグ付けを自動化する
FutureRebuild
日時を指定してページを再構築する
EntryImExporter
エントリをCSVに書出したり、CSVから一括登録するMovableTypeプラグイン
MailPack
Movable Typeで簡単携帯投稿!メール投稿プラグイン
DirectoryUtility
カテゴリ・フォルダの階層を表示したり、親フォルダを表示したり、何かと便利なプラグイン
CSVList
CSVデータを整形して表示する
PageBute
静的ページ用ページ分割プラグイン

注目記事

RSS

ページの先頭へ戻る