Darkside(https対応しました)

2008年11月19日の記事

2008年11月19日(水) 17:18

Image-Magick

 WWW公開サーバーで動作させるcgiというか、cgi一般でも最も多いのは掲示板cgiだろう。最近はブログcgiの方が多いかもしれないが、両者はほとんど同じである。  掲示板にしろブログにしろ、画像を掲載出来るのは当たり前である。そして画像は大きいため普通は、小さなサムネイルとそれをクリックすると本体が表示されるという2段構えになっている。  アップロードする側の使い勝手からすれば、本体の画像をアップすれば自動的にサムネイル画像が生成されるべきである。本体画像とサムネイル画像の2枚を用意し、それを2枚ともアップせねばならないのでは著しく煩雑になる。  だが、これを実現するには、cgiというレベルで画像の縮小という作業を行わねばならない。その処理は一筋縄で行かないため、掲示板の中には手抜きしているものもある。つまり、見た目はサムネイルなんだけど画像データとしては本体のままで、ブラウザに縮小表示させているだけというものだ。これはレイアウト的にはいいものの、データ量は本体を表示させているのと変わらない。  つまり、掲示板の表示がやたら重くなってしまう。もちろん回線も占領する。  以上はありふれまくった話なので、これまた定番の解決策が存在する。それが Image-Magick というソフトで、cgiで多用されるperlと連携して画像の加工が出来る。画像アップロードが可能な掲示板cgiにおいて、自動的にサムネイルを生成する機能を持ったものは殆ど Image-Magick 必須となっている。  最初に自前のサーバーを立てた頃は、Image-Magick をインストールするのが大変な作業で疲れ果てたのを覚えている。ところが、その後一発インストール出来るようになった。コマンドラインから ppm と打ち込み、search Magick と入れるだけでネット上で公開されているパッケージを探し出してくれる。  発見出来たところで、install Image-Magick と入れればほぼフルオートでインストール完了。当初の苦労は一体何だったのか?と感じるお手軽さ。  だが、今回のサーバー再インストール作業において同じことをやったら、search Magick で検索にヒットしない。無視して install を実行しても、何も起こらない。  Image-Magick をインストールしないと、殆どの掲示板が書き込み不能になる。皮肉なことにこのブログは正常に書き込める。というのも基本的に html ベースであり画像の表示とかも html のページを作るようにして仕込む。html にサムネイル自動生成など無い訳で、サムネイルは別途用意しておくのが当たり前だ。お手軽ではないが Image-Magick など必要としない。  仕方なく本家ホームページに出向いて、インストールパッケージを落として来る。それをインストールしたが、掲示板cgiがエラーを起こす。実は Perl のバージョンが変わると、対応する Image-Magick のバージョンも変わるのだ。先に ActivePerl をインストールしておいた状態で ppm からお任せインストールすると、バージョンに適合した Image-Magick を勝手に判別してくれる。  そこで検索にヒットしなかったというのは・・・要するに対応するバージョンが無いということなのだ。  確かに、手元の perl は長く使っていてバージョンは古めだ。それに合う Image-Magick のバージョンがもう公開されていない。しかし、検索すると置いてある場所を運良く発見。解凍したら手動でインストールする。解凍したディレクトリに移動してから ppm を実行し、解凍ファイルを直接指定してやる。  だが、これも駄目だ。マルチスレッドには対応してませ〜ん!とは英語で表示される。  去年サーバー機を Core2Dual にパワーアップしている。それでも Image-Magick はエラーを出さずに動いてくれていたが、インストーラーがストライキしやがる。  とんでもないことになった。  Perl に対応した Image-Magick のバージョンは決まっている。それをインストール出来ない。ならば Perl をバージョンアップすれば良さそうだが、これも難しい。というのも Perl にもバージョンによる方言があり、cgiの動作が不安定になるのだ。古いとはいえ今の Perl は最初にサーバーを立てた時に散々苦しみながら辿り着いた安定動作バージョンであり、簡単に新しい Perl には入れ替えられない。  まてよ・・・Windows のソフトはやたら複雑にレジストリを書き換えたりして何やってるか分からない。インストーラーを使わないと正常に動かないのが多い。しかし perl とか Image-Magick は悪しき伝統に毒されていない。インストーラー無しで放り込めないか?  そもそもOSは入れ替えたが、Image-Magick は削除していない。HDD上に残っているではないか。そこに path を通し、環境変数 MAGICK_HOME にも登録してやる。これだけで、すんなり動くようになった。  将来困らないように、Perl と Image-Magick が入っているディレクトリをまるごと固めて保管した。

written by higashino [ネット・PC] [この記事のURL] [コメントを書く] [コメント(2)] [TB(0)]

この記事へのトラックバックPingURL
Darkside(https対応しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4