Archive for 1月, 2008

31
2008

先週末のMovable TypeのJapan Hackathonで作ったMTSmileVideoをとりあえずリリースします。
ダウンロードおよび設定などなどは下記を参照ください。
http://projects.makotokw.com/trac/arcadia/wiki/MovableType/MTSmileVideo.ja
Japan Hackathonの内容はぴろりさんのJapan Hackathon 参加レポートの成果発表のメモがよくまとまっていると思うのでリンクを張っておきます。
さて、今更ながらJapan Hackathonの感想ですが、ちょっと軽いノリで行き過ぎたなと反省しています。自分としては一日Movable Typeと戯れられるという意味で余裕があったのですが、実際に会場に着いてからローカルに開発環境を構築し出したり、ニコニコ動画のHackをはじめたり、あげくの果てにPerlの連想配列の書き方を調べつつ・・・「$とか@とか%とか意味不明わからん!」と発狂したり、計画性などあったものじゃない。
それでも成果発表の時に動くものを持っていくあたりはさすがはkw(自分で言うか)と言うところですが、実際に一日でできることはたかが知れています。大きなブレークスルーを抱えたものではなく、ある程度作り方が見えているものをがーと作るというのが良いと思いました。

31
2008

Movable Type 4.1にアップデートしました。といってもアップしたのは月曜日の早朝です。単純に4.1をアプリケーションディレクトリに上書きしたんですが、データベースのアップグレードがうまくいきませんでした。
画面はアップグレードしました。と表示されるんですが、ログインしようとするとまたデータベースをアップグレードします。といわれて延々無限ループ。どうしたものかなと思い、4.1を別のディレクトリにクリーンに入れてmt-config.cgiだけコピーして、やったところうまくデータベースがアップグレードできました。不思議です。
データベースが更新されてからは、元のアプリケーションディレクトリでも普通にログインできました。が、先が思いやられそうです。
で、そろそろ頃合いかなと古いディレクトリを削除しようと思いました。blog.のサブドメインに移行したときに古いディレクトリを残したままだったのです。もう要らないだろうと思い日付を見ると何故か更新されているのです。調べたところ古いURLの方にatomでpostしているプログラムを発見しました。。。古いURL、古いディレクトリの方はMT3.xが入っていたので・・・同時にMT3.xとMT4が同じデータベースを参照&更新していたという衝撃の事実が判明しました。いや、よく動いてくれてましたよ。。。atomで更新していたほうがクロスポストされないので不思議だなぁと思っていたのですがこれが原因でした。(MT3.xの方ではPostVox動いてなかったので)
これを機械にいろいろ使ってないディレクトリを整理しました。徐々に自宅サーバに移行しつつあります。

31
2008

ごめんなさい。下記ページに違うpluginのzipをずっと貼ってました。。。。差し替えました。
http://projects.makotokw.com/trac/arcadia/wiki/MovableType/MTSocialBookmarks.ja
元の記事

30
2008

TM4.1にあげてからなのか
PostVox
でエラーが発生している。
作者の高山さんに報告しようかと思ったが、そのまえに念のために最新版を確認したら、
Version 0.8っていうのがあった。自分のを見たら0.7だった。差分を見ても明らかにMT4.0対応とわかる箇所もあったので更新してみた。
この記事がVoxにも行っていれば成功。

30
2008

週末はMT三昧でした。Movable TypeのJapan Hackathonにおいて開発環境の構築方法について聞いてきました。
また質問する前にxamppではperlはほとんど入っていない状態なのでxamppのperl-addonを入れてしまっていました。perl-addonのインストーラを落として実行しようとしたらxamppのapacheのバージョンが新しすぎて入らなかったので下記を参考にzipから設定しました。
XAMPP/5.Perlのインストール
さて、Japan Hackathonでは下記のようなお言葉をいただきました。

  • そもそもWindowsならIISを使うべし
  • ActivePerlならデフォルトで#!/usr/bin/perlが使える
  • Ubuntu入れてWindowsはWMWareで実行すべし

が、残念ながら僕の場合はWindowsのデスクトップアプリも開発しているし、そもそもxamppを入れたのもPHPを使うためであったりして、開発環境を作る際のスタート地点がだいぶ違うために、今からMTのために環境を作り直すのは厳しい状態です。
そんな中、有用な情報として、apacheのWindows版では、plファイルやcgiファイルの1行目の#!/usr/bin/perlを無視できる設定があると聞けました。
そこで、帰宅後いろいろ調べてみたところ、下記を見つけました。
ScriptInterpreterSource ディレクティブ
http://httpd.apache.org/docs/2.0/ja/mod/core.html#scriptinterpretersource
これを使うと用はWindowsの拡張子関連づけを使って実行モジュールを指定できるようになります。ただし、、、セキュリティ面ではリスクが高く、たとえば.htmlに対してサーバ上でIEを起動させるみたいなこともおこりえないとは限らないのでApaceh2 では Registry-Strict を指定すると良いとのことです。
Registry-Strict では拡張子関連付けで使うレジストリのShell\Open\Command ではなく
Shell\ExecCGI\Command だけを使うようになるのでリスクは下がるというわけです。
で、下記のようにmtのDirectoryディレクティブの中にScriptInterpreterSource Registry-Strictを追加。

<Directory "D:/Arcadia/Web/com.makotokw/blog/mt">
Options Indexes FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
ScriptInterpreterSource Registry-Strict
</Directory>

次に*.cgiファイルと*.plファイル対してC:\xampp\perl\bin\perl.exeで実行するようにShell\ExecCGI\Commandを追加。具体的には下記を.regファイルで保存して実行。

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command]
@="C:\\xampp\\perl\\bin\\perl.exe %1"
[HKEY_CLASSES_ROOT\.pl\Shell\ExecCGI\Command]
@="C:\\xampp\\perl\\bin\\perl.exe %1"

これで、いちいち*.cgiファイルを書き換えなくても共通のソースでローカルでMTが実行できるようになりました。当然、mt-config.cgiの変更とmt_blogテーブルのblog_site_urlの書き換えは必要ですが、mt-config.cgiはあらかじめ用意しておいたファイルでrenameするだけですし、blog_site_urlはMySQLでデータベースをリストアした後に下記SQLを実行するだけなので対して手間ではないです、

update mt_blog set blog_site_url='http://blog-local.makotokw.com' where blog_site_url='http://blog.makotokw.com';

あと残っていたのは文字化け問題なのですが、mysqlのstatusコマンドを実行したところ、xamppの初期の文字コードの設定がlatin1になっていました。my.cnfを書き換えた記憶がなかったので、設定することにしました。
xamppのMySQLのmy.cnfは、

C:\xampp\mysql\bin\my(.cnf)

の模様です。(拡張子表示する設定なのに何故かエクスプローラー上で.cnfは表示されない)
これに下記を追加。

[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
skip-character-set-client-handshake
[mysql]
default-character-set = utf8

これで文字化けが直ったのですが、そもそもdumpしたサーバの元のデータベースのコードがsjisになっているんです。で何故latin1で文字化けして、utf8で文字化けしなかったか。dumpしたsqlを見ると一目瞭然なのですが・・・tableやclumnはsjisの設定になってるのに肝心のデータはutf8で入ってしまっているようです。
ちなみにmt-config.cgiにPublishCharsetを指定しない場合、デフォルトはutf8になります。
当然指定してなかったので最初からutf8で保存されていた模様。逆に何故サーバのtableの文字コードがshisになっていたかですが、レンタルサーバなので最初からsjisだったのかもしれないし、もう記憶がないのですがsjisで作成してしまったのかもしれません。
いずれにせよ気持ち悪い状態なのでutf8に文字コードを変更することにしました。データ自体はutf8で入っているので、データは変更せずにDatabaseとTableのchasetを変更するだけ、こういう場合文字コード変換が走らないようにいったんcolumnの型をbinaryに変えてからutf8にすると良いらしんですが、colmnが多いくて全部をalter tableするのは
非常に面倒だったので・・・dumpしたsql文のsjisをutf8に置換してそのままリストアしてやりました。
これで文字化けも文字コードの気持ち悪い相違も解決してローカルでMovable Typeが動くようになりました!

28
2008

MT4.1 + CustomFieldによるMTSmileVideoのテスト

26
2008

Movable TypeのJapan Hackathonに参加中
この機会にローカルで開発しようかと思い、サーバからdbのdumpを持ってきてローカルのmysqlにつっこんでapacheのvhostsまで作ったはいいがxamppはperl addon入れないといけないらしくて動かない。xamppのページからperl addonを落としてインストールしようとしたらapacehのversionがこっちの新しすぎて入らない。。。しかたがないのでzipを解凍してセッティング。
激しく文字化けしたがなんとか動いた。みなさんは開発するときどうしてるんだろう?自分は今まで本番でテストしてたのでblogが落ちたりすることがしばしばあるんだけど・・・
にこにこのHackは認証のところではまってしまったので、方向転換してhtmlを無理やりパースする方法でつくることにした。とりあえずにこにこ動画を簡単にブログで紹介できるMTSmileVideoというプラグインを作ってみた。
<$MTSmileVideo video_id=”sm423963″ $>
って書くとにこにこの動画が表示される。
しかし、ここまで作って思った、ブログ記事内にtemplateタグって使えないよね?あせって探したら、下記のようなプラグインを発見。
http://xeres.s55.xrea.com/2005/08/14/010500
とりあえずこれを入れたところ表示されるようになったけど、perlのplug-inしかないのでphpのダイナミックパブリッシングでは表示されない・・・
<$MTSmileVideo video_id="sm423963">

22
2008

先週の話。iPod touch買いました。
8GBか16GBか悩みつつ、Apple Storeで名前の刻印してもらおうかとも考えていましたが・・・どうせ開発で酷使するんだから、と8GBをAmazonで購入。まぁ8GBで十分だしね、と思いきや実際につないだときは残り7GBちょっとなので気をつけろ。
とっととfwをあげてしまったのでjailbreakできないのですが、来月SDK公開の噂を信じて最新FWで使い倒してやろうかと思っています。
来月SDKがでなかったらどうするか?一応FW下げる方法もあるらしいし、なんならもう1台買ったらいいやん。という悪魔のささやきも聞こえます・・・

15
2008

自宅サーバ、二日くらい止まってました。
labs.makotokw.com
trac.makotokw.com
code.makotokw.com
*.x-jukebox.com
など。
ちなみに
www.makotokw.com
wiki.makotokw.com
blog.makotokw.com
などはレンタル鯖で動かしているので基本的に止まることはないです。
しかも自宅サーバが止まっていた理由は別にサーバが落ちてたとかではなく・・・DynamicDNSの更新してなかったよ!!!
いつもはルータを再起動したときは注意深く、会社のマシンにリモートで入って外からちゃんとつながるかとか見てるんですが・・・一昨日くらいにケーブルを整理してたときにいったんルータの電源切ったのよね・・・たぶんその時にプロバイダからもらえるIPが変わってそのまま放置と。
サーバ移行完了と言いつつまだまだ足りないところもあったようです。cronで更新するスクリプト書きました。。。
あー、そういえばapacheのログとsvn/tracのリポジトリのバックアップスクリプトも動かすように設定してない。無駄にibookの方で動いているよ。

13
2008

サーバー移行完了!

| No Comments | No Trackbacks | はてなブックマークへ追加 | del.icio.usへ追加 |

玄関においている自宅サーバの残っていた移行作業を完了させました。残っていた作業はラックの設置とログ解析。
玄関に雑多においておいたサーバをサーバラックに設置。ラックといっても幅20cmの突っ張りラックです。一応縦に4台はおける計算で、突っ張りなので地震が起きてもたぶん大丈夫。
SN340195.JPG
あとはケーブルをきれいに配置しました。ルータから10mのLANケーブルと台所からコンセントをひっぱってきてるんですけど、水場(台所)を経由しているのでサンワサプライでケーブルカバーを買ってケーブルを保護。結構足をひっかけてたのでその辺も安心できるようになりました。
http://www.sanwa.co.jp/product/cable/cableacc/index.html