Movable Typeの最近のブログ記事

3歳2ヶ月の娘が数日前から熱を出していたのだが今日は熱は下がっていた。しかし、まだ咳が出ていたので今日は外には出ず家で一日中大人しくしていることにした。

朝から娘がフレッシュプリキュアドラゴンボール改 のテレビ放映を眺めている横で、私は久しぶりに朝からPCを起動し(いつもは寝ているか外出かお仕事で会社)、私のブログを作成するためのソフトウェア「Movable Type 」のバージョンアップ作業を開始した。

バージョンアップ作業はいたって簡単。

まずはバックアップ作業。

(1)私のホームページを公開しているレンタルサーバ(XREA)の管理画面でMovable Typeが使用しているデータベース(私の場合はMySQL)をダンプ。容量は意外と大きくて8MBもあった。

(2)Movable Typeの管理画面にログインして「書き出し」機能で記事を全て書き出す。(1)で取得したデータベースのダンプファイルがあるので別にこの作業はなくてもよいのだが、念のための作業。

(3)FTPでブログ関連のファイル全てをPCにダウンロード。私の場合は/blogディレクトリ以下が該当フォルダなのでそれら全て。

次にいよいよバージョンアップ作業。

(1)Six Apart社のサイトから最新のMovable Typeをダウンロードできるページのリンクを探す。現時点ではMT-4_25-ja.zipというファイルが最新だった。これをダウンロードし、解凍。

(2)Movable Typeで作成した記事(静的HTML)の保存ディレクトリ「/blog/archives」と環境設定ファイル「mt-config.cgi」、スタイルシート「styles-site.css」以外のファイルを全て削除。※後で気づいたのだが、ブログのトップページ「/blog/index.html」、RSSファイル「/blog/atom.xml」も削除せずに残しておけばよかった。私が作業中にたまたまブログのトップページを見に来てくれた人は「403」というエラーメッセージが出ていたのでびっくりしたかもしれない。

(3)解凍したMT-4_25-ja.zipのファイル全てを/blog配下にFTPでアップロード。その際、ファイル数が何千とあって多すぎるせいか数分ほどFTPが経過するとFTPが途中で失敗してしまうエラーに遭遇してしまった。仕方なく、全ファイル一挙にアップロードするのは諦めて1〜2フォルダずつと小分けにしてアップロードするようにした。

(4)Six Apart社の「Movable Type 3.x から Movable Type 4 へのアップグレード」という記事を参考にしながらMovable Typeのソフトウェアを使用してバージョンアップ作業を実施。

参考URL
http://www.movabletype.jp/documentation/upgrade/mt3_to_mt4.html

(5)上記作業を実施した際にテンプレートの初期化作業を行っているので、旧デザインが消失してとんでもないレイアウト崩れのサイトになってしまったが、Movable Typeが用意してくれているデザインテンプレートを管理画面で選択したら一瞬で(HTMLの再構築もなしで)綺麗になった。スタイルシートの切り替えだけでテンプレートががらっと変わる機能は素晴らしい。

(6)とは言っても、旧デザインで使用していた私オリジナルのスタイルシートも復活させたかったので、スタイルシート「styles-site.css」に追記したらよいのかな、と思って見てみたところ、そのファイルは以前はCSSがずらずらと書かれていたのだが、今回は以下のように@importで外部CSSを読み込むだけのファイルになっていた。

/* This is the StyleCatcher theme addition. Do not remove this block. */
@import url(http://nobuneko.com/blog/mt-static/themes-base/blog.css);
@import url(http://nobuneko.com/blog/mt-static/support/themes/minimalist-brown/minimalist-brown.css);
/* end StyleCatcher imports */

そこで、私オリジナルのCSSについては、

2つ目の@importの下部に「@import url(http://nobuneko.com/css/nobuneko.css);」という記述を追記して読み込ませることにした。この私オリジナルのCSSはブログ以外のページでも使用することを考えているのでブログの管理画面では管理せず、FTPだけで更新しようと思ったので/css/nobuneko.cssというファイルを新規作成した。

(7)ヘッダー、サイドバー、フッターといったインクルードファイル(全ページで読み込む共通ファイル)がテンプレートとして新たに加わっていたので、これらを調整する。HTMLを再構築しては調整・・・の繰り返し。実はこれが一番時間がかかってしまった。

以上でバージョンアップ作業は終了となる。(6)までの最新ファイル適用などのバージョンアップ作業そのものは簡単だったのだが(1時間程度)、(7)以降のテンプレートを調整したりするので結局丸一日の作業となってしまった。実は、まだ終わっていないのだが、もうそれはゴールデンウィークとかの作業でいいや・・・。

記事を書くテキストエリアに「リッチテキスト」機能が追加されていたので、@niftyのココログやFC2ブログのようにHTMLタグを意識しなくても文章を書くことに専念できるようになったのが良い。今まで手打ちで<p>タグとか書いていたのがいらなくなっただけでも随分楽になった。

これで少しブログを書く生産性があがりそうなので、今後は本当にまめに更新できるかも(笑)。

XREAのWebサーバに設置したMovable Typeのデータベース・テーブル一覧を確認する方法を以下にメモしておく。

(1)XREAの管理画面にログイン後、「管理メニュー」内の「ホスト情報登録」をクリックし、「FTP/SSH接続許可ホスト入力」画面を開く。

(2)自分のホスト情報(IPアドレス)が表示されていることを確認したら、「SSH接続」ボタンをクリックする。5分〜10分程度待つとSSHでの接続ができるようになる。

(3)PuTTY等のSSH接続クライアントを起動し、ドメイン名(例:www.nobuneko.com)を入力して接続を実行する。

(4)SSH接続に成功するとユーザ名、パスワードの入力を求められるので、XREAから発行されているユーザ名、パスワードを入力する。
<例>
bash-2.05a$ mysql -p XREAで設定しているユーザ名
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6235884 to server version: 4.0.26-standard

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

(5)「show databases」でデータベース一覧を表示する。
<例>
mysql> show databases;
+----------+
| Database |
+----------+
| catdb    |
+----------+
1 row in set (0.00 sec)
※データベース名一覧が表示される。
上記は「catdb」というデータベースのみが存在している例。

(6)「use データベース名」で使用したいデータベースを選択する。
<例>
mysql> use catdb ※データベースとして「catdb」を使用するという意味。
Database changed

(7)「show tables」でデータベースの一覧を表示する。
<例>
mysql> show tables;※データベース「catdb」のテーブル名一覧を表示する。

+----------------------+
| Tables_in_catdb      |
+----------------------+
| mt_as_ua_cache       |
| mt_asset             |
| mt_asset_meta        |
| mt_association       |
| mt_author            |
| mt_author_meta       |
| mt_blog              |
| mt_blog_meta         |
| mt_category          |
| mt_category_meta     |
| mt_comment           |
| mt_comment_meta      |
| mt_config            |
| mt_entry             |
| mt_entry_meta        |
| mt_field             |
| mt_fileinfo          |
| mt_ipbanlist         |
| mt_log               |
| mt_notification      |
| mt_objectasset       |
| mt_objectscore       |
| mt_objecttag         |
| mt_permission        |
| mt_placement         |
| mt_plugindata        |
| mt_profileevent      |
| mt_profileevent_meta |
| mt_role              |
| mt_session           |
| mt_tag               |
| mt_tbping            |
| mt_tbping_meta       |
| mt_template          |
| mt_template_meta     |
| mt_templatemap       |
| mt_touch             |
| mt_trackback         |
| mt_ts_error          |
| mt_ts_exitstatus     |
| mt_ts_funcmap        |
| mt_ts_job            |
+----------------------+
42 rows in set (0.00 sec)

少なくとも1週間ほど前から、Movable Type 4にログインしようとすると403エラーになってログインができなくなった。

Movable Type 4の設定などは特に変更していないので、Movable Type 4を設置しているレンタルサーバXREAの何らかの制限なのだろうか、と思い至った。

XREAのユーザ掲示板で情報を探していると、

(shimix氏)
設置ディレクトリに.htaccessを設置して「allow from all」にして試してみたらどうでしょう?
http://sb.xrea.com/showthread.php?t=6759&page=44 

という書き込みを見つけたので、私のMovable Type 4の設置ディレクトリ直下に「allow from all」とだけ記述した.htaccessを設置したら、ログインできるようになった。

.htaccessで「allow from all」と記述する場合、どのIPアドレスからでも接続を許可する、という設定。

このことより、Movable Type 4でのログインができずに403エラーになる原因は、私の自宅PCが接続しているインターネット回線のIPアドレスがXREAで接続を許可しないIPアドレスの一覧に入ってしまっていることが分かった。

原因が分かってよかったのだが、「allow from all」だとせっかくXREAのサーバ管理者さん達が苦労してサーバ負荷対策のためにとった措置(海外等からのスパム投稿をシャットアウトするために接続元IPを制限した等)が無駄になる上に、私のサイトの負荷が高まって同じサーバに同居する他のサイトに迷惑をかけるのもダメだろうなあ、と思い、「allow from all」ではなく、「allow from 自分のIPアドレス」にした。

自分のIPアドレスは固定IPアドレスではないので、IPアドレスが変わると、この設定もいらなくなるかもしれない。

ま、しばらくは様子を見ながら、また403エラーになったら、.htaccessでIPアドレス制限の設定を変更してみようかと思う。

<補足>
XREAの管理画面で「ホスト情報登録」というのがあり、「FTP/SSH接続許可ホスト」で自分のIPアドレスを登録できるのだが、この画面で登録しても意味はなかった。
http://sb.xrea.com/showthread.php?t=10838を見ると、効果があるといった記述があるので、人によっては(サーバによっては?)効果がある場合があるかもしれない。

私が愛用しているMovable Type 4のリッチテキストエディタは、Internet Explorer 8(IE8)では動作していたが、Internet Explorer 9(IE9)では動作しないようだった。

[ブログを書く]ボタンをクリック後、「フォーマット:」の右側にあるセレクトメニューで「リッチテキスト」を選択しても、何も反応がなかったからだ。

※私が使用しているMovable Type 4は、「version 4.25」であるため、このバージョン以外ではまた動きが違うのかもしれないので注意。

IE9だとIE8とはJavaScriptの動きが違うのかなぁ、IE9はやはりダメだなぁ、と思いながら、さて、どうしようかな、と思案した。

Google Chrome 14やMozilla Firefox 7でMovable Type 4を使用することを思いつき、早速試してみたところ、たしかにリッチテキストエディタは動作するのだが、リッチテキストエディタで自動生成されるHTMLタグが各ブラウザによって異なることに気づいた。

例えば、[Enter]キーを押して改行を行った場合、

  • IEだとpタグが生成される。
  • Google Chromeだと、divタグが生成される。
  • Mozilla Firefoxだとbrタグが生成される。

となることが分かった。

驚くべきことに各ブラウザでそれぞれ動きが異なる。

この状況だと、IEではなく別のブラウザでMovable Type 4のリッチテキストエディタでブログ記事の更新をした場合、これまでのHTMLソースとの整合性がとれなくなってしまう。

そう考えると、IEで何とか使用したい、と思った。

しばらく悩んだが、ふと思いついて、IE9のメニューバーにある[ツール(T)]から[互換表示(V)]をクリックした。

すると、Movable Type 4のリッチテキストがIE8の時と同じように動作するようになった。

助かった!

今後も突然IE9で動作しなくなったJavaScriptプログラムなどに遭遇した場合は、「互換表示」機能で乗り切ってみよう、と思った。

2011年10月

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

アーカイブ

カテゴリー