jabberd2のインストール

提供: Akionux-wiki
Share/Save/Bookmark
移動: 案内検索

概要

jabberd2XMPPサーバーの一つ。

テスト環境

Slackware Linux x86_64 14.1にてSlackBuildsを用いてインストールを行なった。

インストール

SlackBuildsより

  • network/jabberd2
    • network/udns
    • libraries/libgsasl

をインストール。

network/jabberd2をインストールする際にjabberユーザーおよびグループの作成が必要:

sudo /usr/sbin/groupadd -g 275 jabber
sudo /usr/sbin/useradd -u 275 -g jabber jabber

基本設定

[1]に従えばよいと思われる。

/etc/jabberd2/sm.xmlの80行目辺りのidタグにホスト名を入れる:

<id>host.yourdomain.net</id>

同様に/etc/jabberd2/c2s.xmlの141行目辺りのidにもホスト名を入れる:

<id register-enable='mu'>host.yourdomain.net</id>

多くの場合はストレージも認証も同じパッケージを使うだろうから、それぞれのデータベースの設定項目を参照する。

SlackBuildsからインストールした場合、/usr/doc/jabberd2-2.2.17/tools以下にデータベースの設定スクリプトが置かれているので、そこへ移動して実行する。

cd /usr/doc/jabberd2-2.2.17/tools
mysql -u root -p
MariaDB [(none)]> \. db-setup.mysql

続いてユーザーjabberd2に権限を与える。secretの部分にはjabberd2ユーザーへのパスワードを入力

MariaDB [jabberd2]>  GRANT select,insert,delete,update ON jabberd2.* 
to jabberd2@localhost IDENTIFIED by 'secret';
quit

jabberd2がデフォルトで探しにいく/tmp/mysql.sockにmysqlのソケットのリンクを張る

sudo ln -s /var/run/mysql/mysql.sock /tmp/mysql.sock

/etc/jabberd2/sm.xmlの93行目辺りにあるdriverをmysqlにする。

<driver>mysql</driver>

userおよびpassにデータベースのユーザー名とパスワードを入れる

      <!-- Database username and password -->
      <user>jabberd2</user>
      <pass>secret</pass>

次に/etc/jabberd2/c2s.xmlを同じように編集する。 moduleをmysqlにする

    <!-- Backend module to use -->
    <module>mysql</module>

userおよびpassにデータベースのユーザー名とパスワードを入れる

          <!-- Database username and password -->
          <user>jabberd2</user>
          <pass>secret</pass>
  • SSLの設定

28行目辺りのpemfileのコメントアウトを外して、秘密鍵と認証鍵を含むchainファイルのパスを入れる

  <pemfile>/etc/letsencrypt/live/yourdomain.net/chain.pem</pemfile>

古いバージョンのjabberdはポート5223でSSL接続を使うらしく、このポートを有効化する場合はssl-portのコメントアウトを外す

    <ssl-port>5223</ssl-port>

idでも先程のpemファイルのパスをpemfileで指定、さらにSTARTTLSを強制する場合はrequire-starttls='yes'を入れる。

   <id pemfile='/etc/letsencrypt/live/akionux.net/chain.pem' require-starttls='yes'>akionux.net</id>
  • 管理者の設定

/etc/jabberd2/sm.xmlを編集し、jidに管理者ユーザー名@ホスト名を入れる。

    <acl type='all'>
      <jid>admin@akionux.net</jid>
    </acl>

サーバーのテスト

jabberユーザーで試しに起動してみる:

sudo su jabber
cd /usr/bin/
./jabberd

起動

起動スクリプトを実行できるようにする:

sudo chmod u+x /etc/rc.d/rc.jabberd2

起動スクリプトを実行する:

sudo /etc/rc.d/rc.jabberd2

クライアント

Jabber/XMPPクライアント不完全リストなどを参考。

  • network/psi

References

  1. InstallGuide BasicConfiguration · jabberd2/jabberd2 Wiki https://github.com/jabberd2/jabberd2/wiki/InstallGuide-BasicConfiguration