海の響きを懐かしむ

観たもの聴いたもの読んだものの記録と、日記など

jabberd2でIPv6に対応したXMPPサーバを構築する

【reference】

  1. http://devdoodles.wordpress.com/2009/03/19/installing-jabberd2-and-mysql-on-ubuntu-810/
  2. http://mailman.jabber.org/pipermail/jadmin/2008-March/153148.html

以前使っていたXMPPサーバ用のミドルウェアであるOpenfireは、導入が簡単な代わりにすべての設定をwebコンソールから行わないといけないという欠点がある。できればCUIでターミナルから操作できるようにするため、jabberd2を用いる方法に切り替えることにした。OSは以前と同じくUbuntu 10.04 LTSで、ネットワーク的にはIPv6のアドレスとIPv4のプライベートアドレスがそれぞれついているという状態である。jabberd2はC言語で記述されていて、今回はapt-getで入れてしまったけれども、ソースのコンパイルから行うこともできる。(ちなみにOpenfireはJavaで書かれている)

やり方は基本[1]に沿って、MySQL-serverをインストールし設定をしたのち、jabberd2をインストールする。
設定ファイルである/etc/jabberd2以下にある二つのファイル(sm.xml, c2s.xml)に、名前情報とstorage,authentificationの情報を書き加える。これで使えるが、今回IPv6で接続性を持たせる必要があったので、その設定を行う。

まず

  • netstat -an

で、そのホストの空いているポートの詳細名情報を見ることができる。するとXMPPのポートである5222番が、デフォルトではtcpでv4にしかついていないことがわかるので、[2]に習い、/etc/jabberd2/c2s.xmlタグを以下のようにv6に書き換えてあげる。

  • 0.0.0.0 -> ::
  • sudo /etc/init.d/jabberds restart

し、再度netstatすると以下のようになっているはずだ。

  • tcp6 0 0 :::5222 :::* LISTEN

これでIPv6の接続性があるところなら、XMPPサーバにログインすることができるようになる。

jabberd2のそのほかの設定や、SQL文についてはまだほとんどなにもわからないので次回に。