2012/02/10 11:29:06
since 1997/2/22: 339763 today: 66 yesterday: 201

4から5へ、4から5へ

| コメント(0) | トラックバック(0)

以前、SSK Worldのシステムに関してちょっと手を入れていた話をしたんですが、この1週間で作業を進め、ようやく一段落しました。今週は、画面レイアウトが崩れていたり、サーバーエラーで真っ白な画面に文字が表示されるだけだったりする状況をご覧になった方もかなりいらっしゃったのではないかと思います。企業サイトのように万全のバックアップ、インフォメーションを準備した上での作業をしたわけではありませんでしたが、どうかご容赦ください。まあ、単なる個人の趣味サイトですから、そこまでしなくてはならないほどの重要性もありませんし。

おそらく、一番目を引くのは、これまでの黒基調の色使いとは正反対のデザインだと思うんですが、これは作業の中ではほんのオマケ。スタイルシート以外はほとんどいじっていません。携帯電話向けの「SSK World mobile」では、古い端末にも対応するために、直接各テンプレートのHTMLタグを書き換えなくてはなりませんが、これも基本的には検索・置換で一発です。今回は、もっとややこしい、基幹的な部分に手を入れています。


今回の作業で最大のポイントは、サイト管理に使っているシステムであるMovable Typeのバージョンが上がったこと。既に昨年11月に登場していたMovable Type 5なんですが、ウェブサイトに複数のブログがぶら下がる...という形に大幅に変更されたサイト管理構造、各種プラグインの対応などを考慮して、無理にバージョンアップする必要性はないかな?と判断し、バージョン4.261のままでちょっと様子見をしていました。

この状況が少し変わったのは3月でした。現在、Webサーバーを借りているさくらインターネットで、Web上のサーバーコントロールパネルから、簡単な操作でMovable TypeなどのWebアプリケーションシステムをインストールできる...という「クイックインストール」が始まったんです。既に自力でMovable Typeをインストールしている私ですが、クイックインストールを利用すれば、セキュリティアップデートなどの保守管理が容易になるメリットがあります。アップグレードの作業も、FTPソフトを立ち上げて手動で行うのはかなり面倒ですからね。

このサービスは是非使わせてもらおう!と思ったわけですが、クイックインストールで提供されるMovable Typeのバージョンは、現在のところオープンソース版の5.02。まさか旧バージョンのサポートが今後追加されることもあり得ないでしょうし、この機能を利用するためにはバージョンアップせざるを得ない...ということになります。私もようやく重い腰を上げました。


Movable Typeをバージョンアップする上で、一つ問題になったのがデータベースのバージョン。Movable Typeは、バージョンを5に移行するときに対応データベースを大きく見直しました。バージョン4世代までは、MySQL4.0以降の他、PostgreSQLやSQLiteへの対応が行われていましたが、5ではMySQL5.0以降のみの対応となりました。

私は、Movable Type 4をさくらインターネットが提供するMySQL4.1で運用していましたが、Movable Type 5を使うためには、まずデータベースのアップグレードが必要になります。しかし、さくらインターネットではMySQL4.1で作成したデータベースを5.0に直接アップグレードして運用する手段が用意されていません。MySQL4.1でバックアップを作成してからデータベース自体を削除し、新たにMySQL5.0のデータベースを作成してバックアップデータをインポートする...という手順を踏むことになります。1ユーザーが作成できるデータベースは一つだけに制限されていますから、旧バージョンのデータベースを保持するわけにも行かず、アップグレードに失敗した上にリストアに失敗すれば一巻の終わり。なかなかのプレッシャーがかかる作業です。

それでも、クイックインストールの使えるメリットの他、あの忌まわしきデータベース破損が起こったサーバーからおさらばできることも考えれば、作業に挑む価値は十分にあります。まずはデータベースのアップグレードに挑みました。一般的なデータベースのアップグレードの問題とは別に、個別の環境ならではの問題もあって、作業はなかなかスムーズに進みませんでしたが、何とかMySQL5.0への移行を完了することができました。手順をまとめておきましょう。

  1. MySQL4.1でデータのバックアップの作成

    phpMyAdminにUTF-8形式でログイン

    さくらインターネットでのMySQLへのアクセスには、WWW上での操作が可能になるphpMyAdminを使います。ブラウザ上での対話的操作で、データベース全体のバックアップも普通に取ることができますが、このときに注意しなくてはならないのが、ログインするときに日本語文字コードをUTF-8(Unicode)に設定すること。MySQLも、phpMyAdminも、何も指定しなければデータベースの日本語文字コードはEUCを使うんですが、Movable Typeは内部処理でUTF-8を使い、データベースにもUTF-8で書き込みを行います。そのままデータをエクスポートすると、コメントはEUC、内部データはUTF-8...というちぐはぐなバックアップデータになり、どう頑張ってもリストアができなくなります。

    普通にSQL形式でエクスポート

    UTF-8でログインしてさえおけば、あとは普通にSQL形式でエクスポートしてローカルにファイルを保存すれば作業終了。全体がUTF-8形式で統一されたファイルが出来上がります。SSK Worldの場合、出力されるsqlファイルは約12MBの巨大なデータになりました。通信帯域の狭い方は、作業にそれなりの配慮が必要です。また、デザインテンプレートなども含めたすべての構造がバックアップされますが、音声や画像などのデータファイル自体はバックアップされるわけではありませんのでご注意を。

  2. MySQL4.1データベースの削除、MySQL5.0データベースの作成

    この作業はさくらインターネットのサーバーコントロールパネルで行います。先に説明しているとおり、既存のMySQL4.1データベースを削除し、MySQL5.0データベースを新規に作成します。新しく割り当てられるデータベースサーバー名とユーザー名、パスワードを控えておきましょう。

  3. MySQL5.0へのデータのリストア

    MySQL接続の照合順序は「utf8_general_ci」

    サーバーコントロールパネルからMySQL5.0用のphpMyAdminを開きます。このときに重要なのは、ログイン直後の画面で「MySQL接続の照合順序」を「utf8_general_ci」としておくこと。こうしておかないと、このあとのデータのインポートや今後の新規投稿などで、一部の文字(「~」など)が文字化けしてしまうことになります。

    あとは、普通にバックアップしてあったデータをインポートすれば、バージョンアップ作業は終了。MySQL5.0データベース上でMovable Type 4を使えるようになります。


次は、Movable Typeのシステムの方をバージョンアップします。とはいえ、こちらはそれほどややこしい作業ではありません。現在Movable Type 4がインストールされているディレクトリの名前を変更するなどして環境を保存しておき、クイックインストール機能でMovable Type 5をセットアップすれば作業完了。あとは、自分でプラグインなどをインストールすることもできます。

私がちょっと手こずってしまった理由は、私の環境独特の事情でした。SSK Worldでは、ほとんどのページでPHPのスクリプトを使っていますが、さくらインターネットではPHPをPerlなどと同様のCGIプログラムとして実行する仕様になっているので、PHPを書き込んだファイルやそれが格納されるディレクトリにも「755」「705」などの実行が可能な属性を設定しなくてはなりません。

Movable Typeでこの属性を設定するためには、設定ファイルの「mt-config.cgi」に

HTMLUmask 0022
UploadUmask 0022
DirUmask 0022

という記述を追加する必要があるんですが、私はこれをすっかり忘れていて、バージョンアップ後にファイルを再構築してみたら、「500 内部サーバーエラー」の真っ白なページのオンパレードに。しばらく理由がわからず頭をひねる羽目になりました。

もうひとつつまずいたのが、バージョンアップ後にアクセスカウンターが警告メッセージを出力するようになってしまったこと。カウンター表示の自由度を確保するために、アクセスカウンターのプログラム自体の内部では計算や判定を行うのみで、一切表示は行わない仕様にしてあるんですが、警告メッセージが予期せず出力されるせいで、全体のレイアウトが崩れてしまいます。

これについては、プログラム構造を改めてチェックしてみたところ、同じ変数を無理に使い回しして、間違った値が代入されていることが原因と判明。早速修正しておきました。しかし、それならなぜ今まで全くメッセージが出てこなかったのか不思議です。プログラム修正後もアクセスカウンターの増加ペースはあまり変化がないので、今までの動作がおかしかったわけでもなさそうなんですが...。


とりあえず大がかりなバージョンアップ作業はひと区切り。しかし、メールフォームからのメール送信や、自己紹介ページなどの一部で、まだデザインの修正が終わっていません。これについては、追々進めていこうかと思っています。

デザインの変更については、ずいぶん長い間基本的なコンセプトを変えていなかったこともあり、実は私自身にもまだ違和感が残っています(笑)。まあ、これは時間が解決してくれるでしょう。Weekly SSKが600号を超えたからとか、書き始めてから11年が過ぎたからとかいうわけでもないんですが、この期に及んで明るく爽やかにイメージチェンジしようとしている(?)SSK Worldを、今後ともごひいき願います。

マクロミルへ登録

コメントする

トラックバック(0)

トラックバックURL: http://sskworld.sakura.ne.jp/mt/mt-tb.cgi/2340

検索

SSK World内全文検索:
SSK World内をGoogle検索:
カスタム検索
SSK WorldからGoogle Web検索:
カスタム検索

最近のブログ記事

速さをお伝えしたいのだが
私が現在使っているスマートフォン・F-05Dの最大の特徴のひ…
スマホでIP電話
スマートフォンに機種変更する前、1台の携帯電話に2つの番号を…
サーバー内でお引っ越し
SSK Worldを構成しているファイル群を、まとめて移動さ…
スマートカントリー
昨日もBESS浜松展示場に足を運んで、家造りの打ち合わせをし…
手書きの復権
スマートフォンに機種変更してから、1ヶ月少々が経ちました。最…
Disneyからパナが来た
NTTドコモから、「Disney Mobile on doc…
配線にこだわる
今週末も、家造りに向けての打ち合わせ。車を走らせて、西区のB…

最近のコメント

S.S.K. on "レッツノートに何が起こる?":
今日は右手の上に「TOUGH」の文字が載りました。タフはレッ…
S.S.K. on "レッツノートに何が起こる?":
ティザーサイトの画が変わりました。一瞬だけ映る右手…これが折…
S.S.K. on "充電器が届きました。":
HSJ-099WHをつないでF-05Dを充電してみようとした…
S.S.K. on "予約はしてみたが":
つい先ほど、ちょうど再びF-05DのテレビCMを見る機会があ…
S.S.K. on "ちょっとずつ見えてきた":
F-05Dでもう一つ明らかになっている、ちょっと嬉しい新事実…
S.S.K. on "AndroidでもATOK月々300円":
ATOK Passportの開始と共に公開された最新版のAT…
S.S.K. on "第一印象":
MEDIAS LTE(仮)の写真をもうちょっと詳しく見てみま…

最近のトラックバック

"『5』じゃなかった・・・。" on "Sasatch Blog" →"5ではなく4Sだった":
今朝のニュースやワイドショーでも取りあげられていたAppl…
"iPhoneの2年縛りは卒業しましたが・・・" on "Sasatch Blog" →"スマホで2番号":
ちまたではiPhone5が10月に登場するのではないかとい…
"最近気になる携帯電話。" on "Sasatch Blog" →"スマホな男":
購入から1年半が過ぎ、ちょっぴりiPhone 3GSから気持…
"なすび~号、北の大地へ。(その4)" on "Sasatch Blog" →"日本一早い紅葉":
9月25日はいよいよ日本一早い紅葉を見るために黒岳に登る日…
"なすび~号、ニス塗り。" on "Sasatch Blog" →"片付けなくちゃ":
またまたなすび~号ネタ(爆)。 先日タイルカーペットを敷き…
"本家、復活。" on "SSK World @nifty分室" →"半年ぶりの本家":
4月から営業休止中だったSSK Worldですが、ようやく修…
"谷亮子選手" on "航海長 防衛省 " →"ママでは銅":
ママでは銅... は、「連続金メダル」を期待してしまいますよ…

フィードの購読

Powered by(広告)