Установка 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 дней и его придется создать заново.
ИСТОЧНИК: