FastNetMon

Показаны сообщения с ярлыком Jabber. Показать все сообщения
Показаны сообщения с ярлыком Jabber. Показать все сообщения

четверг, 20 января 2011 г.

Установка OpenFire Jabber сервера на Debian 5 Lenny

Для начала идем на страницу: http://www.igniterealtime.org/downloads/index.jsp#openfire, напротив Openfire 3.6.4 щелкаем по Linux и далее выбираем ссылку: openfire_3.6.4_all.deb, вот прямая ссылка:
http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3.6.4_all.deb

Ставим JRE: http://phpsuxx.blogspot.com/2009/12/java-6-jre-debian-5-lenny.html

cd /usr/src
wget 'http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3.6.4_all.deb' -Oopenfire_3.6.4_all.deb
dpkg -i openfire_3.6.4_all.deb

В ответ будет выдано примерно следующее:
(Reading database ... 22629 files and directories currently installed.)
Unpacking openfire (from openfire_3.6.4_all.deb) ...
Setting up openfire (3.6.4) ...
adduser: Warning: The home directory `/var/lib/openfire' does not belong to the user you are currently creating.
update-rc.d: warning: /etc/init.d/openfire missing LSB information
update-rc.d: see
Starting openfire: openfire.

После этого открываем в браузере страницу:
http://ваш_внешний_ip:9090/setup/index.jsp

И там, выбираем язык - "Choose Language", Continue, Server Settings, оставляем стандартные значения (Admin Console Port: 9090, Secure Admin Console Port: 9091), Continue. Embedded Database, Continue. Profile settings - default, continue. После этого задаем пароль и почту администратора. Все, установка закончена, открываем в браузере http://ваш_внешний_ip:9090/login.jsp и входим админом.

четверг, 6 января 2011 г.

Как сделать собственный Jabber сервер на FastVPS.ru на базе Debian 5 Lenny?

Разве Вам, как продвинутому айтишнику, никогда не хотелось иметь свой собственный Jabber сервер на своем домене? Уверен, нет человека, которому бы не хотелось иметь JID вида admin@domain.ru :) Что же, это довольно просто!

Для осуществления мини мечты нам понадобится:
1. Домен второго уровня domain.ru добавленный в панель управления DNS по адресу https://ns3.fastvps.ru/manager
2. VPS или выделенный сервер с ОС Debian на FastVPS.ru
3. Немного терпения и сноровки :)

Итак, поехали!

Создание SRV записи на DNS для Jabber

Предполагаем, что на домене domain.ru у нас уже работают сайты. Поэтому, логинимся в панель ns3, выбираем нужный нам домен, щелкаем по нему дважды и входим в меню поддоменов. Далее нам нужно создать запись, которая будет указывать расположение нашего Jabber сервиса, для этого щелкаем по зеленому плюсу в верхнем углу панели. Тип ставим в "A", имя jabber (тогда полный адрес нашего Jabber сервера будет jabebr.domain.ru), а в поле "адрес" вписываем IP нашего сервера. После этого создаем три записи типа "SRV (сетевой сервис)" со следующими именами и портами:
_jabber._tcp 5269
_xmpp-server._tcp 5269
_xmpp-client._tcp 5222

Поля "Приоритет" и "Условный вес SRV-записи" выставляем в 0, а в поле адрес вписываем "jabber".

В конфиге named это будет выглядеть как:
_jabber._tcp IN SRV 0 0 5269 jabber
_xmpp-server._tcp IN SRV 0 0 5269 jabber
_xmpp-client._tcp IN SRV 0 0 5222 jabber

Через некоторое время, когда DNS обновится можно опционально проверить работу указанных записей извне:
host -t SRV _jabber._tcp.domain.ru
host -t SRV _xmpp-server._tcp.domain.ru
host -t SRV _xmpp-client._tcp.domain.ru

Итак, с DNS закончили, переходим к настройке демонов.

Установка Jabber сервера

Устанавливаем корректный hostname сервера:
echo "domain.ru" > /etc/hostname
/etc/init.d/hostname.sh

В консоли выполняем следующие команды:

apt-get update;
apt-get install -y ejabberd;

После этого ejabber будет установлен, добавлен в автозапуск (будет загружаться автоматически при загрузке системы) и запущен.

Убеждаемся, что Ejabberd запустился и слушает нужные нам порты:
netstat -lnpt | grep beam
tcp 0 0 0.0.0.0:5280 0.0.0.0:* LISTEN 11754/beam
tcp 0 0 xx.xx.xx.xx:7777 0.0.0.0:* LISTEN 11754/beam
tcp 0 0 0.0.0.0:45858 0.0.0.0:* LISTEN 11754/beam
tcp 0 0 0.0.0.0:5222 0.0.0.0:* LISTEN 11754/beam
tcp 0 0 0.0.0.0:5269 0.0.0.0:* LISTEN 11754/beam



Конфигурация Jabber сервера

dpkg-reconfigure ejabberd

Указываем domain.ru, потом admin и дважды вводим пароль администратора.

В ответ система откликнется примерно следующим:
Stopping jabber server: ejabberd.
Replacing config file /etc/ejabberd/ejabberd.cfg with new version
Starting jabber server: ejabberd.
Waiting for ejabberd to register admin user.
Admin user "admin@domain.ru" is registered successfully.

Входим под учетной записью администратора

Теперь нам нужен клиент с поддержкой протокола Jabber. Добавляем учетную запись, выбираем ее тип "Jabber", в поле Jabber ID вводим "admin@domain.ru", указываем пароль и подключаемся, при этом будет выдано предложение подтвердить сертификат, соглашаемся и принимаем его. Все! Можно добавлять других контактов и общаться по Jabber со всем миром!

Веб-интерфейс управления

Для выполнения различных рутиных задачек есть интерфейс управления, доступный по адресу: http://jabber.domain.ru:5280/admin, в качестве логина указываем admin@domain.ru, а в качестве пароля - наш пароль на jabber.

Консоль управления

Позволяет выполнять огромное множество операций с Jabber сервером.
ejabberdctl
Usage: ejabberdctl [--node nodename] command [options]

Available commands in this ejabberd node:
status get ejabberd status
stop stop ejabberd
restart restart ejabberd
reopen-log reopen log file
register user server password register a user
unregister user server unregister a user
backup file store a database backup to file
restore file restore a database backup from file
install-fallback file install a database fallback from file
dump file dump a database to a text file
load file restore a database from a text file
import-file file import user data from jabberd 1.4 spool file
import-dir dir import user data from jabberd 1.4 spool directory
delete-expired-messages delete expired offline messages from database
delete-old-messages n delete offline messages older than n days from database
mnesia [info] show information of Mnesia system
vhost host ... execute host-specific commands
srg-list-groups host list the shared roster groups from host
delete-older-messages days delete offline messages older than 'days'
vcard-set user host data [data2] content set data to content on the vCard
incoming-s2s-number print number of incoming s2s connections on the node
vcard-get user host data [data2] get data from the vCard of the user
status-list status list the logged users with status
remove-node nodename remove an ejabberd node from the database
stats onlineusers number of logged users
stats registeredusers number of registered users
pushroster-all file push template roster in file to all those users
srg-get-info group host get info of a specific group on host
rosteritem-purge [options] Purge all rosteritems that match filtering options
add-rosteritem user1 server1 user2 server2 nick group subs Add user2@server2 to user1@server1's roster
srg-delete group host delete the group
stats uptime-seconds uptime of ejabberd node in seconds
outgoing-s2s-number print number of outgoing s2s connections on the node
killsession user server resource kill a user session
stats onlineusersnode number of logged users in the ejabberd node
pushroster file user server push template roster in file to user@server
load-config file load config from file
user-resources user server print user's connected resources
srg-create group host name description display create the group with options
get-cookie get the Erlang cookie of this node
export2odbc server output export Mnesia tables on server to files on output directory
connected-users-number print a number of established sessions
srg-user-add user server group host add user@server to group on host
set-password user server password set password to user@server
delete-older-users days delete users that have not logged in the last 'days'
rem-rosteritem user1 server1 user2 server2 Remove user2@server2 from user1@server1's roster
compile file recompile and reload file
status-num status number of logged users with status
push-alltoall server group adds all the users to all the users in Group
srg-user-del user server group host delete user@server from group on host
connected-users list all established sessions

Examples:
ejabberdctl restart
ejabberdctl --node ejabberd@host restart
ejabberdctl vhost jabber.example.org ...

Подключение JwChat

Осуществляется весьма легко: http://www.ejabberd.im/jwchat-localserver

Источники: http://www.jms1.net/jabberd2/srv.shtml и http://server-help.ru/?tag=ejabberd

воскресенье, 22 марта 2009 г.

Каким образом Jabber транспорты связываются с jabber сервером?

Сабж, прошу закидать ссылками.

Пока понял лишь то, что транспорты работают отдельным процессом и соединяются с сервером по сети (5347 порт для Jabberd2), используя некий "secret", который используется для отличения "своих" транспортов.

понедельник, 5 ноября 2007 г.

How-to: Джаббер - сеть мгновенного обмена сообщениями. Введение в предмет.

Ну вот и пришла пора немного поговорить не только об операционных системах семейства Linux, но и об ОС компании Майкрософт, т.к. инструкции будет предоставлены для обоих платформ. Цель данной серии статей достаточно проста, хочется написать добротную инструкцию по настройке джаббера для обычных пользователей, т.к. народ интересуется этой системой обмена сообщениями очень живо, но каждому рассказывать, что это такое и почему это хорошо, никакого времени не хватит.

Для начала небольшой экскурс. Так что же такое джаббер? Проще говоря - это сеть мгновенного обмена сообщениями, такая же как ICQ, Майл.Агент, MSN и прочие. Так зачем нам этот непонятный джаббер, если есть другие протоколы? У джаббера есть множество преимуществ, среди которых следует отметить следующие:

1) Открытость протокола (а этим почти никто из вышеперечисленных похвастаться не может), что позволяет каждому ознакомиться с принципами работы и даже написать свой собственный клиент.

2) Повышенная безопасность (вы всегда можете включить шифрование вашего трафика по протоколу ssl, что исключает перехват ваших переговоров злоумышленником или недобросовестным системным администратором вашей сети).

2) Децентрализованность (ух ты, какое сложное слово!), а если говорить проще, то серверов джаббера не один, и не 10, и даже не 100, а намного больше, что объясняется довольно просто - любой желающий при соответствующей квалификации может сделать свой собственный сервер джаббера и разрешить пользователям на нем регистрироваться (а может и не разрешить, если это, допустим, корпоративный чат). "Ну подумаешь, много серверов и открытый протокол что из этого? " - можете возразить Вы и будете совершенно правы. Но давайте рассмотрим довольно простую ситуацию, которая имела место в феврале прошлого года, когда корпорация Америка Онлайн (владелец сети ICQ) изменила протокол передачи сообщений в своей сети, в результате чего пользователи многих "альтернативных" клиентов (Miranda-im.com, например) данной сети на протяжении одного-двух дней не могли войти в сеть.

А если вспомнить, что уже многие фирмы ведут коммерческую деятельность посредством ICQ, то убытки от пары дней простоя тоже можно примерно оценить. В случае с джаббером такое в принципе невозможно, т.к. протокол уже устоялся и его изменения не планируются. Далее рассмотрим уже гипотетическую ситуацию (несмотря на то, что она вымышленная, не стоит отрицать и такой вариант), что владелец ICQ собирается закрыть сеть, тем самым лишая пользователей возможности общаться. В случае с джаббером такое опять же невозможно, если даже ваш сервер закрылся или сломался (но полностью вся сеть не сломается никогда!), Вы всегда можете воспользоваться другим сервером.

4) Довольно широкий выбор клиентов для данной сети, среди которых: PSI, Kopete, QIP Infium, Miranda c jabber, Bombus (для сотовых телефонов на платформе J2ME)

5) Возможность работы с другими сетями непосредственно через джаббер используя т.н. механизм транспортов (даже если Ваш jabber сервер не поддерживает определённый транспорт, то Вы всегда можете воспользоваться транспортом с другого jabber сервера, протокол позволяет и это), который предоставляет возможность общаться с клиентами из других сетей (например - icq, mail agent, yahoo, msn и даже smtp и rss) через привычный интерфейс своего любимого джаббер клиента.

6) Расширяемость. Этот пункт может быть и не будет интересен для обычных пользователей, но для руководителей ИТ отделов и администраторов крупных фирм он будет предельно интересен, т.к. обычный протокол передачи данных и сообщений может быть с лёгкостью расширен через стандартный интерфейс посредством введения нового пространства имён, что открывает неограниченные возможность для внедрения специфических для конкретного предприятия функций (например передача банковских котировок в реальном времени).

Автор: Одинцов Павел. Ноябрь 2007.