LTJ bukem – Melkweg x Logical Progression Live on Mixcloud.com

ブケム+コンラッドの最新のミックス。アムステルダムのMelkwegっていうクラブでのライブ収録らしい。Logical Progression名義ということで全編にわたってJungle/Artcore。すばらしすぎる。

ImageMagick 6.7 + PECL::ImagickでlibWandエラー

ImageMagick 6.7 + PECL::imagickのインストール | fixture.jpで書いた方法でImageMagickをセットアップしたサーバーで、こんなエラーが出るようになった。

# php -v
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/imagick.so' - libWand.so.10: cannot open shared object file: No such file or directory in Unknown on line 0
PHP 5.3.3 (cli) (built: Mar 30 2011 13:51:54)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

libWandがないという。。。少ししか調べてないが、libWand.soはlibMagickWand.soって名前に変わった疑いあり。ちらほら見かけたsymlinkを/usr/lib以下に張る方法も効果なし。

ImageMagickとPECL::Imagickはそれぞれ

# convert --version
Version: ImageMagick 6.7.6-5 2012-04-16 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP

# pecl list
Installed packages, channel pecl.php.net:
=========================================
Package Version State
imagick 3.0.1   stable

結局ImageMagick本体との間のバージョン的な相性問題らしく、imagick 2.3.0を持ってきてソースから入れ直したらうまくいった。(先輩ありがとうございます)やっぱ本体はyumで入れたほうがトラブル少なくていいのかなー。

Confusion 2012/04/13 – Heavy1 “Minimalized” Release Tour

Human Elements @ LOOPの他に、もう一つレジデントとして出演している長野・松本唯一のDrum&Bass Party Confusion。今回は、新レーベルYabai 84を立ち上げ絶好調のHeavy1のアルバムリリースパーティです。久しぶりにフライヤーもやらせてもらいました。

CONFUSION -HEAVY1 1st Album “Minimalized” Release Tour-
2012.04.13 [Fri] @ Sonic Open&Start : 22:00
Heavy1 / Kaga / Lowply / Takashi / A-ko
confusion.jp
yabai84.com

新さくらのVPS + CentOS 6.2 で最初にやったことメモ

さくらのVPS v3 2Gプランを借りたので、最初にやったことをメモ。

環境確認

契約後メールで送られてきたパスワードでログイン。まずはrootパスワード変更。

# passwd

3コア。

# cat /proc/cpuinfo | grep "model name"
model name : Intel(R) Xeon(R) CPU E5645
model name : Intel(R) Xeon(R) CPU E5645
model name : Intel(R) Xeon(R) CPU E5645

メモリ2GB。

# cat /proc/meminfo | grep Mem
MemTotal: 2054804 kB
MemFree: 1482476 kB

# free -m
 total used free shared buffers cached
Mem: 2006 558 1447 0 50 393
-/+ buffers/cache: 115 1891
Swap: 4031 0 4031

驚愕の200GB。ざっくり言うと / → 50GB /home → 150GB という割り当てっぽい。

# df -h
Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/vg_www1343uf-lv_root   50G   1.4G   46G   3% /
tmpfs                              1004M    0 1004M   0% /dev/shm
/dev/vda1                          485M   32M  428M   7% /boot
/dev/mapper/vg_www1343uf-lv_home   144G  188M  136G   1% /home

CentOS 6.2 64bit。

# cat /etc/issue
CentOS release 6.2 (Final)
Kernel \r on an \m

# uname -a
Linux xxx.sakura.ne.jp 2.6.32-220.7.1.el6.x86_64 #1 SMP Wed Mar 7 00:52:02 GMT 2012 x86_64 x86_64 x86_64 GNU/Linux

リッスンポート。最初は22番と25番が上がってる。

# netstat -tanp | grep LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1260/master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 22726/sshd
tcp 0 0 ::1:25 :::* LISTEN 1260/master
tcp 0 0 :::22 :::* LISTEN 22726/sshd

IPアドレス。

# ifconfig -a | grep -w inet
inet addr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxx.xxx Mask:255.255.254.0
inet addr:127.0.0.1 Mask:255.0.0.0

OSアップデートは最新版なので変化なし。

# yum update

SSHとユーザー周り

SSH設定変更。ポートを変えて、パスワード認証を切る。rootログインはそのうちオフにする。

# cd /etc/ssh/
# cp -ip sshd_config{,.120329}
# vi sshd_config
# diff sshd_config.120329 sshd_config
13c13
< #Port 22
---
> Port XXXXXX # <---- As you like
66c66
< PasswordAuthentication yes
---
> PasswordAuthentication no

wheelで一般ユーザー作る。

# useradd sho -g wheel
# passwd sho

rootと一般ユーザー用に.ssh作って、公開鍵を登録。

# cd /home/sho
# mkdir .ssh
# chmod 700 .ssh
# vi .ssh/authorized_keys
# chmod 600 .ssh/authorized_keys
# chown -R sho:wheel .ssh
# cd /root
# mkdir .ssh
# chmod 700 .ssh
# vi .ssh/authorized_keys
# chmod 600 .ssh/authorized_keys

wheelグループにはパスワードなしでsudoさせる。

# cd /etc
# cp -ip sudors{,.120329}
# visudo
# diff sudoers.120329 sudoers
105c105
< # %wheel ALL=(ALL) NOPASSWD: ALL
---
> %wheel ALL=(ALL) NOPASSWD: ALL

ロケールとBash

日本語やなのでロケールを変える。

# cd /etc/sysconfig
# cp -ip i18n{,.120329}
# vi i18n
# diff i18n.120329 i18n
1,2c1
< LANG="C"
< SYSFONT="latarcyrheb-sun16"
---
> LANG="en_US.UTF-8"

.bashrcを編集。あんまり良くないけどとりあえずUbuntu使ってた時のそのまま持ってきた。

# cd
# mv .bashrc{,.120329}
# vi .bashrc

エイリアスは好みで。tmuxのショートカットと、viをvimに張ったぐらい。

# vi .bash_aliases
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vi='vim'
alias tm='tmux -2 a || tmux -2'

lessをカスタム。

# cp -ip .bash_profile{,.120329}
# vi .bash_profile
# diff .bash_profile.120329 .bash_profile
12a13
> export LESS='-X -i -P ?f%f:(stdin).  ?lb%lb?L/%L..  [?eEOF:?pb%pb\%..]'

tmuxとdotfilesとvim

なにはともあれtmux入れる(ここからダウンロード:http://tmux.sourceforge.net/

# yum install libevent libevent-devel ncurses ncurses-devel
# cd /usr/local/src
# wget http://downloads.sourceforge.net/project/tmux/tmux/tmux-1.6/tmux-1.6.tar.gz
# tar vxzf tmux-1.6.tar.gz
# cd tmux-1.6
# ./configure --prefix=/usr/local/tmux
# make
# make install

おお、ここ空っぽなんだ。

# cd /usr/local/bin/
# ls -la

リンク張る。

# ln -s /usr/local/tmux/bin/tmux .

いよいよdotfiles。gitは最初から入ってる。

# cd
# git clone --recursive git://github.com/lowply/dotfiles.git
# cd dotfiles
# sh symlink.sh
# vi

一回vim立ち上げる時にエラー出るけど気にしない。

:NeoBundleInstall
:q

ここで入るプラグインは「neobundleでvimプラグイン管理」を参照。
vim抜けたらvimprocをmakeしておく。

# cd .vim/bundle/vimproc
# make -f make_unix.mak

所感

とりあえず今回はユーザー作成、SSH設定、dotfiles、tmux、vimあたりまで。作業してて、yumとかmakeとかの体感速度が上がった気がした。それにOSの起動も速い。さくらさんスゴイっす。

抜けとかオススメの設定あったらツッコミお願いします。

DeliciousからPinboardに引っ越した

SBMにはずっとDeliciousを使ってたんだけど、Pinboardに乗り換えることにした。

Pinboard: social bookmarking for introverts

2010年の年末に、Yahoo!がDeliciousを閉鎖するっていう騒ぎがあって、その時に多くの人がPinboardに流れた。自分もその時にアカウントを作ったけど、2006年から6年以上使ってきたDeliciousに愛着もあってすぐに乗り換えたりはしなかった。

今回乗り換えたのは、せっかく1年前に買い手が見つかったにも関わらずこの1年で良い方向に進化しなかった(余計な機能が増えてスピードが遅くなった)っていうのと、いつかPinboardみたいなテイストのサービスを作りたいと思ってるから。

  • Speed, speed, speed
  • An information-dense user interface.
  • An ad-free site with no third-party tracking.
  • A way to save notes and other snippets of text as bookmarks.
  • No length limits on descriptions.
  • A way to quickly save and restore open tabs.
  • Built-in integration with Instapaper.
  • A fandom-friendly site.
  • Built-in sync of links and favorites from multiple Twitter accounts.
  • A searchable archive of all your tweets and favorites.
  • The ability to bookmark by email from your iPhone.
  • Strong privacy controls, including private tags only you can see.
  • Quick-edit features to organize lots of bookmarks at once.
  • Prompt and helpful support from the developer.

Pinboard or Delicious?

SBMはこうでなくては、という仕上がり。とにかく速い。あとInstapaperとの連携がナイス。ユーザーが増えるごとにサインアップ料金が増えるのも良いアイデアなので、お早めに。

Pinboard: bookmarks for lowply

see also:

 

Human Elements 2012/03/31 – “Something We Can Do” One Year After

次回のHuman Elementsは、震災後1年を経て、改めてのチャリティ・イベントです。

Human Elements “Something We Can Do”
One Year After “Charity of The Great East Japan Earthquake”
MAKOTO / DJ AKi / ENA / VELOCITY / HEAVY1 / LOWPLY / JZT / KEY MC
Open 22:00- / Door ¥1500 *Charity
http://www.humanelements.jp/
http://somethingwecando.org/

DELL筐体でCentOS6系のネットワークデバイス名をethXに戻して使う

根幹部分の変更のせいで多方面での迷惑が予想されるRHEL6系OSのネットワークデバイス名問題、例えば「em1ではなくeth0を使いたい」という場合、下記のマニュアルが参考になる。注:DELLマシンの場合。

To disable the use of the new naming scheme, during installation (attended or automated), pass the kernel command line parameter biosdevname=0 on the boot command line.

Consistent Network Device Naming in Linux [PDF]

上記の「カーネルコマンドラインパラメータに渡す」ということをPXE Boot環境で実行したかったので、pxelinux.cfg/defaultに

default CL6.2_64

label CL6.2_64
kernel vmlinuz
append ks=http://[IPADDR]/CL6.2_64.cfg ksdevice=eth0 load initrd=initrd.img devfs=nomount biosdevname=0

と書いておいてPXE→起動すると何事も無かったかのようにeth0, eth1…という感じで使えた。。。あまりないと思うけど稼働中のOSに対して設定する方法も書いてあるので、詳細はPDFの参照を。

mod_rewriteで時間・期間指定のリダイレクト

これは知らなかった。

TIME_YEAR
TIME_MON
TIME_DAY
TIME_HOUR
TIME_MIN
TIME_SEC
TIME_WDAY
TIME

via mod_rewrite – Apache HTTP Server

RewriteCondにTIME_で始まる時間・期間指定変数があって、秒単位の細かい指定でURLのリライトができる。例えば午前3時から4時半の間は毎日バッチを走らせるのでメンテ画面に飛ばしたい、とかいう場合は

ErrorDocument 503 /maintenance.html

RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0300
RewriteCond %{TIME_HOUR}%{TIME_MIN} <0430
RewriteRule ^.*$ - [R=503,L]

とか書ける。[*1] 今までcronで行なっていたサイトのオープン、クローズ、メンテなどなど、全部これでいいじゃん!なんというスイスアーミーナイフ

ただ、詳細までまとめたドキュメントが見当たらず、いろいろ見た感じだと

  • TIME_の後がそれぞれ年月日時分秒曜日のものは、その数字を返す(月は0-11になるので注意)
  • TIME単体だと曜日以外をまとめた数字が返る
  • 比較演算子 <, >, = を使って条件を作れる

こういうことらしい。

*1 : メンテ画面を503で出すのも勉強になった。via mod_rewrite (.htaccess) で簡単メンテナンスモード @ php-tips

see also

Mod_Rewrite Variables Cheatsheet / TIME
Advanced Techniques with mod_rewrite – Apache HTTP Server / Time-Dependent Rewriting
mod_rewriteで期間指定のリダイレクト » gmt-24.net

iOS+クラウド時代の写真共有ツールAdobe Revel

Adobe Revelすごい。

Adobe® Revelは、iPad、iPhone、Macからフォトライブラリへのアクセスを提供するデジタルフォトソリューションです。容量制限の問題や手作業による同期の手間に煩わされることはありません。

定額無制限ストレージとかはさておき、個人的にすごいと思ったのはこの2つ。

Mac AppがiOS AppのUI

上の画像の通り。OSから”Mac” の名が取れたMountain Lionといい、デスクトップの終わりが近いんだなあ、と。このUIはマウス/トラックパッドでは使いにくい。でも逆にそれが象徴的。デスクトップアプリの扱いがこの程度ということは、そういうことだ。

実ファイルはクラウド上

写真を右クリックして、良くある「Finderに表示」をやろうと思っても、できない。Adobeのサーバー上の画像データが実ファイル扱いだから。ローカルにはキャッシュのみ。この感覚はiPhoto/ApertureにとってのPhoto Streamとは別世界だ。バックアップどうすればいいのか少し気になるけど。

iPad3がRetina Displayになるっぽいのでなおさら期待。

See Also : 2648-120211 Adobe Revelっていいかも: shiology

ReverseProxy配下でWordPressを動作させる

環境

# uname -orm
2.6.9-67.ELsmp i686 GNU/Linux

# cat /etc/issue
CentOS release 4.9 (Final)
Kernel \r on an \m
NOTICE: Support for CentOS 4 ends on Feb 29th, 2012

# php -v
PHP 5.1.6 (cli) (built: Jul 31 2008 00:08:07)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

WordPress3.3.1を入れたい = php5.3以上が必須。ということで更新がおそーいレポジトリを使ってるredhat系OSにとっては悩ましいところですね。特にCentOS4系。まあ、そもそも稼働中のシステムなのでphpのアップデートは避けたいという環境。

しょうがないので、Apache(2.2.22) + PHP(5.3.10)をソースから入れて、8080とかで上げてリバースプロキシで特定のリクエストを飛ばすことにした。具体的には

http://www.example.com/blog/ ---> http://www.example.com:8080/

ということがしたい。(コンパイル周りも少し手こずったのでそのうち書く)

リバースプロキシ

インストールできたら、VHなどなどを設定して8080とかのポートで上げる。WordPressもDocumentRootにDLして解凍しておく。ログにエラーが出ていないかなど、いろいろ確認して問題なければブラウザから接続。

http://www.example.com:8080/

これをhttp://www.example.com/blog/で見せたいので、稼働中の方のApacheにリバースプロキシの設定を入れる。

ProxyPass /blog/ http://www.example.com:8080/blog/
ProxyPassReverse /blog/ http://www.example.com:8080/blog/

ブラウザから確認、表示された。

http://www.example.com/blog/

WordPressの設定

DBを作って、WordPressのウィザードからインストールを実行して管理画面に入る。設定→一般→WordPress アドレス (URL)、サイトアドレス(URL)を見ると

http://www.example.com:8080/blog/

こうなってるので

http://www.example.com/blog/

と変える。そしてトップページにアクセス!すると残念なことに

http://www.example.com/

へリダイレクトされる。。。

解決

やはりリバースプロキシ配下で動かすことは無理なのか、と諦めつつ「reverse proxy wordpress」とかでググるとこんな記事を発見。

リバースプロキシ環境でのwordpressの設置 – position:absolute; | 株式会社スクイズ研究所

ブログのURLなどはHTTP_HOSTを参照して設定するため、アプリケーションサーバーのhost名がそのブログのHOST名になってしまいますし、他にもざっと見ですが8か所ほどHTTP_HOSTを参照している部分があるので、インストール時以外にもなんらかの対応を施す必要があります。

なるほどー。ということでwp-config.phpに下記を追加したところ、無事に動作した。

$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];

「クリティカルな影響がないとは言い切れません」という注意付きですが、ひと通り見てとりあえず問題はなさそう。とても助かりました。

neobundleでvimプラグイン管理

vundleとgithub

vundleでvimプラグイン管理を書いた後、git cloneするときに困ったことがあった。

  1. vundleをsubmoduleとして導入する
  2. vundleでインストールしたvimプラグインたちは.vim/bundle内に入る
  3. その状態でgit commit -> git pushする
  4. .vim/bundle/以下のファイルがgithub上に上がる
  5. 他の環境でgit pullすると、vundle以外のプラグインはsubmodule扱いにならない
  6. .gitmodulesにもvundle以外のプラグインの記述はされない

特にこれでも支障はないんだけど、なんか気持ち悪いので、.vim/bundle以下に.gitignoreを置いて、vundle以外はgithub管理から外した。vimプラグインはvundleに任せる感じ。面倒だけどgit cloneしたら、最初にviを開いて:BundleInstallを実行する必要がある。入れたいプラグインは.vimrcに書いてあるからいきなり実行してもOK。しかし、dotfilesをgithubで管理してて、同時にvimプラグイン管理ツールを使う時って何がベストなんだろう?

neobundle

それとは別の経緯で、いろいろ調べてる時に知ったのがneobundleneocomplcacheとかunite.vimの作者のShougo氏がvundleをリメイクし、昨年9月にリリースされたもの。一番のポイントは、「unite.vimインターフェイスの実装」とのことで、とても良さそうだったので切り替えてみた。

Hack #238: neobundle.vim で plugin をモダンに管理する

依存関係とかもあって、今の.vimrcのNeoBundle部分はこんな感じになった。

NeoBundle 'Shougo/neobundle.vim'
NeoBundle 'Shougo/vimproc'
NeoBundle 'Shougo/vimshell'
NeoBundle 'Shougo/unite.vim'
NeoBundle 'Shougo/neocomplcache'
NeoBundle 'tomasr/molokai'

unite.vimも勉強したいなー。

ImageMagick 6.7 + PECL::imagickのインストール

ImageMagick 6.6 系のときはこんなことなかった気がするんだけど、 PECL::imagick のインストールがこける。こちらの記事を見つつも、微妙に環境が違うし、 /usr/bin/php-config とか編集したくないし、何か別の方法があるはずと思って探ってみた。

[PHP]Imagickのインストールエラーの対処法 – DQNEO起業日記
PHP 拡張モジュールImagickの導入時に遭遇したPECLのバグの回避策など – r_nobuホームページ

とりあえず現状

# uname -orm
2.6.18-238.el5 x86_64 GNU/Linux

# cat /etc/issue
CentOS release 5.7 (Final)
Kernel \r on an \m

ここから最新のsrcをDL。ImageMagick: Downloads

# cd /usr/local/src/
# wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/ImageMagick-6.7.5-6.tar.bz2
# tar vxjf ImageMagick-6.7.5-6.tar.bz2
# cd ImageMagick-6.7.5-6

- perlで使うかもしれないので
# ./configure --prefix=/usr/local/ImageMagick --with-perl

# make && make install

# cd /usr/local/bin
# ln -s /usr/local/ImageMagick/bin/* .

ここまではいい。

# pecl install imagick

すると

downloading imagick-3.0.1.tgz ...
Starting to download imagick-3.0.1.tgz (93,920 bytes)
.....................done: 93,920 bytes
13 source files, building
running: phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
Please provide the prefix of Imagemagick installation [autodetect] :
building in /var/tmp/pear-build-rootoxvYzf/imagick-3.0.1
running: /var/tmp/imagick/configure --with-imagick=/usr/local/ImageMagick
checking for egrep... grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking for C compiler default output file name... a.out
.
.
.
checking for gawk... gawk
checking whether to enable the imagick extension... yes, shared
checking whether to enable the imagick GraphicsMagick backend... no
checking ImageMagick MagickWand API configuration program... found in /usr/local/ImageMagick/bin/MagickWand-config
checking if ImageMagick version is at least 6.2.4... found version 6.7.5 Q16
checking for MagickWand.h header file... found in /usr/local/ImageMagick/include/ImageMagick/wand/MagickWand.h
checking PHP version is at least 5.1.3... yes. found 5.3.3
Package MagickWand was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickWand.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickWand' found
Package MagickWand was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickWand.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickWand' found
.
.
.
checking if f95 supports -c -o file.o... yes
checking whether the f95 linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
configure: creating ./config.status
config.status: creating config.h
running: make
/bin/sh /var/tmp/pear-build-rootoxvYzf/imagick-3.0.1/libtool --mode=compile cc -I. -I/var/tmp/imagick -DPHP_ATOM_INC -I/var/tmp/pear-build-rootoxvYzf/imagick-3.0.1/include -I/var/tmp/pear-build-rootoxvYzf/imagick-3.0.1/main -I/var/tmp/imagick -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /var/tmp/imagick/imagick_class.c -o imagick_class.lo
mkdir .libs
cc -I. -I/var/tmp/imagick -DPHP_ATOM_INC -I/var/tmp/pear-build-rootoxvYzf/imagick-3.0.1/include -I/var/tmp/pear-build-rootoxvYzf/imagick-3.0.1/main -I/var/tmp/imagick -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /var/tmp/imagick/imagick_class.c -fPIC -DPIC -o .libs/imagick_class.o
In file included from /var/tmp/imagick/imagick_class.c:21:
/var/tmp/imagick/php_imagick.h:49:31: error: wand/MagickWand.h: No such file or directory
In file included from /var/tmp/imagick/imagick_class.c:22:
/var/tmp/imagick/php_imagick_defs.h:72: error: expected specifier-qualifier-list before 'MagickWand'
/var/tmp/imagick/php_imagick_defs.h:80: error: expected specifier-qualifier-list before 'DrawingWand'
/var/tmp/imagick/php_imagick_defs.h:86: error: expected specifier-qualifier-list before 'PixelIterator'
/var/tmp/imagick/php_imagick_defs.h:98: error: expected specifier-qualifier-list before 'PixelWand'
.
.
.

あとはずっとエラーの嵐。しょうがないからメッセージを1行ずつ読んでいく。とりあえずエラーの嵐の直前で

/var/tmp/imagick/php_imagick.h:49:31: error: wand/MagickWand.h: No such file or directory

と言ってる。が、ちゃんとこれは

/usr/local/ImageMagick/include/ImageMagick/wand/MagickWand.h

にある。さらに上の方を見ると

Package MagickWand was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickWand.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickWand' found

って言ってるので、MagickWand.pcがある場所にパスが通ってないらしい。

# echo $PKG_CONFIG_PATH

たしかに空。 MagickWand.pcがあるディレクトリを探して

# updatedb
# locate MagickWand.pc
/usr/local/ImageMagick/lib/pkgconfig/MagickWand.pc
/usr/local/src/ImageMagick-6.7.5-6/wand/MagickWand.pc
/usr/local/src/ImageMagick-6.7.5-6/wand/MagickWand.pc.in

ってことで追加してみる。

# export PKG_CONFIG_PATH=/usr/local/ImageMagick/lib/pkgconfig
# pecl install imagick

入った。

# ls -la /usr/lib64/php/modules/imagick.so
-rw-r--r-- 1 root root 1132254 Feb 16 00:00 /usr/lib64/php/modules/imagick.so

# pecl list
INSTALLED PACKAGES, CHANNEL PECL.PHP.NET:
=========================================
PACKAGE VERSION STATE
imagick 3.0.1 stable

あとは反映、確認

# echo extension=imagick.so > /etc/php.d/imagick.ini
# /etc/init.d/httpd restart
# php -i | grep imagick
imagick
imagick module => enabled
imagick module version => 3.0.1
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator
imagick.locale_fix => 0 => 0
imagick.progress_monitor => 0 => 0