Интеграция CMS Joomla и Ejabberd
Актуальный мануал по интеграции CMS Joomla и Ejabberd читать на Хабрахабр.
Актуальный мануал по интеграции CMS Joomla и Ejabberd читать на Хабрахабр.
Некоторое время назад решили обновить на своем сервере Ejabberd до версии 2.1.6. Все прошло довольно безболезненно, за исключением одного не очень приятного момента.
Многие пользователи Jabber используют списки приватности для работы в режиме невидимости (подробнее о списках приватности очень хорошо написано тут) и часто запрещают iq-запросы. На этом этапе начиная с версии 2.1.6 могут возникнуть проблемы:
1. Если добавить правило, запрещающее все исходящие запросы и не поместить свой JID в исключения, то подключить учетную запись будет невозможно;
2. Если добавить правило для какого-либо JID на запрет iq-запросов и не поместить свой JID в исключения, то работать со списками приватности будет невозможно.
Помочь пользователю в этих случаях можно дективировав все списки приватности для его аккаунта. В случае, если списки приватности хранятся в Mnesia, то для пользователя user@domain.tld:
{privacy,{"user","domain.tld"},
"blocked",
...
где "blocked"
– активированный список. Для деактивации всех списков приватности пользователя необходимо прописать none
вместо активированного списка:
{privacy,{"user","domain.tld"},
none,
...
Данное поведение Ejabberd не является ошибочным и связано с очередным исправлением. Данную особенность новой версии следует иметь ввиду и быть готовому к обращениям пользователей с описанными выше проблемами.
P.S. Огромное Спасибо за тестирование и обнаружение этой особенности Children of koRn.
Практически у каждого администратора Jabber-сервера на базе Ejabberd вставал или встанет вопрос о переходе с Mnesia (используемой в Ejabberd СУБД по умолчанию) на MySQL. От себя хочу заметить, что использование Ejabberd с ODBC имеет смысл только если на Вашем сервере более 20 онлайн-пользователей.
В данной статье я подразумеваю, что у Вас уже установлены все пакеты для сборки Ejabberd из исходников и полностью настроены и готовы к работе MySQL-server, MySQL – client и PHPMyAdmin для удобства.
Начиная с версии 2.1.0 в Ejabberd появилась возможность переносить базу пользователей одного домена с помощью экспорта/импорта в файлы формата PIEFXIS (XEP-0227). Однако, данную операцию мне не удалось провести корректно (пробовал практически все современные ревизии exmpp, все время наблюдал ошибки при импорте ростеров пользователей) и было принято решение конвертировать базу при помощи модуля mod_ctlextra. Read more…
Итак, я продолжаю серию заметок о XMPP-сервере Ejabberd. На этот раз мы рассмотрим подробно установку Jabber-сервера из исходных кодов в среде операционных систем семейства Linux на примере дистрибутивов Ubuntu/Debian.
В общем и целом установка из исходников в Ubuntu/Debian мало чем отличается от аналогичного процесса в среде операционной системы FreeBSD, но я тем не менее остановлюсь на этом в связи с актуальностью вопроса.
Для начала нам необходимо установить все требуемые пакеты:
sudo apt-get install erlang libexpat1 libexpat1-dev libssl0.9.8 openssl libssl-dev build-essential
Создаем директорию, куда будем помещать исходники (этого можно и не делать, если аналогичная директория у Вас имеется):
sudo mkdir /root/src
Переходим в созданную директорию, сливаем с помощью wget архив с исходниками и распаковываем архив:
cd /root/src
sudo wget http://www.process-one.net/downloads/ejabberd/2.1.6/ejabberd-2.1.6.tar.gz
tar xzvf ejabberd-2.1.6.tar.gz
Конфигурируем:
cd /root/src/ejabberd-2.1.6/src
./configure
Компилируем и устанавливаем:
sudo make && sudo make install
Далее необходимо отредактировать конфиг /etc/ejabberd/ejabberd.cfg. Подробнее о конфигурировании я писал ранее в этом посте.
Давненько я не писал в своем блоге по разным причинам. Поздравляю всех с Новым Годом и Рождеством!
Хочу поделиться своим опытом установки Ejabberd – свободного и устойчивого к отказам XMPP-сервера. Установка производилась на VDS с ОС FreeBSD 6.3 от firstvds.ru из портов, хотя в портах не самая свежая версия на данный момент (в одной из следующих записей я расскажу как устанавливать Ejabberd из исходных кодов).
Для начала нам понадобится erlang-lite, ставим его из портов:
# cd /usr/ports/lang/erlang-lite/ && make install clean
Данный процесс займет достаточно большое количество времени.
Внесем пока записи в DNS для домена, на котором будет работать наш Jabber-сервер:
_jabber._tcp.example.com. IN SRV 5 0 5269 example.com.
_xmpp-server._tcp.example.com. IN SRV 5 0 5269 example.com.
_xmpp-client._tcp.example.com. IN SRV 5 0 5222 example.com.
где example.com – Ваш домен (точка в конце существенна!); _jabber._tcp.example.com., _xmpp-server._tcp.example.com. и _xmpp-client._tcp.example.com. – соответственно имена записей; SRV – тип записи; 5 – приоритет; 0 – условный вес записи.
Записи в DNS можно внести в разделе “Домены”, который можно найти в панели управления ISPmanager если Вы устанавливаете на VDS c этой панелью как в моем случае, либо в настройках домена Вашего регистратора.
Как только установился erlang-lite можно приступить к установке Ejabberd:
# cd /usr/ports/net-im/ejabberd && make install clean
Откроется предложение включить поддержку ODBC (необходимо для доступа к MySQL), включать не будем поскольку сервер у нас нагружен будет не особо сильно и мы обойдемся стандартной СУБД Ejabberd – Mnesia.
Ждем окончания установки и копируем файлы конфигурации:
# cp /usr/local/etc/ejabberd/ejabberd.cfg.example /usr/local/etc/ejabberd/ejabberd.cfg
# cp /usr/local/etc/ejabberd/inetrc.example /usr/local/etc/ejabberd/inetrc
Последние комментарии