Установка jabberd (icq jabber openbsd ssl)

Материал из support.qbpro.ru

Разборки с jabberd

  Содержание:

    * Установка jabberd
    * Jabber и SSL


Установка jabberd

  Внимание: эта заметка писалась давно и посему на OpenBSD 3.5, собраный
  таким образом, jabberd работать не будет. Чего-то они там с dlfcn(3)
  намутили. Для свежих версий будет(?) сделан порт.
  Эта заметка о том как установить jabberd 1.4 
  (http://jabberd.jabberstudio.org/1.4/) на OpenBSD. Как известно, в портах 
  он не наблюдается.
  Я устанавливал jabberd 1.4.3. Потребовалось также установить GNU make
  и GNU Portable Threads (pth). Если GNU make все знают, то pth
  упоминается далеко не так часто. Берется он в портах:
  /usr/ports/devel/pth (http://www.gnu.org/software/pth/). После установки pth,
  переходим к разборке с jabberd.
  Распакуем tarball и перейдем в директорию с исходниками. Применим патч
  jabberd.patch (http://openbsd.hnet.spb.ru/files/patches/jabberd.patch).
       $ patch -p0 -i jabberd.patch


  Сконфигурируем, соберем и проинсталлируем jabberd. В ходе
  конфигурирования возможно изменять два параметра: собирать с SSL
  (`--enable-ssl', рекомендуется) и поддерживать IPv6 (`--enable-ipv6',
  по желанию).
       $ ./configure --enable-ssl [--enable-ipv6]
       $ gmake
       # gmake install


  Создадим группу и пользователя, от которого будет работать jabberd:
       # groupadd _jabberd
       # useradd -g _jabberd -d /var/jabber -c "Jabber daemon" \
           -s /sbin/nologin _jabberd


  Необходимо также назначить директории для спулинга необходимые права
  доступа:
       # chmod 700 /var/jabber


  Внеся необходимые изменения в /etc/jabber.xml (среди которых основные
  это замена `localhost' на имя вашего хоста и установка IP адреса в
  опции <ip>), запустим сервис:
       # su -f -m _jabberd -c "/usr/local/sbin/jabberd \
           -B -c /etc/jabber.xml" >/dev/null 2>&1


  Сделаем сервис запускаемым по умолчанию. Для этого отредактируйте Ваш
  /etc/rc.local, добавив следующее (желательно до строки, содержащей
  `echo '., дабы не сбить оригинальное форматирование при выводе):
       if [ -x /usr/local/sbin/jabberd ]; then
               echo -n ' jabberd';   su -f -m _jabberd -c \
                       "/usr/local/sbin/jabberd -B -c /etc/jabber.xml" \
                       >/dev/null 2>&1
       fi


Jabber и SSL

  Дружба jabber и SSL позволяет вести "непрослушиваемые" беседы. Если Вы
  собрали jabberd с поддержкой SSL (как это было рекомендовано в
  заметке), то осталось лишь создать SSL сертификат и дать знать об этом
  jabberd. Создадим X.509 сертификат со сроком действия 2 месяца (60
  дней) и уберем из него ключевую строку:
       $ openssl req -new -x509 -newkey rsa:1024 \
               -days 60 -keyout privkey.pem -out key.pem
       $ openssl rsa -in privkey.pem -out privkey.pem


  Объединим приватный ключ и сертификат и удалим остатки:
       $ cat privkey.pem >>key.pem
       $ rm privkey.pem


  Поместим сертификат в место, доступное jabberd:
       # mkdir -m 500 /var/jabber/cert
       # chown _jabberd._jabberd /var/jabber/cert
       # mv key.pem /var/jabber/cert
       # chown _jabberd._jabberd /var/jabber/cert/key.pem
       # chmod 400 /var/jabber/cert/key.pem


  Теперь очередь настроить jabberd. Отредактируем файл /etc/jabber.xml,
  добавив необходимые записи в секциях <ssl> (их две):
       <ssl port='5223'>192.168.0.1</ssl>


  и
       <ssl>
       <key ip='192.168.0.1'>/var/jabber/cert/key.pem</key>
       </ssl>


  Вот вроде и все, что тут можно было сказать. Осталось напомнить, что
  сертификат устареет через 60 дней и его придется создать заново.

ИСТОЧНИК: