【OpenRD Ultimate】IRC bot導入

OpenRDは24時間稼働で、IRCdを動かしているが、普段使っているDell Studio 1558は夏場の灼熱地獄に耐えられないだろうから、昼間は電源を切っている。

その間、IRCは動いているが、見れないので、botを導入した。
ちょいと検索をかけたらIRCbot Consoleといういいのがあった。

JREが必要なので、OpenRDに環境を整える。
Xは動かしていないので、JREの headless を入れる

noizumi@silverfox:~/ircbot_console-1.2$ sudo aptitude install default-jre-headless
The following NEW packages will be installed:
ca-certificates-java{a} default-jre-headless icedtea-6-jre-cacao{a}
java-common{a} liblcms1{a} libnspr4-0d{a} libnss3-1d{a}
openjdk-6-jre-headless{a} openjdk-6-jre-lib{a} tzdata-java{a}
0 packages upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 31.8 MB of archives. After unpacking 86.0 MB will be used.
Do you want to continue? [Y/n/?]

で、IRCは irc のユーザで動作しているので、IRCbot Consoleも同じirc権限で動作させる。

ホームディレクトリの .ircbot にログとか保存するので、ホームディレクトリを /home/irc へ変更する。これは起動時の環境変数でも指定できるが、後々データ移行をする場合、/home 以下にあった方が都合がよい。

noizumi@silverfox:/home$ sudo mkdir irc
noizumi@silverfox:/home$ sudo chown irc.irc irc

ホームディレクトリ変更に、ngircd が irc のユーザで動作していると、irc ユーザがログインしているので変更できないと拒否されるので、変更するには、一旦IRCdを止める。

noizumi@silverfox:/home$ sudo service ngircd stop
Stopping Next generation IRC daemon: ngircd.
noizumi@silverfox:/home$ sudo /usr/sbin/usermod -d /home/irc irc

irc 権限で、 irc のホームディレクトリへ IRCbot console を配置する。

noizumi@silverfox: /home$ su –
noizumi@silverfox:~# cd /home/irc
noizumi@silverfox:~# su irc
$ mkdir /home/irc/ircbot_console-1.2
$ unzip ircbot_console-1.2.zip -d /home/irc/ircbot_console-1.2
$ ln -s ircbot_console-1.2 ircbot_console

で、起動するには手っ取り早く /etc/rc.local に

cd /home/irc/ircbot_console && su -c “./startup.sh >/dev/null 2>&1 &” irc

と書いて、起動時に irc のユーザ権限で IRCbot console を動かす。

即座に動かすには、とりあえず、root権限で
sh /etc/rc.local

と実行して、8080 ポートへブラウザでアクセスすると、設定画面を見る事ができる。IRCbot console 自体にアクセス制御が無いので、外からアクセスさせない為には ipchains などで8080 ポートへのアクセスを制限しないといけないので、そこは注意が必要。