ejabberdで部内IM
- テスト環境
- CentOS5 テスト用最小インストール手順参照。
概要
今の社内にはチャット的なものがなくて、しょうもないこともメールでやり取りしたりしてるので、チャットシステムを導入してもちょっと円滑なコミュニケーションを図ろうという計画。
IRCが一番いいかなと思ったのだけど、IRCはちょっと初心者には難しいかなというのと、最近はIMに慣れている人も多いということで、ejabberdを使ってみる。
手順
EPELの有効化
ejabberdのパッケージがEPELに存在するのでそれを使う。
# wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm # rpm -ivh epel-release-5-2.noarch.rpm # vi /etc/yum.repos.d/epel.repo
一応無効化。
[epel] ・・・ enabled=0 ・・・ [epel-debuginfo] ・・・
ejabberdのインストール
# yum install ejabberd --enablerepo=epel,epel-testing
ejabberdの設定
ejabberdの設定ファイルは/etc/ejabberd/ejabberd.cfg なのでこれを設定する。 まず念のためオリジナルをバックアップしておく。 {{[ # cp -pi /etc/ejabberd/ejabberd.cfg /etc/ejabberd/ejabberd.cfg.ORG }}} 編集する
# vi /etc/ejabberd/ejabberd.cfg
編集箇所はとりあえず以下。
override_global.
override_local.
override_acls.
・・・
{hosts, ["chat.cafechantant.com"]}.
・・・
{language, "ja"}.
hostsの箇所はある意味なんでもよいけど、認証時のドメインになるので適当なものを指定すること。 languageは多分動作しない(爆)けど一応。
とりあえずこれだけでも動くけど、このままだと通信が暗号化されないのでSSL証明書を作成して暗号化する。
# cd /etc/ejabberd # openssl req -new -x509 -newkey rsa:1024 -days 3650 -keyout privkey.pem -out ejabberd.pem
/etc/ejabberd配下で公開鍵をejabberd.pemというファイル名で作成しているのは、元々ejabberd.cfgにはSSL設定はあるのでそれに合わせている。設定はあるんだけどファイル自体がないから暗号化されないというわけ。
あと、注意としてCommonName?にはjabberで使うドメインを指定すること。
パスフレーズを抜く
# openssl rsa -in privkey.pem -out privkey.pem
秘密鍵と公開鍵を一つにまとめる。まとめたら秘密鍵はもう不要なので削除。
# cat privkey.pem >> ejabberd.pem # rm privkey.pem # chown root:ejabberd ejabberd.pem # chmod 640 ejabberd.pem
起動
# chkconfig ejabberd on # service ejabberd start
確認
# ejabberdctl ejabberd@chat status Node ejabberd@chat is started. Status: started ejabberd is running <-- 動いていることがわかる。

