Установил джабберд2 из портов,настроил,все работает нормально. Но клиентам нужен поиск (и возможно в будущем конференции).Искал в нете,но ничего толкового в установке и настройке джуда не нашел=(
Помогите плиз начинающему админу кто чем может!Заранее спасибо!
> Установил джабберд2 из портов,настроил,все работает нормально. Но клиентам нужен поиск (и
>возможно в будущем конференции).Искал в нете,но ничего толкового в установке и
>настройке джуда не нашел=(
> Помогите плиз начинающему админу кто чем может!
>
> Заранее спасибо!Посмотри ejabberd, он активнее девелопится... и поиск там есть...
>Посмотри ejabberd, он активнее девелопится... и поиск там есть...А админка там работает? Конференции?
А то забодался я с этим jabberd2 - прописал свой JID во всех конфигах, один фиг - прав как у обычного юзверя... Да и документации как-то не очень по нему...
И почему я выбрал именно jabberd2?...
>>Посмотри ejabberd, он активнее девелопится... и поиск там есть...В том то и дело что мне надо именно для Джабберд2 достроить поиск и именно во фре.Слышал что это возможно=) Но никто не описывал =( Если кто может выложите описание плиз
Все не прошло и полгода сам разобрался=))Может кому понадобиться выкладываю свой жалкий опыт установки Джаббера 2 для локалки =) :
0.Создание юзера jabber из группы jabber
#adduser
1.Установка Жабы
думую не вызывает проблем -
в портах /usr/ports/net-im/jabberd
#make install clean
2.Настройка жабы
Можно ниче не менять и оставить все поумолчанию,но желательно изменить
в файлах /usr/local/etc/jabberd/sm.xml
/usr/local/etc/jabberd/c2s.xmlЕсли сервак будет не только для локалки,а со связью с глобальными,то так же меняем в
/usr/local/etc/jabberd/s2s.xml
/usr/local/etc/jabberd/resolver.xmlЕсли нет то можно закоментить в jabber.cfg эти части
меняем имя сервера,и пароль(хотя можно и не менять)
id имя сервера - это то что после @ =) может быть любое (по умолчанию localhost)
user имя для router.xml (jabberd)
pass пароль тожа для router.xml (secret)Еще граббли были с паролем в файле router-users.xml - если везде поменяли, то и здесь не забудьте
3.Настройка БД
по умолчанию используется мускул,ниче менять не будем
заходим под рутом в мускул и запускаем скрипт(должны находиться в папке со скриптом /usr/local/share/jabberd)
mysql -u root -p
mysql>\. db-setup.mysqlдобавляем юзера(jabberd2) БД и пароль(secret) к нему
GRANT select,insert,delete,update ON jabberd2.* to jabberd2@localhost IDENTIFIED by
'secret';если изменили, не забудьте изменить и в sm.xml
на всякий случай делаем ссылку
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
Попробуйте запустить - заходим под jabber и набираем>jabberd
В /var/logs/messages смотрим результат - должно быть реди
если не запустился,то гдето косяк,запускаем в отладочном режиме>jabberd -D
смотрим на чем сервер умирает и исправляем
4.Установка users-agent
/usr/ports/net-im/jabber-users-agent
#make install clean5.Настройка users-agent
в /usr/local/etc/
опять изменяем конфиг имя,пароль,имя БД(jud),пароль БД(jud)
6.Настройка БД
можно наверно запустить скрипт,но говорят он не работает,поэтому пишем сами
CREATE DATABASE JUD;
GRANT ALL PRIVILEGES ON JUD.* to jud@localhost IDENTIFIED BY 'jud';
CREATE TABLE JUD.jud (jid VARCHAR(100) PRIMARY KEY, name VARCHAR(100),
first VARCHAR(50), last VARCHAR(50),nick VARCHAR(50),
email VARCHAR(50), INDEX ind_name (name), INDEX ind_first (first),
INDEX ind_last (last), INDEX ind_nick (nick),
INDEX ind_email (email));7.Все запускаем изпод юзера jabber - сначала сам джаббер-сервер
>jabberdможно в фоновом режиме с параметром -B
Потом users-agentв папке /usr/local/lib/jabber/users-agent
>./users-agent
Все проверяйте в PSI - создавать аккаунты и пытаться найти себя=)
Какие были у меня граббли:
Читал всякие вики и ртфм и запутылся=) :
а)Проблемы с правами доступа, так как запускать можно только от пользователя Jabber,не забудьте для конфигов поставить права доступа
б)Исправление файла router-users.xml - нигде вроде не встречал, поэтому и не исправлял
в)Устанавливать надо jabber-users-agent, а не jabber-JUD =)
г)Перловский скрипт запускается с ./ =)
д)Если был до другой джаббер сервер все сносите деинсталом и подчищайте вручнуюВообщето все лежит на
http://jabberd.jabberstudio.org/2/docs/jabberd_guide.html
но там много и на английском,неохото читать.И еще помогло
http://ru.gentoo-wiki.com/Настройка_JUD_на_сервере_Jabberd_версии_2.x
.......
>
>Вообщето все лежит на
>
>http://jabberd.jabberstudio.org/2/docs/jabberd_guide.html
>
>но там много и на английском,неохото читать.И еще помогло
>
>http://ru.gentoo-wiki.com/Настройка_JUD_на_сервере_Jabberd_версии_2.xДелал по указанному алгоритму. Возникла следующая ошибка
root@slackware:/usr/local/bin# ./users-agent
Users-Agent: Giving up and exiting...
при установки debug = 1 в программе users-agent:
Выдает:
XML::Stream: new: hostname = (slackware.***.ru)
XML::Stream: SetCallBacks: tag(node) func(CODE(0x89eb158))
XMPP::Conn: xmppCallbackInit: start
XMPP::Conn: SetCallBacks: tag(message) func(CODE(0x89eb344))
XMPP::Conn: SetCallBacks: tag(presence) func(CODE(0x89eb2e4))
XMPP::Conn: SetCallBacks: tag(iq) func(CODE(0x89eb284))
XMPP::Conn: SetPresenceCallBacks: type(subscribe) func(CODE(0x89eb2d8))
XMPP::Conn: SetPresenceCallBacks: type(subscribed) func(CODE(0x89eb4b8))
XMPP::Conn: SetPresenceCallBacks: type(unsubscribe) func(CODE(0x89eb458))
XMPP::Conn: SetPresenceCallBacks: type(unsubscribed) func(CODE(0x89eb518))
XMPP::Conn: SetDirectXPathCallBacks: xpath(/[@xmlns="urn:ietf:params:xml:ns:xmpp
-tls"]) func(CODE(0x89eb5d8))
XMPP::Conn: SetDirectXPathCallBacks: xpath(/[@xmlns="urn:ietf:params:xml:ns:xmpp
-sasl"]) func(CODE(0x89eb6ec))
XMPP::Conn: xmppCallbackInit: stop
XMPP::Conn: SetIQCallBacks: type(get) func(CODE(0x895a770)) namespace(http://jab
ber.org/protocol/disco#items)
XMPP::Conn: SetIQCallBacks: type(get) func(CODE(0x8959dd4)) namespace(http://jab
ber.org/protocol/disco#info)
XMPP::Conn: SetIQCallBacks: type(get) func(CODE(0x894ec94)) namespace(jabber:iq:
search)
XMPP::Conn: SetIQCallBacks: type(set) func(CODE(0x894efdc)) namespace(jabber:iq:
search)
XMPP::Conn: SetIQCallBacks: type(get) func(CODE(0x8949f4c)) namespace(jabber:iq:
register)
XMPP::Conn: SetIQCallBacks: type(set) func(CODE(0x894e610)) namespace(jabber:iq:
register)
XMPP::Conn: Execute: begin
XMPP::Conn: Execute: Attempt to connect (-1)
XMPP::Conn: Connect: host(127.0.0.1:5347) namespace(jabber:component:accept)
XMPP::Conn: Connect: timeout(10)
XML::Stream: Connect: type(tcpip)
XML::Stream: Connect: Got a connection
XML::Stream: Send: (<?xml version='1.0'?><stream:stream version='1.0' xmlns:stre
am='http://etherx.jabber.org/streams' xmlns='jabber:component:accept' to='slackw
are.***.ru' from='slackware.***.ru' xml:lang='en' >)
XML::Stream: Read: buff(<?xml version='1.0'?><stream:stream xmlns:stream='http:/
/etherx.jabber.org/streams' xmlns='jabber:component:accept' to='slackware.***.ru' from='slackware.****.ru' version='1.0' id='1qlguudihzt2ni0y60ia0do5
ncl6pciq347xykgf'><stream:features xmlns:stream='http://etherx.jabber.org/stream
s'><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>DIGEST-MD5</m
echanism></mechanisms></stream:features>)
XMPP::Conn: Connect: connection made
XML::Stream: SetCallBacks: tag(node) func(CODE(0x89ebb48))
XMPP::Conn: Execute: Connected...
XML::Stream: SetCallBacks: tag(node) func(CODE(0x89e7b64))
XMPP::Conn: SendXML: sent(<handshake>45689e23e6e892da521c46c5f37f19b74ec6040d</h
andshake>)
XML::Stream: Send: (<handshake>45689e23e6e892da521c46c5f37f19b74ec6040d</handsha
ke>)
XML::Stream: Read: buff(<handshake xmlns='jabber:component:accept'/><stream:erro
r xmlns:stream='http://etherx.jabber.org/streams'><host-unknown xmlns='urn:ietf:
params:xml:ns:xmpp-streams'/><text xmlns='urn:ietf:params:xml:ns:xmpp-streams'>r
equested name is already in use</text></stream:error></stream:stream>)
XMPP::Conn: Process: status(-1)
XMPP::Conn: Process: return(-1)
XMPP::Conn: Execute: Could not auth with server: (fail: Bad handshake.)
XMPP::Conn: Execute: Register turned off. Exiting.
XML::Stream: Send: (</stream:stream>)
XML::Stream: SetCallBacks: tag(node) func(CODE(0x89e7c3c))
XMPP::Conn: Disconnect: bye bye
XMPP::Conn: Connected: (0)
XMPP::Conn: Execute: end
Users-Agent: Giving up and exiting...Кто сталкивался с такой проблемой подскажите !!
Очень нужен поиск в jabberd2 :)
Заранее благодарен !
>.......
>XMPP::Conn: Execute: end
>Users-Agent: Giving up and exiting...
>
>Кто сталкивался с такой проблемой подскажите !!
>Очень нужен поиск в jabberd2 :)
>Заранее благодарен !Та же проблема - не пойму что делать.
Если кто знает просьба написать
>>.......
>>XMPP::Conn: Execute: end
>>Users-Agent: Giving up and exiting...
>>
>>Кто сталкивался с такой проблемой подскажите !!
>>Очень нужен поиск в jabberd2 :)
>>Заранее благодарен !
>
>Та же проблема - не пойму что делать.
>Если кто знает просьба написатьРазобрался.
Начал с начала.
Пробуем создать бд скриптом /usr/local/lib/jabber/users-agent/createDBругается на неустановленный драйвер DBI_DRIVER
server# set_env DBI_DRIVER mysql
правда скрипт всеравно не работал - ругался на синтаксис. правим скрипт.
#!/bin/sh
#-*-Perl-*-exec perl -x $0 "$@"
#!/perl
use DBI;
use strict;my @dbs = DBI->data_sources("mysql");
my $DBHandle = DBI->connect("$dbs[0]","root","пасс рута");
$DBHandle->func("createdb","JUD","admin");
$DBHandle->disconnect();my $DBHandle = DBI->connect("DBI:mysql:database=JUD","root","пасс рута");
my $sth = $DBHandle->prepare("CREATE TABLE JUD.jud (jid VARCHAR(100) PRIMARY KEY , name VARCHAR(100),first VARCHAR(50), last VARCHAR(50),nick VARCHAR(50),email VARCHAR(50), INDEX ind_name (name), INDEX ind_first (first),INDEX ind_last (last), INDEX ind_nick (nick), INDEX ind_email (email));
$sth->execute;
$DBHandle->disconnect();server# ./createDB
server#база готова.
Установим модули perl
# cpan
cpan> install Net::Jabber
cpan> install Net::Jabber::X
cpan> install XML::Stream
cpan> install DBIготово
Запускаем юзер агент
Users-Agent: Giving up and exiting...Что-то не так
# cd /usr/ports/net-im/jabber-users-agent/
# make deinstall cleanСносим его к черту и идем сюда
ftp.uvigo.es/pub/software/red/jabber/exodus/users-agent-1.1.tar.gz# tar -zxvf users-agent-1.1.tar.gz
# cd users-agent-1.1
# ./users-agentЗапустился!!!
идем сюда
http://jabberd.jabberstudio.org/2/docs/tools/users-agent.vca...# patch -p0 < users-agent
ошибка создания таблиц может быть из-за пароля на mysql root, я его удалял перед созданием базы
>
>на всякий случай делаем ссылку
>
>ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
>Спасибо за подсказку про ссылку, а то весь извёлся