OpenBlockS266+Lenny(PowerPC)に、Ultramonkey-l7をいれる
http://d.hatena.ne.jp/Guutara/20091009/p1
ここでインストールした奴に、何をさせようか考えたのですが、
ロードバランサをいれてみたら面白いと思ったので、挑戦してみました。
試行錯誤の結果をまとめたので、間違いもあるかもしれません。
後日、もう一度、試してみる予定です。
<カーネル>
カーネルは、2.6以上ならば大丈夫そうです。
ただ、今回カーネルパッケージは、新しいのを入れてしまいました。
OpenBlockS266は、再構築するにはFlashを書き換えないとならないので、
新しいカーネルでの起動はできませんでした。
aptitude install linux-image-2.6.26-2-powerpc
途中で、2回、画面で質問されますが、両方ともNで行いました。
<ダウンロードしておくもの>
インストールマニュアルにある以下の3つです。
apr-1.2.12
apr-util-1.2.12
log4cxx-0.10.0
ultramonkey-l7-2.1.3-0
<ライブラリなどパッケージのインストール>
aptitude install libglib2.0-dev pkg-config automake g++
aptitude install libapr1-dev libaprutil1-dev
aptitude install make
aptitude install libtool
aptitude install libwww-perl libcrypt-ssleay-perl libnet-ssleay-perl libio-socket-ssl-perl libmail-imapclient-perl libnet-ldap-perl libnet-dns-perl
aptitude install libboost-dev
<ソースの修正>
log4cxxを展開したら、以下の3つのcppに
src/main/cpp/inputstreamreader.cpp
src/main/cpp/socketoutputstream.cpp
src/examples/cpp/console.cpp
#include
を1行追加します。
<手順>
最初に、カーネルパッケージを入れました。これは、不要な気もしますが、今回は入れてしまったので。。
つぎに、ライブラリなどのパッケージのインストールをします。
上記の記述の順番で、入れました。
次に、
apr-1.2.12
apr-util-1.2.12
log4cxx-0.10.0
の順番で、展開からインストールまで行います。
LinuxServer:~# tar xvfz- apr-1.2.12.tar.gz LinuxServer:~# cd apr-1.2.12 LinuxServer:~/apr-1.2.12# ./configure --prefix=/usr LinuxServer:~/apr-1.2.12# make LinuxServer:~/apr-1.2.12# make install
LinuxServer:~# tar xvfz- apr-util-1.2.12.tar.gz LinuxServer:~# cd apr-util-1.2.12 LinuxServer:~/apr-util-1.2.12# ./configure --prefix=/usr --libdir=/usr/lib --with-apr=/usr LinuxServer:~/apr-util-1.2.12# make LinuxServer:~/apr-util-1.2.12# make install
log4cxxは、ソースの修正を忘れずに。
LinuxServer:~# tar xvfz- apache-log4cxx-0.10.0.tar.gz LinuxServer:~# cd apache-log4cxx-0.10.0 LinuxServer:~/apache-log4cxx-0.10.0# ./autogen.sh LinuxServer:~/apache-log4cxx-0.10.0# ./configure --prefix=/usr --libdir=/usr/lib LinuxServer:~/apache-log4cxx-0.10.0# make LinuxServer:~/apache-log4cxx-0.10.0# make install
ultramonkey-l7-2.1.3-0を展開からインストールします。
LinuxServer:~# tar zxvf ultramonkey-l7-2.1.3-0.tar.gz LinuxServer:~# cd ultramonkey-l7-2.1.3-0 LinuxServer:~/ultramonkey-l7-2.1.3-0# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var LinuxServer:~/ultramonkey-l7-2.1.3-0# make LinuxServer:~/ultramonkey-l7-2.1.3-0# make install
<インストール後>
インストールマニュアルとちがい、以下の場所に起動スクリプトがあります。
LinuxServer:~/ultramonkey-l7-2.1.3-0# ls /etc/rc.d/init.d/l7 l7directord l7vsd
起動すると、
LinuxServer:~/ultramonkey-l7-2.1.3-0# /etc/rc.d/init.d/l7vsd start Starting l7vsd: done. touch: cannot touch `/var/lock/subsys/l7vsd': No such file or directory
とでるので、デレクトリを作成して、再度起動。
LinuxServer:~/ultramonkey-l7-2.1.3-0# mkdir -p /var/lock/subsys/ LinuxServer:~/ultramonkey-l7-2.1.3-0# /etc/rc.d/init.d/l7vsd start l7vsd is running. LinuxServer:~/ultramonkey-l7-2.1.3-0# /etc/rc.d/init.d/l7vsd status l7vsd running with pid: 25752 LinuxServer:~/ultramonkey-l7-2.1.3-0# ps 25752 PID TTY STAT TIME COMMAND 25752 ? Ss 0:00 /usr/sbin/l7vsd -b
これで、無事、うごきます。(^^)
あとは、マニュアルどうりに、/etc/ha.d/conf/l7directord.cfを、
サンプルを参考に作成して
/etc/init.d/l7directord start
すれば、使えます。。
<感想>
うーん、久々に、面倒でした。
log4cxxは、testのパッケージがあるのですが、それを使うと、うまく行きませんでした。
コンパイルは、非常に時間がかかるので、やりたくはなかったんですが。(^^;;
結構、動作が軽いので、実験には良いと思いますよ。。