DB入れ替え

ここで使っているブログのシステムMovable Typeのデータベースを、SQLiteからMySQLに入れ替えました。
何だ今頃、と思われるかもしれないけど、以前ロリポップサーバーを使っていたときMySQLでいろいろ不具合があり、結局SQLiteにした経緯があるのです。現在のさくらサーバーに引っ越してきても、そのまま使ってました。
しかし何年も使っているとデータが膨大になってきて、コメントを書いても反映されるまでえらい時間がかかる、記事を書いて再構築するとタイムアウトする、トラックバック送信ができない、などなど問題が続出しておりましたのです。
そこに、MT5.0の登場。
新しいMovable TypeではSQLiteは使えなくなるらしい。
ということで、将来のバージョンアップにも備えて、ここで一念奮起。
入れ替え作業を行ってみることにしました。
何度か試行錯誤して。・゚・(ノД`)・゚・。
ようやく完成。
見た目にはぜんぜん変わってないわけですが(;´Д`)
一応、記事やコメント投稿時にレスポンスが遅くて画面が真っ白になってしまう状況は改善されたと思います。
相変わらず、反応は遅いですがw
それと、これを機会に、コメント投稿時にcaptcha文字を入力してもらうようにしました。
スパムフィルタもいれているんですが、すり抜けた書き込みが画面汚しになるもんで・・・。
ちょっとコメントが面倒になりますけど、ご理解ください。
入れ替え作業の大まかな手順としては。

  1. 現行のMTで「システムメニュー→ツール→バックアップ」でバックアップファイルを作成しダウンロード。
  2. 現行MTと同一バージョン(私の場合4.01)を別ディレクトリにインストール。インストール中に、使用するデータベースをMySQLに設定する画面があるので、そこで細かい情報を設定(さくらサーバーではデフォルトで1個用意されている)。
  3. 新MTにログインし、自動的に作成されてしまうMy First Blogを削除。ついでにphpMyAdminでDBに接続して、blogテーブルのblog_idのオートインクリメントの値を「1」に戻しておく(blog_idが現行のものと一致するように)
  4. 新MTのimportフォルダに、最初に作成したバックアップファイルをアップロード
  5. 新MTの「システムメニュー→ツール→復元」で、データをすべて復元
  6. 念のため、新MTのブログ公開先URLおよびパスを、現行ブログとは違う場所にして、ブログを再構築
  7. 再構築したブログが現行ブログと同一になっているかどうかを確認したのち、現行ブログと同一の「公開先URLおよびパス」に指定しなおして再構築

このなかでいくつかポイント。
バックアップメニューからバックアップファイルを作成する際、mt-congif.cgiに
TempDir /home/***/www/mt/temp
のように出力先のtempフォルダを指定しておくこと。でないと、バックアップファイルが行方不明になります(笑)
それから、自分の場合blog公開ディレクトリとMTをインストールするディレクトリが並列しているので、同じくmt-congif.cgiのCGIPathおよびStaticWebPathを、相対パス記述でなくURL記述(http://~)に直しました。ここをちゃんと直さないと、コメントやトラックバック用のURLが記事上に正しく表示されません。
あとは、ウィジェットテンプレートをいくつか手直ししたくらいかな。
手間はかかるけど、そんなに複雑な工程ではないですね。
ただ、久しぶりにこういう作業をしたので、正直頭が疲れました。
歳だなあ・・・w



msnブログからのトラックバックをカスタマイズする

Movable Typeのブログに対してmsnブログからトラックバックを行うと、ブログ名ではなくてブログURLのid部分が表示される件。
たとえば、私の実験用のブログ「渚の実験室」(http://y-nagisa.spaces.live.com/)からTrackback Albirexにトラックバックすると、ブログ名の欄が「渚の実験室」ではなくて「y-nagisa」と表示されてしまう。

これはmsn側の仕様だからしょうがないので、こちらで何とか対策を立てるしかない。

以前はTrackback.pmを直接いじって対応していたのだけれど、これだとプログラム内に直接日本語を書き込むことになってしまって、他の部分の処理に多少の影響が出ていた(ジジイからのトラックバックがたまに文字化けする、アイアンの温泉ブログの名前が一部化ける、など)。

システムのバージョンアップのついでに、msn対策も変更してみることにした。
今回使ったのは、Regexというプラグインを使う方法。

  1. プラグインを所定のページからダウンロードして解凍する。
  2. 解凍後にできたファイルを、それぞれ指定されたディレクトリにFTPでアップロードする。
  3. Movable Typeのテンプレートのうち、トラックバックを表示するテンプレートの上部に、下記の記述を追加する。
    <MTRegexDefine name="pattern1">s|||g</MTRegexDefine>
    :msnブログのid (例:y-nagisa)
    :msnブログのブログ名 (例:渚の実験室)
  4. テンプレート内のトラックバック元ブログ名を表示するタグに、regex条件を書き加える。
    <$MTPingBlogName regex="pattern1"$>
    これで、「A」というブログ名が「B」に変換されて表示される。
  5. 変換したいブログ名が複数存在する場合には
    <MTRegexDefine name="pattern2">s|||g</MTRegexDefine>
    <MTRegexDefine name="pattern3">s|||g</MTRegexDefine>


    <$MTPingBlogName regex="pattern1 pattern2 pattern3"$>

    などのように、変換条件を書き足してゆく。

トラックバックしてくださるmsnブログの個数分だけ条件を書き足していかなければならないので、手間と言えば手間なんだけれど、システムのライブラリをいじるよりテンプレートをいじる方がずっと楽なので、当面この方式でやってみようと思う。

その他にも、
<MTRegexDefine>s|千葉ちゃん|<font color=red><strong>俺の千葉ちゃん</strong></font>|g</MTRegexDefine>
などと定義して<$MTEntryBody$>タグにregexを指定してやれば、エントリーで
「千葉ちゃん」
と書くだけで、表示の時に
俺の千葉ちゃん
と自動表示できるとか、使い道は多いwww



Movable Type 4.0へのアップグレード

「Everyday,”Albi”day」はMovable Type 3.5からMovable Type 4.0へ、システムの新規インストールでバージョンアップを行ったが、「Trackback Albirex」については既存環境からのアップグレードという手法で新システムに移行してみた。こちらは3.4から4.0へのバージョンアップになる。

くわしくはヘルプの「既存環境からのアップグレード」を参照のこと。

以下、備忘録として手順を記す。

  1. 現行ブログのバックアップを作成する。
    • サーバー上のMovable Type本体を設置しているディレクトリ(MTディレクトリ)を、まるごとFTPでハードディスクに保存
    • サーバー上のブログ公開ディレクトリを、これまたFTPでまるごとハードディスクに保存
    • 念のため、ブログの全記事を「エクスポート」でハードディスクに保存
    • データベースとして使用しているMySQLのデータを、これも念のためにバックアップ保存
  2. サーバー上のMTディレクトリ内のファイルを、全て削除する。
  3. MTディレクトリ下に、Movable Type 4.0の全ファイルをFTPでアップロードする。
  4. cgiファイルのアクセス権を変更(さくらサーバーなら「705」に)。
  5. ハードディスクに保存したファイルの中から、「mt-config.cgi」ファイルを再びサーバーにアップロードする(これでこれまでの設定が引き継がれる)。
  6. これまで利用していた各種プラグインを、プラグインディレクトリにアップロードする。
  7. ブラウザで「mt.cgi」にアクセスし、ログインする。自動的にアップグレードが始まる。
  8. 管理画面が表示されたらアップグレード成功(一度でうまくいったよ!)。
  9. 最新のテンプレートを利用するために、テンプレートのリフレッシュを行う。
  10. ここでいったんブログ全体を再構築してみる(デザインがデフォルトに変わるので、ちょっとびっくりするw)。
  11. デザインのカスタマイズをちまちまと行う(実は、ここからがいちばん大変なところ)。
    • スタイルキャッチャーを利用して、自分のオリジナルデザインに一番近いスタイルを適用してみる。
    • これまでのテンプレートがバックアップされて残っているので、それを参考にしながらデフォルトのテンプレートをカスタマイズしていく
    • スタイルシートの変更は、「styles.css」ファイルに直接書き込んでいく(インポートしているスタイルシートファイルを書き換える必要はない)。
    • アーカイブテンプレートのマッピングの変更を忘れずに行う(カスタマイズしている場合)。
  12. 再構築してみる。エラーが起きる場合には、エラー内容のメッセージをよく読んで対策を施す。
    • 必要なプラグインがインストールされていないとエラーがおきる
    • 古いバージョンからのアップグレードだと、MTタグが古すぎて(?)エラーになることも。タグの仕様が変更になっていないか、新しいタグが活用できないか、調べてみる

とりあえずはこんなところで。
あとはスムーズに稼動してくれることを祈るのみw

MT4.0は、管理画面がとっても使いやすくなっているので、アップグレードのしがいがあります。
3.4以降に搭載された新機能もこれまであまり使っていなかったので、いろいろ活用してみようかと思っちょりますv



mt4i.cgiがバージョンアップ

Movable Type 4.0 暫定対応版の「mt4i.cgi 2.22」が出ました。
(「mt4i」とは、MovableType用 携帯電話向け変換プログラムなりけり)
暫定版っていうことなので、後日正式版がリリースされるのかもしれない。
けど、とりあえずインストールだ!
結果はこちら。
Everyday, Albiday mobile ver.
インストールや設定がすこぶる簡単で、しかも管理機能が充実していて高機能。
携帯からコメントもできます。
当サイトに関してはあんまり需要がないのかもしれないけどw、自分としてはありがたいプログラムなので、早めにバージョンアップ版が出て嬉しい限り。
自作版の暫定携帯対応版では、やはりコメントを表示するのが精一杯で、コメント投稿は無理だったもんなー。
文字コードShift-JISで投稿されたコメントを、utf-8でデータベースに格納してやらないといけないんだが、それをいじるためにはMT本体のモジュールをいじるか、自分でコメント処理用のcgi書かなきゃならない。そんなことまでしてられないもんねえ・・・。
なので、こういうフリーのプログラムだったりプラグインだったりがネット上にたくさん公開されているのは、本当にありがたいことだと思うのです。感謝。
自分で作ってみた携帯版のテンプレートは、後日何かの役に立つこともあろう。
MovableTypeを始めとしたCMSで情報を発信しようという企業や団体が増えているし、仕事上、いろんなカスタマイズが出来るのは強みになると思うので!いえす、positive thinkin’!



Movable Typeの携帯対応(暫定)

私の設定が悪いのかもしれないが、movable typeを4.0にバージョンアップしたら、ブログを携帯から読み書きできるソフト「mt4i.cgi」が動かなくなってしまった(涙)
configファイルから設定を読み込んでいる部分のエラーかも、と思い、旧バージョンのconfigをコピーしてみたりしたのだけれどエラーが解消せず。

おそらく、しばらく待っていればMT4.0対応のmt4iがリリースされると思うのだけれど、出先からブログを確認したいときなど何かと不便なので、携帯対応のブログ画面をとりあえず自前で作成してみた。

一応の完成ページはこちら
作成方法に興味がある方は以下を。

続きを読む



次のページ »

  •  

    ブログパーツの貼り付け方はこちらへ
  • 月別アーカイブ

  • あいさつ掲示板

  • メタ情報