MovableType って、ImageMagick の Perl モジュールが入ってなきゃ、GD モジュール使うのかと思ってたけど、初期ログイン時に、
Image::Magickがインストールされていないかまたは正しく設定されていないため、Movable Typeのユーザー画像機能を利用できません
って怒られた。
そうですか。仕方ないので入れましょう。ま、CPAN モジュール使ってインストールすりゃ一発じゃけえね・・・と思ったんだけど、いきなり、
...
make: *** [Magick.o] エラー 1
/usr/bin/make -- NOT OK
Running make test
Can't test without successful make
Running make install
make had returned bad status, install seems impossible
と、エラーで終わっちゃいましたよ、インストール。
入ってる ImageMagick 本体のバージョンが 6.2.8 で、Perl モジュールは 6.5.9 狙いなので、そのせいかねえ・・・
今の ImageMagick は RPM パッケージでインストールされているようなので、
yum info ImageMagick
で、現行バージョン調べてみたら、このサーバ OS 用の最新バージョンは 6.2.8.0 だった。つまり、最新パッケージのバージョンが更新されてないわけだ。
仕方無いので、
yum remove ImageMagick
でパッケージを削除して、ソースから Perl モジュールに合ったバージョンのものをインストールすることにした。
ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/ImageMagick-6.5.9-10.tar.gz
を取ってきて、configure して make & make install。
問題なく本体のインストールは終了。ldconfig 実行してライブラリのパスを通したら、もう一度 CPAN モジュールでインストール実行。
# perl -MCPAN -e shell
Terminal does not support AddHistory.cpan shell -- CPAN exploration and modules installation (v1.7602)
ReadLine support available (try 'install Bundle::CPAN')cpan> install Image::Magick
CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
Database was generated on Tue, 20 Apr 2010 17:27:01 GMT
Image::Magick is up to date.
あれれ?何か、ものすごくあっけなく終わっちゃったんですけど?(^^;
ホンマに大丈夫かいな?
心配だったので、簡単なプログラム作って実験。
# cat > image_magic_test.pl
use Image::Magick;{
my $new_path = "new_file.gif";
my $path = <STDIN>;
chomp $path;my $image = Image::Magick->new;
$image->Read("$path");my($now_x, $now_y) = $image->Get('width', 'height');
print "SIZE X=$now_x Y=$now_y\n";
my $max_x = 1000;
my $max_y = 1000;$image->Resize(
width => $max_x,
height => $max_y,
blur => 1.2
);$image->Write("$new_path");
}
^D
# perl image_magic_test.pl
/var/www/icons/image2.gif
SIZE X=20 Y=22
# ls -la new_file.gif
-rw-r--r-- 1 root root 321404 4月 22 12:30 new_file.gif
# perl image_magic_test.pl
new_file.gif
SIZE X=1000 Y=1000
うむ。20x22 の大きさのアイコンを指定して、1000x1000 の大きさにサイズ変更して出力するプログラムなんだが、ちゃんと動いたな。
これで大丈夫でありましょう。