ActivePerl+ImageMagick

投稿アップデート情報  追記(2014.2.24)

 この間書いたようにLAMP系にも触れていたいということで,XREAのフリースペースを利用している。「Ajax Edit Commentsフリー版(v.5.0.7.0)のLAMP系での使い方。」でも,4つテストしたレンタルサーバの一つとしてここで試してみた。

 で,現在のXREAのフリースペースでの私の主題目は,Perlによるcgiの勉強である。現在,私が使っているXREAのサーバのPerlのバージョンは5.8.8である。自鯖のほうでもPerl5.x.xを使っているので,cgiとしても基本的にはそれに従う方向で書く勉強をしている。そんなわけで,パッケージやモジュールを使った書き方を学ぶことになる。

 昔,齧ったことのあるPerlに比べて,モジュールのありがたさを満喫しているところだ。今まで使ってきたモジュールは,XREAのサーバにはすべて導入されていた。まぁ,標準モジュール以外で使ったのは,Image::SizeとImage::Magickだけだから,XREAあたりでは当然なのかもしれない。
 一方,自鯖のほうには,どちらも入っていなかった。Image::Sizeのほうは,Perl Package Manager(PPM)で簡単にインストールできた。Image::Magickのほうは,実はこの間アンインストールしたばかりだ。早速,再インストールした。
 見た目は似たようなブログCMSであるWordPressMovableTypeだが,大きな違いの一つはWordPressはPHPスクリプトの塊,MovableTypeはPerlスクリプトの塊ということだ。

 インストールが終ったときに,WordPressは「たったこれだけで終わりよ」みたいに簡単さを誇示しているが,WordPressしかインストールしたことがなかったら,あんまり印象に残らないアピールだろう。でも,本当に楽なほうだと思うよ。

 MovableTypeもバージョンが進むにしたがって,どんどん楽になってきていたので,極端に難しい方ではないと思うが,最初に導入したときには本当に苦労した。全く経験がなかったせいもあるが,サーバがWindowsだったので情報が少なかったということもあると思う。そして,何よりハマったのがPerlの追加モジュールのインストールだったのだ。その中でも,Image::Magickについては,いろいろと手こずった。

 ActivePerl上でのImageMagick(=PerlMagick)のインストールで気を付けるポイントは,結局のところ2つなのだ。

  1. ひとつは,使おうとしているActivePerlに対応しているバージョンのImageMagickを使うこと。
  2. もう1つは,インストール後必ずWindowsを再起動すること。

 ほかに,staticを使うかdllを使うかとか,Visual C++ 2010 Redistributable Package (x86) or Visual C++ 2010 Redistributable Package (x64)のインストールとか,x86とx64のどちらを使うかとかあるが,これについてはImageMagick(=PerlMagick)に書いてある。
 しかし,上記の2つは,結構気づかない。
 1.のほうは,ImageMagickをインストールするときに,ActivePerlv5.xx.x build xxxxに対してPerlMagickをインストールするという項目がある。ここで,前もってインストールしてあるActivePerlのバージョンが書かれていれば絶対に間違いないし,わずかにバージョンが違うだけでもダメなのだ。

 2.のほうは,本当に落とし穴で,ImageMagickインストール後にPerl Package Manager(PPM)上ではちゃんとモジュールが見えるのだが,それでもWindowsを再起動しないままで使えたことは一度もない。実際,今回もOSを再起動しないまま使ったら,Image::Magickが見つからないというエラーが出た。

 初めのころは,ほんっと,ハマったよー。おかげで,濡れ衣を着せちゃったことさえあるくらいなのだ(笑)。

追記(2014.2.24):
 ドメインを移管したので, XREA においてあったものは,なくなった。「Perlによるcgiの勉強」の報告は,スタードメインに移した。