Допустим, у вас дома/на работе/у знакомого/ещё где-нибудь существует некое подобие локальной сети (пусть даже из пары компьютеров) и возникла необходимость заиметь какой-нибудь сервис обмена сообщениями (грубо говоря - чат). Можно конечно ограничиться всем известной ICQ, но с другой стороны это поставит вас в зависимость от функционирования провайдера интернета, да и вряд ли решение, при котором ваши сообщения обходят половину земного шара (когда собеседник находится в десятке метров от тебя), можно считать рациональным :) Можно вспомнить про существование разного рода программ локальных сетевых чатов, но мы ведь хотим универсальное и масштабируемое (не будем же мы запускать сервер чата под Wine, если например, вы вдруг перейдёте на Linux :) ) решение для нашей сети, поэтому остановимся на системе обмена сообщениями под названием Jabber. Что такое Jabber я думаю, описывать не стоит — слишком долгое это дело. Будем считать, что он существует и работает с клиент-серверной архитектурой по протоколу XMPP. Для работы с ним понадобится собственно сервер Jabber и программа-клиент. На клиентах останавливаться не будем, довольно обширный их список с описаниями можно найти здесь, кроме того существуют также клиенты для мобильных телефонов (например этот). Лично я рекомендую Psi — из всего, с чем я сталкивался, он наиболее адекватен (ИМХО, конечно же :) ). Итак, сервер… Наиболее распространённые (а значит, хорошо задокументированные) это ejabberd и openfire. Конкретно в этой статье будем разбирать только openfire ибо для новичка настройка ejabberd покажется адом кромешным :) хотя он, в отличие от openfire менее ресурсоёмок и более гибок в конфигурировании. Скачиваем дистрибутив с сайта и устанавливаем его на компьютер, который будет сервером. Установка проходит проще пареной репы — если это инсталлятор, то устанавливаем; если архив, то распаковываем его куда-нибудь (например, в C:\Openfire) и всё! Теперь нужно установить сервер системной службой, делается это через консоль командной строки: заходим в каталог установки, в подкаталог \bin C:\Openfire\bin после чего нужно выполнить команду openfire-service /install Все, сервер теперь работает как служба, для подстраховки можно сходить в “Панель управления —> Администрирование —> Службы”, чтобы удостовериться в том, что сервис запускается автоматически при старте системы, кроме того здесь же мы его и запустим (если он ещё не работает). Осталось совсем немного, заходим в панель управления сервером (это где-то по адресу localhost:9090 или 127.0.0.1:9090 или ИМЯ_КОМПЬЮТЕРА:9090), где нам предложат задать основные параметры сервера. Базу данных (Database) можно оставить встроенную, но если есть желание, то можно использовать, например MySQL. О том, как это сделать подробно написано в документации, которая находится (сюрприз!) в каталоге \documentation. Имя сервера желательно сделать таким же, как и имя компьютера в сети. Это, конечно, необязательно, но мы же хотим сделать все быстро и без лишней головной боли :) . Теперь по адресу http://ИМЯ_КОМПЬЮТЕРА:9090 нас ждёт панель управления сервером где мы будем разруливать всё, чем он занимается. Первым делом стоит установить пароль администратора (это на вкладке Users/Groups, нужно кликнуть на иконке редактирования пользователя и затем в левом меню выбрать пункт Password). На той же вкладке можно добавлять пользователей и объединять их в группы (нам это пока не понадобится, т.к. у сеть у нас маленькая, хватит одной группы в которую будут включены все пользователи сервера). Мы уже можем работать, осталось лишь настроить аккаунты в клиентах (ввести адрес сервера, имя пользователя и пароль). Если всё хорошо, то через сервер уже можно обмениваться сообщениями (только добавьте в ростер клиента других пользователей сервера), если этого не происходит, то стоит проверить брандмауэр или антивирус на предмет блокировки сервиса (openfired.exe) или порта 5222. С этим можно закончить, а для более точной настройки придётся лезть в документацию, т.к. в одной статье описать все нюансы просто невозможно. Также можно обратиться за помощью на форумы jabber.ru. Итак, сервер работает, сообщения доставляются, но если попутно вы пользуетесь ICQ или каким-нибудь Mail-агентом, то иметь несколько открытых клиентов, да ещё и с разным интерфейсом не очень удобно, ведь так? Открою секрет — есть в Jabber’е такая замечательная вещь, как транспорты. Они позволяют вам пользоваться сервером как посредником между вами и другими системами обмена сообщениями. Следовательно, нам просто необходим ICQ-транспорт! Включается он очень просто: в консоли управления идём на вкладку Plugins и переходим по ссылке Available Plugins. В открывшемся списке находим плагин под названием IM Gateway и кликаем по кнопке Install, после чего дожидаемся загрузки и установки плагина (качается он с серверов разработчика, поэтому наличие интернета в этот момент обязательно), после чего возвращаемся на вкладку Server, где видим подкатегорию Gateways. Туда-то мы и направимся. Как видите, плагин этот предоставляет довольно много транспортов, в том числе и нашу “ненаглядную” ICQ. Активируем её (кликом по соответствующему флажку слева) и проведём некоторые настройки. В разделе Options нужно будет указать сервер ICQ (login.icq.com), порт (5190) и кодировку сообщений (у нас, славян, это будет cp1251), затем в разделе Tests проверяем соединение (кнопка Test Connection). Если всё хорошо, переходим в раздел Permissions, если нет — думаем, почему не работает аська :) В разделе Permissions нужно установить права доступа к транспорту. Для рассматриваемой сети идеальным вариантом будет разрешение доступа только определённой группе (которую мы создали ранее, например local-users), для чего отметим пункт These users and/or groups can register и добавим эту группу в список разрешённых (Modify Groups). Также желательно включить флажок Strict login permissions (must be allowed to register to log in) — это позволит избавиться от происков асечно-транспортных халявщиков :). Вообще, по хорошему теме безопасности сервера стоит посвятить отдельную статью, но пока времени нет, поэтому читайте доки :) Ну вот и всё, теперь в Jabber-клиенте нужно подключиться к сервису ICQ-transport и ввести свои UIN и пароль, после чего в ростере (это контакт-лист в Jabber так называется) появятся все ваши асечные контакты, с которыми можно общаться как и раньше. PS. Статья предназначена для совсем начинающих администраторов форточек, поэтому прошу профи не слишком горячиться про “нераскрытые темы” и прочие тонкости :) Спасибо.

Метки: , ,

Комментариев: 4 “Как поднять jabber-сервер по-быстрому”

  1. QIP Infium рулит ;-)

  2. Спасибо за Ваш труд!!

  3. Я так понимаю, реально поднять и собственный внешний сервер, имея тачку с постоянным внешним ip.
    А каким образом сделать привязку к определённому домену (который также имеется), Вы не в курсе?

  4. Владимир:
    Для привязки домена вам понадобится всего лишь пара записей в DNS :)
    Проблема в том, что поддержка пары делегирующих ваш домен ns в разных сетях (как того требуют регистраторы), как правило стоит денег.
    Могу посоветовать вот такой сервис (кстати, наличие постоянного IP не обязательно - можно поставить софтинку, которая будет сама обновлять записи при изменении адреса). Он бесплатно предоставляет четыре ns в различных сетях. После регистрации, адреса этих серверов нужно будет указать в панели управления доменом у вашего регистратора.