CentOS 6.0へのOpenQRMのインストール

公式ページのドキュメントにはパッケージインストールの手順が書かれていたが、最新バージョンのパッケージが無かったので、ソースからビルドしてみた。
すべてrootでの作業。

ソースをダウンロード、展開

# wget http://sourceforge.net/projects/openqrm/files/openQRM-4.8/openqrm-4.8.tgz/download
# tar xzvf openqrm-4.8.tgz
# cd openqrm-4.8/src

INSTALLを読む、ビルド設定

doc/INSTALLを読むと、etc/openqrm-server.confをいじると色々変えられるよーと書いてある。

OPENQRM_SERVER_BASE_DIR=/usr/local/openqrm-4.8
OPENQRM_RESOURCE_BASE_DIR=/usr/local/openqrm-4.8

の二カ所を変更。

手順

INSTALLを読んだところ、rpmを作る方法もあるようだが、とりあえず難しいことは考えず、/usr/local以下に専用ディレクトリを掘ってインストールすることにする。
この場合、INSTALLによると、make → make install → make start になる。(と思う。)
make checkの役割がイマイチ不明だったのだが、Makefileを斜め読みしたところ、LAMP等の依存パッケージを入れてくれるターゲットで、make startしたときにも呼ばれるみたいなので、make → make install → make check → make start の順に実行してみることにする。

make

# make

すると途中で止まる。

ERROR: Could not download DMC-applet from 
make[2]: *** [compile] エラー 1
/bin/sh: line 0: cd: ./aoe-storage: そのようなファイルやディレクトリはありません
/bin/sh: line 0: cd: ./wakeuponlan: そのようなファイルやディレクトリはありません
/bin/sh: line 0: cd: ./vmware-server: そのようなファイルやディレクトリはありません
/bin/sh: line 0: cd: ./puppet: そのようなファイルやディレクトリはありません
/bin/sh: line 0: cd: ./collectd: そのようなファイルやディレクトリはありません
/bin/sh: line 0: cd: ./cloud: そのようなファイルやディレクトリはありません
/bin/sh: line 0: cd: ./novnc: そのようなファイルやディレクトリはありません
/bin/sh: line 0: cd: ./kvm: そのようなファイルやディレクトリはありません
/bin/sh: line 0: cd: ./nfs-storage: そのようなファイルやディレクトリはありません
/bin/sh: line 0: cd: ./local-storage: そのようなファイルやディレクトリはありません
/bin/sh: line 0: cd: ./dns: そのようなファイルやディレクトリはありません
/bin/sh: line 0: cd: ./xen-storage: そのようなファイルやディレクトリはありません
/bin/sh: line 0: cd: ./zabbix: そのようなファイルやディレクトリはありません
make[1]: *** [all] エラー 1
/bin/sh: line 0: cd: ./tftpboot: そのようなファイルやディレクトリはありません
make: *** [compile] エラー 1

DMC-appletが404らしい。
ググってみると
http://sourceforge.net/tracker/?func=detail&aid=3295326&group_id=153504&atid=788031
というチケットを発見。
これに書いてある通り、
plugins/drbdmc/etc/build.conf/drbdmc.conf
を開き、

OPENQRM_SOURCE_DOWNLOAD="http://oss.linbit.com/drbd-mc/DMC-applet-$OPENQRM_SOURCE_VERSION.jar"

OPENQRM_SOURCE_DOWNLOAD="http://oss.linbit.com/drbd-mc-old/DMC-applet-$OPENQRM_SOURCE_VERSION.jar"

と編集する。
もう一回make。
するとまた404になる箇所が。

ERROR: Could not download dropbear from 
make: *** [initrd] エラー 1

恐らく上と同じ原因だろう。
404になったURL
http://matt.ucc.asn.au/dropbear/dropbear-0.52.tar.gz
のサイトを色々見てみると、どうやら最新の0.53がリリースされており、0.52は
http://matt.ucc.asn.au/dropbear/releases/dropbear-0.52.tar.gz
に移動されている。
最新版を使うか0.52を使うか迷うところだが、ここは0.52を使う事にする。

# grep -r "http://matt.ucc.asn.au/dropbear/dropbear" .

してURLが出てくる場所を調べると

./etc/build.conf/dropbear.conf:OPENQRM_SOURCE_DOWNLOAD="http://matt.ucc.asn.au/dropbear/dropbear-$OPENQRM_SOURCE_VERSION.tar.gz"

と出たので、
etc/build.conf/dropbear.confを編集し、

OPENQRM_SOURCE_DOWNLOAD="http://matt.ucc.asn.au/dropbear/dropbear-$OPENQRM_SOURCE_VERSION.tar.gz"

OPENQRM_SOURCE_DOWNLOAD="http://matt.ucc.asn.au/dropbear/releases/dropbear-$OPENQRM_SOURCE_VERSION.tar.gz"

に編集してmake。
なんか終わったっぽい。

make install

# make install

インストールディレクトリを見ると、
/usr/local/openqrm-4.8/openqrm
みたいな感じでディレクトリが入れ子になってしまったが、まあよしとする。

make check

# make check
Checking the requirements for RedHat based systems ...
openqrm-server requires: httpd, php, php-mysql, php-soap, mod_ssl, mysql, mysql-server, syslinux, screen, procmail, openssl

みたいに表示された後、必要なソフトウェアをyumでごりごりインストールし始める。
しかし途中でエラー。

No package collectd available.
Error: Nothing to do
ERROR: collectd could not be installed. Please install manually to continue
make: *** [check] エラー 1

ググってみると、EPELで提供されているパッケージのようなので、EPELを使用可能にする。

rpm -ivh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm

その後再度make checkで問題なく終了。
念のためEPELリポジトリはenable=0にしておく。
(collectd以後のインストールにEPELが使われてしまったかもしれない。)

make start

# make start

make checkが走ってから、初期化が始まる。

Starting httpd: httpd: apr_sockaddr_info_get() failed for hypervisor
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]
First startup detected. Running initialization.
 Looking for syslinux/pxelinux.0...found: /usr/share/syslinux/pxelinux.0
 Creating custom apache config.../etc/httpd/conf.d/openqrm-httpd.conf
 Checking /usr/local/openqrm-4.8/openqrm/etc/openqrm-server[FAILED]r OPENQRM_WEB_PROTOCOL=https..Reloading httpd: 
Adding password for user openqrm
 Initializing dropbear...
Will output 1024 bit rsa secret key to '/usr/local/openqrm-4.8/openqrm/etc/dropbear/dropbear_rsa_host_key'
Generating key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwCLYzJDFIxiek7XDatfFCrZTht+hoUjJZlJ7ygb+U5qy3+tlx5RMr2U7BaMPr223/jga9vGWQMv560EU+MW/1mN0o5saSPupiFzBnNnHEj1OcNyddCdztzfClk/dn9bTyjJ3aOL8HESyr+a+t0H5hOAxksx4TEZcfNCzBso1vpDO28t root@hypervisor
Fingerprint: md5 a0:b3:a0:ff:11:40:6c:a8:44:ea:4b:ca:4b:0c:16:71
  Adding public key to /root/.ssh/authorized_keys...

Starting the openQRM-server ver. 4.8.

Initialization complete. Please configure your openQRM Server at: http://192.168.1.100/openqrm/
-> User: openqrm  -> Password: openqrm

なんか[FAILED]の文字が見えるが、一応立ち上がった模様。
URLにアクセスするとブラウザに設定ウィザードが表示される。