Shumaher’s_Blog@AlexZ.me

— yet another stupid personal weblog

Установка mod_webpresence в ejabberd2

ejabberd
Беглое гугление вчера не дало никакого результата, поэтому решил написать свой годный мануал по установке модуля mod_webpresence в jabber-сервер ejabberd2.
Этот модуль позволяет организовать добавление иконок-статусов на веб-странички, подобно иконкам с цветком от всеми любимой асечки. Но джаббер может тоже самое, и даже больше.

Процесс установки, кратко и по шагам

1) Получение модулей из SVN и сборка mod_webpresence:

svn co https://svn.process-one.net/ejabberd-modules
cd ejabberd-modules/mod_webpresence/trunk
./build.sh

Всё то же самое написано, кстати, вот тут.

2) Дальше я предполагаю, что ejabberd2 у вас уже настроен и установлен в /opt/ejabberd/. Не забудьте исправить на свой путь.
Копирование beam-файлов и картинок в директорию с ejabberd2:

cp ./ebin/mod_webpresence.beam /opt/ejabberd/lib/ejabberd/ebin/
cp -R ./data/pixmaps/ /opt/ejabberd/

3) Правка конфига:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{listen,
 [
...
  {5280, ejabberd_http, [
			 {request_handlers,
			 [
			 ...
			 {["presence"], mod_webpresence}
			 ]},
			 ...
			]}
 ]}.
 
 
{modules,
 [
  ...
  {mod_webpresence, [{host, "presence.@HOST@"}, {access, local},
  {pixmaps_path, "/opt/ejabberd/pixmaps"}, {baseurl, "http://server.com/presence/"}]}
 ]}.

— опцию host можно не указывать, если вас устраивает стандартный поддомен для этого сервиса webpresence.;
— опцию pixmaps_path исправьте на свой путь к значкам, он может быть любым, по умолчанию "./pixmaps"
Но без указания полного пути у меня не заработало, видимо здесь путь указывается не от корня сервера;
— опцию baseurl можно не указывать, если вас устраивает стандартный адрес http://server.com:5280/presence/ для отдачи статусов (об этом ниже).

На этом установка модуля закончена, можно запустить ежа и зарегистрироваться на сервисе. Если сервер больше не работает, :-) попробуйте запустить в live-режиме и смотрите логи.

Дополнительная возня

Если вы не хотите открывать на сервере дополнительный порт (обычно 5280) для доступа к значкам статусов (также поддерживается вывод текста статуса в XML/JS, аватары и т.д., подробнее см. сообщение от транспорта при регистрации), но при этом на сервере установлен Apache, то можно сделать следующее.
В корне сервера создайте файл .htaccess примерно такого содержания:

1
2
3
4
5
RewriteEngine On
RewriteBase /
 
RewriteCond %{REQUEST_URI}  ^/presence/?(.*)$
RewriteRule presence/?(.*) http://localhost:5280/presence/$1 [P,L]

Теперь статусы должны быть доступны по адресу http://server.com/presence/, и именно это значение должно быть указано в опции baseurl.

Немногие знают, но все доступные темы значков можно посмотреть на странице http://server.com/presence/themes

Как видно, установка модуля mod_webpresence для поддержки веб-статусов очень проста. Однако, этот сервис очень редко встречается на общедоступных серверах.
Попробовать его на практике можно лишь на одном известном мне сервере — jabber.ru.

На этом всё.
Happy jabbering, юзернеймы!

VN:F [1.9.17_1161]
Rating: 0.0/5 (0 votes cast)
Оставьте свой комментарий




OpenID WordPress.com Yahoo

Это не спам.