2015年11月20日 21:00
category: Web
---
文字数:2426
読む目安: 5分

Vagrant環境にImageMagickをインストールしてみた

こんにちは、西山です。
ワタシ、Movable Typeを愛用しているのですが、ローカルでの検証などには「Vagrant」を利用しています。

Vagrant+VirtualBoxでMT6を動かしてみた。- 2013.12.18

なんですが、これまでぜんぜん気がついていないことがありました。
そう、利用しているVagrant環境にImageMagickが入っていないことに。
Movable Type用の画像アップロード補助機能プラグインとかリリースしているのに、検証はここ以外でもやっていたせいか、ぜんぜん気がついていませんでした...(汗)

プログラマさんに「試しにターミナルでidentifyってコマンド入れてみてらえますか?」と言われ...、ターミナルで、MTインストールディレクトリへ移動(cd hoge)し、Vagrant を起動(vagrant up)、vagrant sshでSSHアクセスして[vagrant@localhost]になって、identifyコマンドを実行してみると...

error while loading shared libraries: libMagickCore-6.Q16.so.1: cannot open shared object file: No such file or directory

というわけで、ImageMagickが入っていないことが判明(汗)
これをインストールする旅へ出発です!

1. まずはImageMagickをインストール!

まずはVagrantにSSHでアクセスして、ユーザーをrootに切り替えます。

vagrant ssh

で、[vagrant@localhost]になったあと、suとコマンドを入れるとパスワードが聞かれるので、vagrantと入力。
すると、[root@localhost vagrant]# という感じでrootユーザーになります。
そこで、いざImageMagickをインストール!(追記あります)

yum -y install --enablerepo=remi ImageMagick-last

ずらずらずらーっとコマンドが流れていき、Complete!と表示されたらインストール完了。
一旦、rootユーザーから exit で vagrantユーザーに切り替えて、改めてidentifyとコマンドを入れてみると...

Version: ImageMagick 6.9.2-5 Q16 x86_64 2015-11-01 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC

と表示され、インストール完了!!
あわせてバージョンも確認。

[vagrant@localhost ~]$ rpm -qa | grep -i imagemagick
ImageMagick-last-libs-6.9.2.5-1.el6.remi.x86_6
ImageMagick-last-6.9.2.5-1.el6.remi.x86_64

よし!と思ったのですが、実はこれには罠がありました...

2. ImageMagick-perlをインストール

これで良いのかと思っていたんですが、ImageMagickを利用した機能が動かない...
なぜ?と思っていたら、ImageMagick-perlというモジュールがインストールされていないらしいことが判明...。

勘違いしてる人がたまにいるのですが、ImageMagickとImage::Magick(別名PerlMagick)は別物です。

ImageMagickとは、C言語で書かれた画像処理ソフトウェア・ライブラリ一式のことです。 Image::Magick(別名PerlMagick)とは、PerlからImageMagickを操作するためのPerlモジュールです。(こういうのをバイディングといったりします。)

[Perl]ImageMagickとImage::Magickの違いについてそろそろ一言いっておくか。- DQNEO起業日記

むむむ...そうなのか(あまり良くわかっていません)
というわけで、まずは一度インストールしたImageMagickをremove

yum remove ImageMagick

そして再度、ImageMagick-Perlをインストール!

yum -y install ImageMagick-perl

ずらずらずらーっとインストールが進み...あらためてComplete!
確認のためにidentifyしてみると...

Version: ImageMagick 6.7.2-7 2015-07-23 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC

バージョンはちょっと下がった(6.9→6.7)けど、インストール完了を確認!
プログラムの動作を確認すると...無事に動きましたー!

なんだか、ちょっと凄いことやってのけた気分(笑)

と...、Vagrantを利用してMovable Typeを、しかも検証用に利用しているノンプログラマーって、そうそういないとは思うのですが、せっかく覚えた手順だったのでブログ記事にまとめておきます(笑)
間違っているところがあったら、できればやさしくご指摘ください(汗)

追記:2016年5月2日
rootユーザーになった後、
yum -y --enablerepo=remi install ImageMagick-last ImageMagick-last-perl
で、最新版をインストールできます。