Xgu.ru теперь в Контакте  — приходите и подключайтесь.
Пока мы работаем над следующими видео, вы можете подключиться в Контакте. Познакомимся и обсудим новые страницы и ролики.

Vk-big.pngYoutube-big.jpeg

ejabberd

Материал из Xgu.ru

Перейти к: навигация, поиск
ejabberd-logo.png

ejabberd (Erlang Jabber Daemon) — популярный джаббер-сервер. Разработан Алексеем Щепиным в 2002м году, поддерживается и развивается им до сих пор. Написан на Erlang'е[1]. Распространяется по лицензии GPL (v2).

Отличается кросс-платформенностью, хорошей масштабируемостью и расширяемостью. Может исполняться под UNIX/Linux и Windows.

Под управлением ejabberd работают такие публично доступные джаббер-серверы как jabber.org, jabber.ru, jabber.kiev.ua и многие другие[2].

Содержание

[править] Вопросы и ответы

[править] Как выполнить начальную настройку ejabberd в Debian?

dpkg-reconfigure ejabberd

[править] Как создать новую учётную запись пользователя через командную строку?

ejabberdctl register user example.com password

[править] Как разрешить самостоятельную регистрацию пользователям?

Добавить в ejabberd.cfg:

{access, register, [{allow, all}]}.

[править] Можно ли хранить информацию о пользователях ejabberd в каталоге LDAP?

Да.

Фрагмент конфигурационного файла:

  {auth_method, ldap}.
  {ldap_servers, ["ldap.xgu.ru"]}.        % List of LDAP servers
  {ldap_uidattr, "uid"}.                  % LDAP attribute that holds user ID
  {ldap_base, "ou=Users,dc=xgu,dc=ru"}.   % Search base of LDAP directory
  {ldap_rootdn, "cn=admin,dc=xgu,dc=ru"}. % LDAP manager
  {ldap_password, "xgurupassword"}.       % Password to LDAP manager

  {ldap_uids, [{"uid"}]}.

[править] Какие порты использует ejabberd?

  • 5222 eingehend, für Client-Verbindungen unverschlüsselt oder TLS-verschlüsselt
  • 5223 eingehend, für SSL-verschlüsselte Clientverbindungen (veraltet)
  • 5269 ein- und ausgehend, für Verbindungen zu anderen Servern
  • 5280 — web-интерфейс администрирования

Источник: [1].

[править] Как сгенерировать сертификат для ejabberd?

Источник: [2]

Security wise, it is very wrong to use the default SSL certificate as provided by the installation package for the server certificate. Anyone with access to this key material can decrypt encrypted communication. So you must generate your own server certificate. This is also required because IM clients may verifiy the certificate against the domain name used within the certificate. If there is no match, it will not work or it will at least complain.

openssl req -new -x509 -newkey rsa:2048 -days 365 -keyout privkey.pem \ 
-out server.pem

So this creates a public key (server.pem) and a private key (privkey.pem) which are valid for a year. Feel free to make the certificate valid for a longer period, this is an example. You will have to fill in some stuff, the most important part is this part:

Common Name (eg, YOUR name) []:jabber.domain.local

You are forced to set a password on the private key, but we want to remove this because otherwise the ejabberd service will not start automatically.

openssl rsa -in privkey.pem -out privkey.pem

Just enter the password you entered earlier and you're done. We now have separate files for the public and private key, but ejabberd expects them in one single file.

cat privkey.pem >> server.pem
rm privkey.pem

Set proper file system permissions:

chown ejabberd server.pem
chmod 600 server.pem

Now we are done. Restart ejabberd to use the new settings.

/etc/init.d/ejabberd restart

[править] Как просмотреть сертификат на джаббер-сервере?

 openssl s_client -msg -state -host chub.in -port 5222 -starttls xmpp

[править] Дополнительная информация

[править] Примечания

  1. чему и обязан названием
  2. http://www.ejabberd.im/servers
Источник — «http://xgu.ru/wiki/ejabberd»