Установка Ejabberd 2.1.0 и модулей shared roster ldap и log chat
Это продолжение серии статей про XMPP-сервер ejabberd. Начало данной эпопеи вы можете прочитать тут:
1.Установка Ejabberd. Введение.
2.Установка Erlang
В этой части мы займемся установкой всех составных частей нашего сервера. Начнем!!
Скачиваем Ejabberd 2.1.0, нам понадобится Linux x86 32-bin Installer.
Разархивируем
# gzip -d ejabberd-2.1.0-linux-x86-installer.bin.gz
Если у вас уже был установлен ejabberd, сохраните старый файл конфигурации, его можно будет использовать.
Заходим в каталог ejabberd по умолчанию
# cd /opt/ejabberd-2.0.5
Деинсталлируем старый
# ./uninstall
Инсталлируем новый.
# chmod +x ejabberd-2.1.0-linux-x86-installer.bin
# ./ejabberd-2.1.0-linux-x86-installer.bin
В ходе установки вам будет предложено, выбрать язык, указать путь где будет находится
ваш сервер, доменное имя сервера, имя и пароль админа, будет ли сервер состоять в кластере.
Одним словом ничего сложного в установке ejabberd нет.
Установка ejabberd закончена, следующий этап установка нужных нам модулей.
Нам понадобится модуль shared roster ldap и log chat. Первый поможет Ejabberd работать с Active Directory, второй
писать логи всех сообщений проходящих через сервер.
Скачать их можно отсюда:
mod_shared_roster_ldap
mod_log_chat
1. Сейчас будем компилировать mod_shared_roster_ldap, для этого скачиваем последнюю версию
# wget http://www.ejabberd.im/files/contributions/mod_shared_roster_ldap.erl
2. Выставляем права
# chmod 777 mod_shared_roster_ldap.erl
Теперь внимание очень интересный момент!!! Нам необходимо скомпилируем модуль с помощью Erlang.
Я делал так (хотя есть еще несколько способов):
3. Скачанный mod_shared_roster_ldap.erl поместил в /opt/ejabberd-2.1.0/includes/ejabberd/include
потому что там находятся все файлы необходимые для компиляции.
4. Заменил в mod_shared_roster_ldap.erl строку
-include(”eldap/eldap.hrl”).
на
-include(”eldap.hrl”).
потому что при компиляции, ругается что файл eldap.hrl нет в каталоге eldap
./mod_shared_roster_ldap.erl:43: can’t find include file “eldap/eldap.hrl”
(просто каталога eldap нет, а файлик eldap.hrl лежит в /opt/ejabberd-2.1.0/includes/ejabberd/include)
5. Заходим
# cd /opt/ejabberd-2.1.0/includes/ejabberd/include
6. Запускаем Erlang
# erl
7. Компилируем модуль
1> c(mod_shared_roster_ldap).
8. Выходим
2> q().
9. Скопировать mod_shared_roster_ldap.beam в каталог /opt/ejabberd-2.1.0/lib/ejabberd-2.1.0/ebin
У меня процедура компиляции выглядит так:
[root@jabber include]# erl
Erlang R13B03 (erts-5.7.4) [source] [rq:1] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.7.4 (abort with ^G)
1> c(mod_shared_roster_ldap).
./mod_shared_roster_ldap.erl:18: Warning: behaviour gen_mod undefined
./mod_shared_roster_ldap.erl:553: Warning: regexp:sub/3: the regexp module is deprecated (will be removed in R15A); use the re module instead
{ok,mod_shared_roster_ldap}
2> q().
okНесмотря на 2 Warninga все должно работать
Компилируем модуль mod_log_chat тем же способом, только его надо забрать на svn
# mkdir svn
# cd svn
# svn co https://svn.process-one.net/ejabberd-modules
Тот файл, что нам нужен находится тут:
/opt/ejabberd-2.1.0/includes/ejabberd/include/svn/ejabberd-modules/mod_log_chat/trunk/src/mod_log_chat.erl
Переносим в /opt/ejabberd-2.1.0/includes/ejabberd/include
# chmod 777 mod_log_chat.erl
# erl
1> c(mod_log_chat).
2> q().
Переносим mod_log_chat.beam в /opt/ejabberd-2.1.0/lib/ejabberd-2.1.0/ebin
Файлы mod_log_chat.erl, mod_shared_roster_ldap.erl и папку svn можно удалить они теперь нам не нужны.
Все можно приступить к конфигурации сервера, этим мы займемся в следующей раз
Связанные записи
-
http://privats.ru/2009/12/ustanovka-ejabberd-vvedenie.html Блог Безумного Админа » Blog Archive » Установка Ejabberd. Введение.
-
http://privats.ru/2009/12/ustanovka-erlang-r13b03-na-linux.html Блог Безумного Админа » Blog Archive » Установка Erlang R13B03 на linux
-
moog
-
http://skokov.ru jump
-
http://privats.ru/ Безумный Админ
