Как джаббер настроить джаббер

Установка и настройка Jabber-сервера

Требования для работы и процедура установки собственного сервера Jabber являются не такими сложными, как это кажется непосвящённому. Jabber не сильно требователен к ресурсам, поэтому сервер для него возможно устроить практически где угодно. Сложность в установке не превышает сложности установки типичного веб-форума, а местами и ещё проще.

Содержание

Подготовка

Компьютер

Для работы сервера Jabber вполне достаточно старенького компьютера с процессором с тактовой частотой 500 МГц, размером оперативной памяти 128 Мб и жёстким диском 4 Гб. Разумеется, возможно использовать и более мощные компьютеры. Если вы планируете хранить историю сообщений на сервере, потребуется более объемистый жесткий диск. Можно установить Jabber-сервер и на машину, которая уже работает как сервер, это не повредит другим программам, как вы можете догадаться. А можно использовать свой настольный компьютер, если вы не выключаете его на ночь. Ниже приведены наиболее оптимальные применения для основных Jabber-серверов:

  • Ejabberd — наиболее универсальный вариант, рекомендуется. Сервер поддерживает кластеризацию. У сервера высокая отказоустойчивость
  • Jabberd — старые компьютеры с низкой вычислительной мощностью
  • Prosody — персональный сервер с низкой нагрузкой. Простой в настройке, но не отличается стабильной работой при высокой нагрузке. Нет кластеризации.
  • Openfire — предприятия. Прост в настройке, но из-за виртуальной машины java потребляет много ресурсов.

Подробнее смотрите в статье «Выбор сервера»

Интернет

Возможно сделать так, чтобы к вашему серверу можно было подключиться не только из локальной сети или предприятия. Но не каждый провайдер позволяет своим клиентам использовать собственный сервер в интернете. Для работы сервера нужно, чтобы ваше подключение к интернету было с так называемым «публичным», или «белым» адресом IP. Проверить его наличие можно с помощью этой инструкции. Также желательно, чтобы этот IP-адрес был фиксированным, чтобы к нему можно было легко привязать доменное имя. Все эти проблемы отпадут сами собой, если вы используете сервер VPS или Dedicated от поставщика услуг хостинга — они всегда подразумевают предоставление в ваше распоряжение фиксированных «белых» IP. Наконец, важным фактором является стабильность подключения — проблемы со стороны сервера сказываются на всех подключённых пользователях одновременно.

Практика

Регистрация доменного имени

Как уже было сказано раньше, для работы jabber-сервера необходимо обзавестись доменным именем. Конечно, в крайнем случае можно обойтись и без него, но, согласитесь, вряд ли вам захочется видеть и использовать Jabber ID вида «vasya@169.254.96.124» или «petya@2001:470:0f3b:28fa::1«. Поэтому последним шагом перед, собственно, установкой сервера будет регистрация собственного доменного имени, тем более сделать это так просто! Подробнее об этом, а также о привязке домена к IP-адресу своего сервера читайте в статье «Регистрация доменного имени». Возможно использование и динамического адреса.

Установка и настройка программы-сервера

Подготовив «железо» для будущего сервера, подключив его к сети и привязав к нему доменное имя в этой сети, можно переходить непосредственно к установке необходимого программного обеспечения. Ниже приводятся подробные инструкции для упомянутых трех популярных серверов в варианте для двух операционных систем — семейства юниксоподобных ОС (в частности дистрибутивов GNU/Linux и BSD) и Windows. Если у вас нет особых причин использовать Windows для сервера — мы рекомендуем в качестве основы взять GNU/Linux, как более защищенную и стабильно работающую платформу.

Источник

Настройки Jabber

Модуль «Настройки» предназначен для установки параметров работы Jabber-сервера.

Для открытия модуля перейдите в меню Jabber > Настройки .

Общие настройки

Поле «Порт» является обязательным, позволяет задать или изменить порт, на котором работает Jabber-сервер.

При установке флага «Автоматически создавать разрешающее правило» в межсетевом экране ИКС будет добавлено разрешающее правило для доступа к указанному порту на всех сетевых интерфейсах.

Если поле «Администраторы» пустое, то комнаты сможет создавать любой пользователь. Таким образом, администратором комнаты станет тот пользователь, который ее создаст. Если в поле указать аккаунты (только заведенные на ИКС Jabber-аккаунты), они всегда будут администраторами в любой создаваемой комнате.

Поле «Сертификат SSL» необходимо для создания защищенного соединения «клиент-сервер». По умолчанию данные передаются в открытом виде. Чтобы избежать этого, выберите в поле заранее сгенерированный SSL -сертификат для Jabber-сервера.

Jabber-конференции

Конференция — это место общения нескольких пользователей Jabber. Имеет имя, уникальное в пределах одного сервера.

Войти в конференцию можно при помощи соответствующего пункта меню в программе-клиенте (например, Join Group в Tkabber или Join Groupchat в Psi). Введите имя комнаты и сервер, на котором она находится (например, conference.up4k.loc).

Читайте также:  Как настроить спотифай для артиста

Чтобы создать новую комнату, просто войдите в несуществующую комнату на нужном сервере конференций. Для просмотра списка существующих комнат воспользуйтесь Service Discovery применительно к серверу конференций.

Особенности функционирования при создании комнаты (например в Jabber-клиенте Pidgin):

  • persistent room should remain even when it is empty — с данной настройкой комната всегда будет храниться на сервере (даже пустой) и к ней можно подключаться. Удобно для комнат, которые не должны «случайно» удалиться по ошибке;
  • include room information in public lists — данная настройка отвечает за то, будет ли комната выдаваться при поиске из меню «Присоединиться к чату…» по кнопке «Список комнат». Если флаг не установлен, то комната искаться не будет, а подключиться к ней пользователь сможет, только если знает ее название.

Общий ростер

При установке флага «Использовать общий ростер» включается общий ростер.

Флаг «Привязывать пользователей к аккаунтам в общем ростере» отвечает за отображение новых добавленных аккаунтов в общем ростере и, соответственно, у других абонентов в списке контактов.

Прокси-сервер для передачи файлов

Jabber-сервер ИКС поддерживает передачу файлов через прокси-сервер (Out-of-band). Для этого установите флаг «Использовать прокси-сервер», в поле «Адрес» введите внешний IP-адрес ИКС, на котором работает Jabber-сервер. Укажите порт, который доступен обоим клиентам, желающим передать файл.

Сетевые настройки

Флаг «Разрешить S2S-соединения» включает поддержку соединений типа «сервер-сервер».

Чтобы изменения вступили в силу, нажмите «Сохранить».

Источник

Всё о Jabber. От приложения до своего XMPP сервера

Привет, друг! Итак, почему jabber? Тайна переписки, которая является составляющим элементом конфиденциальность личной жизни — это такая штука, которая гарантируется гражданам законодательством любой страны. Более того, государство обещает защищать это твоё право. а всякие коммерческие структуры, от мала до велика, во всех этих своих лицензионных соглашениях и прочих политиках конфиденциальности, божаться охранять твоё право на неприкосновенность переписки.

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

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

Что такое jabber и xmpp?

Ну да ладно, меня, как обычно унесло в рассуждения. На самом деле кто и зачем хочет порыться в твоей личной жизни, особо не важно. Важно то что, наверное, любому человеку это не понравиться. И, я думаю, ты согласишься со мной, что каждый имеет право на неприкосновенность своих секретов. Причем без всяких «но», и независимо от рода деятельности. Ну, а учитывая, что на желание иметь такое право, всем вокруг, как бы, всё-равно, то реализовывать это право нам придется самостоятельно. И именно поэтому сегодня мы будем разговаривать о том, как общаться так, что бы посторонние личности, в погонах или без них, не могли перехватить и посмотреть нашу переписку. Т.е. про Jabber и все, что с этим связанно. От клиентских приложений на компьютере и телефоне, до собственного сервера.

Начнём с самого простого, т.е. с общего понимания всего процесса. Для начала, что вообще такое XMPP и Jabber. По сути — это одно и тоже. Просто Jabber это более раннее название, которое полюбилось пользователям. Поэтому XMPP до сих пор называют Jabber. Ну, а если говорить о конкретном определении, то — это расширяемый протокол обмена сообщениями о присутствии. А если проще, то — это открытый протокол обмена мгновенными сообщениями. Основными плюсами, из-за которых стоит использовать Jabber, можно считать его открытость, децентрализованность и поддержку шифрования. Справедливости ради стоит сказать, что минусы тоже есть. Но они больше должны волновать владельцев серверов, пользователей это особо не касается.

Теперь переходим к вопросу наиболее актуальному для большинства пользователей. А именно к применению клиентских приложений использующих протокол XMPP.

Но перед тем как использовать месенджеры, нужно позаботиться о шифровании и ключах шифрования. Утилит умеющих решать этот вопрос довольно много. Наверно самыми распространенными можно считать GPA и gpg4usb. Принцип их использования одинаковый, поэтому я покажу, что нужно делать на примере утилиты GPA. В некоторые дистрибутивы Linux она установлена по-умолчанию (например Parrot OS), или ее можно установить:

Читайте также:  Iphone места не работают

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

Всё, ключ готов. Теперь сохраним его открытую часть в файл. Для этого давим кнопку «Экспорт ключей» и сохраняем куда удобно.

Из Jabber-клиентов, лично мне, больше всего нравится PSI+, поэтому начну именно с него. У него есть клиенты для Windows, MacOS и Linux. Но мы, по понятным (надеюсь) причинам, будем рассматривать варианты для Linux.

Для начала устанавливаем:

Если, вдруг, ты используешь дистрибутив Linux в репозиториях которого нет PSI+, то его можно добавить:

При первом запуске, нам предложат использовать уже существующий аккаунт или создать новый.

Если аккаунта у тебя нет, смело дави «Зарегистрировать новый». В открывшемся окне нужно ввести имя сервера на котором ты хочешь создать аккаунт. Я, естественно, буду показывать на примере нашего сервера.

После нажатия кнопки «Далее» программа ругнётся на сертификат, сообщив нам что он самоподписан, смело жми «Доверять».

В следующем открывшемся окне, нужно придумать себе имя пользователя и пароль (опционально можно ввести email и полное имя). И всё, аккаунт создан, о чём ты увидишь соответствующее сообщение. По умолчанию, автоматическое подключение к серверу выключено, поэтому нужно в выпадающем списке внизу программы выбрать «Доступен» чтобы подключится к серверу. Также будет предложена возможность заполнить vCard — это твоя визитка, тут по желанию.

Шифрование в PSI+

Теперь нужно установить плагины для шифрования сообщений и проверки подлинности контакта. Нажимаем «Настройки» и выбираем вкладку «Плагины». Здесь нужно выбрать плагины GnuPG Key Manager и Off-the-Record Messaging Plugin и нажать ОК.

После этого жмём правой кнопкой на наше имя и выбираем «Настройки аккаунта». И во вкладке «Аккаунт» убираем отметку «Вести историю сообщений», затем переходим во вкладку «Подробности» и жмём кнопку «Выбрать ключ». В появившемся списке мы увидим ранее созданный нами ключ в программе GPA, выбираем его и нажимаем ОК. Нас попросят ввести пароль от ключа, а потом перезапустить соединение.

Теперь вернёмся в настройки, и в списке плагинов нажмём на гаечный ключ возле плагина Off-the-Record Messaging Plugin, там переходим в вкладку «Мои личные ключи» и нажимаем «Генерировать новый ключ», и после сообщения что ключ сгенерирован, жмём ОК.

На этом настройка Psi+ закончена. Остальные настройки можешь покрутить «под себя», это дело индивидуальное, какие-то советы тут давать не вижу смысла. Ну, а чтобы продемонстрировать как это всё работает на примере, покажу установку и настройку не менее популярного месенджера Pidgin. А потом посмотрим как происходит сама беседа.

Pidgin

Начинаем с установки:

При первом запуске нам, также предложат создать новую учётную запись, где нужно указать имя пользователя и домен где хотим зарегистрироваться. После этого соглашаемся с самоподписаным сертификатом и придумываем имя пользователя и пароль.

Следующим шагом идём в настройки и в вкладке журналы, отключаем запись сообщений. Потом нажимаем Средства-Модули и ставим галку возле плагина Off-the-Record. После чего нажимаем «Настроить модуль», в появившемся окне нажимаем «Создать».

Теперь добавим собеседника. При нажатии кнопки «Добавить собеседника» нам нужно ввести имя нужного нам пользователя в формате имя@домен и нажать «добавить». Нужный пользователь получит запрос на добавление и приняв его мы можем начинать общение.

Для начала конфиденциальной беседы нужно подтвердить личности с использованием OTR. Причём сделать это должен каждый собеседник. В обоих, рассматриваемых нами приложениях, это делается одинаково. Нужно нажать на кнопку OTR и выбрать способ подтверждения, а именно существует три способа:

  • Вопрос и ответ — нужно придумать секретный вопрос и ввести правильный ответ на него
  • Общий секрет — что-то что известно только тебе и собеседнику
  • Проверка отпечатка — любым способом передаем свой отпечаток собеседнику и он сравнивает с тем который видит в беседе

Если личность подтверждена, нажимаем «Авторизовать» и можем спокойно общаться. Наша переписка надёжно защищена.

PGP шифрование

Но, мы можем пойти дальше и, если оба абонента будут использовать Psi+, то ещё и включить шифрование PGP. После чего обменяться публичными ключами. Это обеспечит нам максимальный уровень защищенности переписки. Даже если переписку вдруг получится перехватить или сервер взломают, наши разговоры расшифровать всё равно не получится.

Для того чтобы всё это заработало, каждый из участников разговора должен нажать кнопку включения PGP (показано на рисунке). А потом нажать кнопку обмена публичными ключами. Теперь включено шифрование. Что, совместно с подтверждением личности, и использованием OTR, даёт нам очень высокий уровень безопасности переписки. Пожалуй, наверно, максимально возможный уровень защиты разговора.

Читайте также:  Dell inspiron n5110 не работает клавиатура

А мы плавно переходим к использованию Jabber на мобильных телефонах.

Jabber на iOS и Android

Для Android оптимальным Jabber-клиентом я считаю Xabber. Оно максимально простое и при этом достаточно удобное, исходный код открыт, оно бесплатное, есть поддержка OTR, и возможность подключить одновременно несколько аккаунтов, что порой очень полезно. Короче, пожалуй, лучший выбор. Хотя, как всегда — это дело вкуса, я рекомендую только то, что больше нравится мне.

Для iOS, вполне обычная практика сделать приложение платным или разрешить использовать только аккаунты на сервере разработчиков приложения. Ну и про открытый исходный код можно только мечтать. Но если всё-таки очень хочется, на мой взгляд оптимальный вариант это JabMe. Конечно чересчур просто, нет вообще никаких настроек, но зато быстро и бесплатно.

Как запустить свой Jabber-сервер

Зачем тебе нужен свой Jabber-сервер придумай сам, мы философствовать на эту тему не будем. А я просто покажу как запустить свой сервер. Как для доступа из локальной сети так и из глобальной.

Запускать и настраивать мы будем Openfire, это, как по мне, оптимальное решение. Установка и запуск достаточно простые, а ещё он имеет приятный и интуитивно понятный графический интерфейс, что само по себе прекрасно.

Что касается операционной системы, то самым логичным вариантом будет какое-нибудь серверное решение, например Ubuntu Server.

Для начала нам понадобится установить зависимости, такая одна — это Java:

Теперь ставим серверные приколюхи, а именно Apache, PHP, MySQL:

По поводу MySQL нужно отметить, что в Openfire есть встроенная база данных и можно, в принципе, использовать и её, но внешняя база данных гораздо производительнее. Поэтому мы будем использовать MySQL и следующим шагом настраиваем её, а именно создаём базу, назначаем права и так далее:

Динамический IP и jabber-сервер

Следующий подготовительный этап, это решение проблемы динамического IP. Но заниматься этим нужно, если хочется чтоб сервер был доступен из Интернета. Если планируется использовать сервер только в локальной сети, этот пункт смело пропускай.

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

Для начала регистрируемся на любом сервисе предоставляющем услуги динамического DNS. Я буду использовать https://dyn.com/. Для его использования нужно создать новый хост и указать текущий внешний IP.

Устанавливаем ddclient и зависимости:

Он в процессе установки будет задавать вопросы. Как ты на них ответишь особо не важно, потому что все настройки мы после отредактируем вручную. Для этого открываем файл /etc/ddclient.conf и в нём вписываем такие строки:

Сохраняем изменения, перезапускаем демона и можем проверить что бы он работал:

Что бы убедится что IP обновляется можно заглянуть в логи:

Установка Openfire

Подготовительные этапы окончены, можем скачивать и устанавливать Openfire. Сам сервер можно скачать здесь: https://www.igniterealtime.org/downloads/index.jsp#openfire или командой:

Не забудь чекнуть последнюю версию. Устанавливаем и проверяем чтобы работало:

Теперь нужно импортировать базу данных:

Всё готово, открываем браузер и переходим по адресу http://localhost:9090 и попадаем в консоль администратора Openfire, которая предложит нам сделать первичную настройку.

Настройка сервера Openfire

Первый шаг — это выбор языка:

Вводим доменное имя, которое мы зарегистрировали в DynDNS, порты оставляем без изменений:

Следующий шаг — выбор базы данных. Если выбрать «Встроенная база данных» — будет использоваться база данных самого Openfire. Но внешние базы намного производительней, поэтому выбираем «Стандартное подключение к базе данных»:

И переходим к настройке самой базы данных. В выпадающем списке выбираем MySQL, в графе URL базы данных вписываем:

имя пользователя и пароль вписываем те, которые вводили при создании базы данных:

Следующий шаг — создание учётной записи администратора (по умолчанию имя — admin). Вводим электронную почту и придумываем пароль:

Входим в консоль под созданной учётной записью админа и с этой минуты наш сервер работает, и к нему уже можно подключаться, регистрироваться и общаться.

На настройках в админке не вижу смысла останавливаться дополнительно, тут есть довольно подробные описания всех пунктов. Каждый сможет настроить в зависимости от своих желаний и потребностей, тоже самое касается и установки дополнительных плагинов.

На этом, пожалуй, можно заканчивать. Но не забывай возвращаться, ведь нам нужно изучить ещё очень много. А пока я пишу для тебя новую статью, можешь почитать про логи и журналирование в Linux, точно будет не лишним.

Источник

Оцените статью