Ключевые слова:icq, jabber, openbsd, ssl, (найти похожие документы)
From: Mike Belopuhov <mkb@cvs.hnet.spb.ru.>
Date: Mon, 16 Mar 2005 18:21:07 +0000 (UTC)
Subject: Установка jabberd
Оригинал: http://openbsd.hnet.spb.ru/jabberd.html
Разборки с 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 дней и его придется создать заново.