Беглое гугление вчера не дало никакого результата, поэтому решил написать свой годный мануал по установке модуля 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, юзернеймы!
Последние комментарии