第一回 一人 ejabberd 勉強会

環境

ejabberd

erlang で書かれた jabber サーバです。
twitter でも使われていたりとなかなか素敵。

バイナリ版はスルー

ソース版を落としてきます。
ちなみにバイナリ版では動作確認済み。

http://www.process-one.net/downloads/ejabberd/2.0.0-beta1/ejabberd-2.0.0-beta1.tar.gz

erang R12B-0 で ejabberd 2.0.0 beta はコンパイル出来ません。

ejabberd 2.0.0-beta1 released (updated) | ejabberd Community Site
http://www.ejabberd.im/ejabberd-2.0.0-beta1#comment-51550

ということでとりあえずパッチを当てちゃいます。

https://support.process-one.net/browse/EJAB-446

当てるとさくっと通ります。

$ ./configure --prefix=/usr/local/ejabberd-2.0.0
$ make
$ sudo make install

次に、管理者を登録します。
まずは ejabberdcrl を使ってユーザを登録して、
そのユーザを ejabberd.cfg にて管理者に仕立て上げます。

$ cd /usr/local/ejabberd-2.0.0
$ sudo ./sbin ejabberdctl register admin localhost password

登録したら設定ファイルで管理者に仕立て上げます。

$ sudo vim ./etc/ejabberd/ejabberd.cfg

311 行目あたりのコメントアウトを外して、
ちょこちょこっと書き換えてください。

{acl, admin, {user, "admin", "localhost"}}.

これで準備は出来ました。
まずは起動してみましょう。

$ sudo ./sbin/ejabberdctl start

なにも言われなければ起動しています。
不安ならプロセス見てみて起動しているか確認してください。

ps -xa | grep erlang

さて、ここまできたら Web 管理画面に入ってみましょう。

http://localhost:5280/admin/

パスワードは ejabberdctl register ときの password の部分に入れたものです。

ejabberd 1
ejabberd 1 posted by (C)voluntas

この画面が見えたら成功です。

そうしたら Virtual Hosts をクリックしてください。

ejabberd 2
ejabberd 2 posted by (C)voluntas

そのなかの localhost をクリックしてください。

ejabberd 3
ejabberd 3 posted by (C)voluntas

ここでサーバの細かい設定をします。
ここではまずはユーザを追加してみましょう。

Users をクリックします。

ejabberd 4
ejabberd 4 posted by (C)voluntas

User を適当に追加します。パスワードは忘れないようにしてください。

ejabberd 5
ejabberd 5 posted by (C)voluntas

追加されると下に保存されます。

ejabberd 6
ejabberd 6 posted by (C)voluntas

さて、ここからは Jabber クライアントに実際登録してみましょう。
ここでは Adium を使ってアカウントを追加してみます。

ejabberd 7
ejabberd 7 posted by (C)voluntas

サーバーを設定します。

ejabberd 8
ejabberd 8 posted by (C)voluntas

そしてログインして online と表示されれば無事接続できています。

ejabberd 9
ejabberd 9 posted by (C)voluntas

これだとちょっと切ないので、もう一人ユーザを追加します。

ejabberd 10
ejabberd 10 posted by (C)voluntas

ejabberd 11
ejabberd 11 posted by (C)voluntas

さて、ここでどちらかのコンタクトリストにもう一方を追加してみましょう。

ejabberd 12
ejabberd 12 posted by (C)voluntas

追加すると登録許可しますか?と聞かれるので許可してください。

ejabberd 13
ejabberd 13 posted by (C)voluntas

自作自演なので変な感じがしますが、気にしないでください。

さてさっそく会話してみましょう。
まずコンタクトリストに登録して、オンラインになってることを確認します。

ejabberd 14
ejabberd 14 posted by (C)voluntas

メッセージを送ってみましょう。

eabberd 15
eabberd 15 posted by (C)voluntas

ejabberd 17
ejabberd 17 posted by (C)voluntas

タブが出来てもう一つの人が話しかけてきたら成功です。
自作自演。

ejabberd 16
ejabberd 16 posted by (C)voluntas

とりあえずこれでローカルホストの中では出来ました。

感想

かなり簡単です。何も気にせず使うことが出来ます:-)
コンパイルが面倒な人はバイナリを使えば同じようなことが簡単にできます。

皆さんもお試しください。
特に社内用メッセンジャーサーバとしては文句ないのではないでしょうか。

今後の予定

  • 通信を暗号化してみましょう
  • ローカルホストではなく外に公開してみましょう
  • 情報を内部ではなく LDAP にしてみましょう(LDAP + StartTLS はまだ非対応