Я использую Openfire для запуска своего сервера Jabber, и меня это вполне устраивает. Наверное, накладные расходы выше, чем у некоторых других опций (jabberd, ejabberd и т. Д.), Но его легко установить и он имеет отличный веб-интерфейс администратора.
Что касается добавления пользователей через веб-приложение - я не знаю, как бы вы это сделали с Openfire, но это должно быть возможно. Он может подключаться ко многим базам данных, и вы можете предоставить своему веб-приложению учетную запись администратора, которую оно может использовать для создания пользователей.
В качестве альтернативы протокол Jabber / XMPP поддерживает создание новой учетной записи при первом подключении к серверу, если вам этого достаточно. OpenFire поддерживает эту функцию (я полагаю, как и большинство серверов Jabber).
Обновление: Подключаемый модуль пользовательской службы для Openfire предоставляет HTTP API для выполнения действий по администрированию пользователей. Вероятно, это именно то, что вам нужно.
Вам может понравиться ejabberd, он довольно дружелюбен для новых пользователей:
Я перепробовал большинство из них и согласен с эджаббердом. Проблема только в том, что для его изменения нужно программировать на Erlang. Openfire выглядит отлично, но мне не удалось заставить сертификат загрузиться должным образом: есть ошибка с реализацией, поэтому TLS не будет работать. Я не мог заставить Soapbox получить доступ к локальной базе данных MySQL, так что этого тоже не было.
Что касается клиентской стороны, вы можете использовать Миранду.
Могу ли я сделать свой собственный jabber-сервер. Так что что если я запущу свой сайт xyz, то люди должны быть в состоянии получить свой jabber id с моего сайта, если зарегистрировавшись на моем сайте.
Это зависит от того, какой у вас хостинг. Я думаю, что для установки программного обеспечения у вас должен быть как минимум VPS хостинг. Базовый хостинг за пару баксов не позволит вам запустить jabber-сервер.
Is there any open source implementation of jabber server that i can use?
Мне самому очень нравится prosody от lua. Его легко установить/настроить
Для вашего первого вопроса: Вы можете посмотреть на расширение XEP-0077 для in -полосная регистрация. http://xmpp.org/extensions/xep-0077.html#intro
На каком языке вы кодируете? Возможно, вы захотите проверить, есть ли на этом языке библиотека XMPP, которая может обрабатывать это расширение.