| FreeBSD Jabberd2 Server Часть 2 |
| Автор Охальников Олег | ||||||
| 16:09:2009 г. | ||||||
|
Не прошло и пары недель с момента поднятия сервера Jabber2 и описания этого процесса в статье "FreeBSD Jabberd2" , как стало ясно, что дефолтного функционала недостаточно. Организация, в которой был поставлен jabber для связи удаленных офисов и магазинов распологает не очень квалифицированными пользователями, по части информационных технологий. Поэтому на меня легла нагрузка не только по настройке серверной части, но и клиентской. Необходимо установить около 30 jabber клиентов в разных частях города. Что получается, надо поставить клиента, завести аккаунд и вручную на память или по списку ввести все существующие аккаунды с сервера. После этого на те клиенты, которые уже на сервере добавлены, добавить в ростер новый контакт, вобщем долго, утомительно и неэффективно. Поэтому возникли следующие идеи:
1 >> подгружать всех пользователей зарегистрированных на сервере в ростер нового клиента автоматически
Начну с описания возможности ведения общего ростера на сервере jabberd2, правильнее эта возможность называется "ведение шаблонных списков пользователей". После регистрации каждый пользователь заносится администратором в специальный файл roster.xml, который находится в директории "templates" папки со всеми конфигами сервера (/usr/local/etc/jabberd). Но прежде чем начать редактировать файл, надо в sm.xml внести следующие правки: <template> Теперь добавляем пользователей в файл roster.xml: <query xmlns='jabber:iq:roster'> Секции добавляются для каждого пользователя. Перезапускаем сервер, потому как был изменен файл sm и roster: # /usr/local/etc/rc.d/jabberd restart Теперь при регистрации нового пользователя, в его ростере автоматически появится пользователь User1 в группе Support и два пользователя User2 и User3 в группе Rukovodstvo. Что такое subscription='none' - это означает, что у пользователей при добавлении не будет запрашиваться авторизация. Если необходимо добавлять пользователей с запросом авторизации, то меняем этот параметр на subscription='both' (у меня этот режим не работал как надо, т.е. при запросе выдает "Отказано в авторизации"). Переходим ко второму пункту, а именно, организация поиска пользователей на сервере. Для этого нам понадобится jabber-users-agent.
Ищем необходимый порт и устанавливаем: /usr/ports/net-im/jabber-users-agent После установки в директории /usr/local/lib/jabber/users-agent появятся два перловый скрипта, один для создания базы, другой для запуска jabber-users-agent. С созданием базы из перлового скрипта есть проблемы, надо доставлять перловые модули и прочее, поэтому проще создать файл DBCreateJUD.sql и заполнить его следующим содержимым: CREATE DATABASE JUD; Создаем базу из только что созданного файла: #mysql -u root -p < DBCreateJUD.sql Все готово, переходим к редактированию конфига jabber-users-agent #ee /usr/local/etc/jabber-users-agent.xml Правим: <secret>foobar</secret> foobar меняем на то, что прописано в router.xml в этом же поле. Дальше меняем параметры подключения к базе Мускул: <mysql> Меняем права на этот файл 660, и юзер группа jabber. После этого можно стартовать jabber-users-agent, для этого запускаем скрипт users-agent из /usr/local/lib/jabber/users-agent: ./users-agent Чтобы процесс был запущен в фоне: ./users-agent & Проверяем что агент запущен и работает: ps -waux | grep user Если что то пошло не так и как надо не работает, в users-agent скрипте можно задействовать режим отладки выставив следующий параметр в единицу: $optctl{debug} = 1; Теперь после запуска user-agent в консоль будут выводится отладочные сообщения: # ./users-agent Следующий шаг, это установка jabber клиента и регистрация пользователя на сервере, делаем на примере Psi. Думаю с регистрацией проблем не возникнет, поэтому регистрируем и авторизуемся на сервере, далее для этого пользователя переходим в "Сервисы" в них должен появится User-Agent:
Наводим курсор на User-Agent, нажимаем правую кнопку мыши и в контекстном меню выбираем "Зарегистрироваться". В открывшейся форме вводим данные для нового пользователя, они будут участвовать в поиске.
На последнем скриншоте в поле "Last" я поставил звёздочку. Если делать так для каждого пользователя, то в дальнейшем не нужно вспоминать кого надо найти, просто вводим в поле Last "*" и в окне поиска появляются все пользователи, которых и добавляем в свой список контактов.
Еще одна возможность - это интеграция jabber-users-agent + vcart. Что это значит, это значит при заполнении своей личной карточки пользователь автоматом публикует ее в JUD и она доступна для поиска. В официальной документации говорится о том, что данную возможность не следует применять на публичных серверах, так как всем будет доступна личная информация. Документация доступна здесь... Для реализации данной возможности нужно скачать патч и применить его следующей командой: patch -p0 < users-agent.vcard.patch jabber-users-agent в данном случае нужно скачать и установить отсюда: http://www.jabberstudio.org/projects/users-agent/releases/ tar -zxvf users-agent-1.1.tar.gz Опять же согласно документации делаем остальные настройки.
На этом все.
Просмотров: 1266
|
||||||
| « FreeBSD: Limiting closed port RST response from 214 to 200 packets per second | FreeBSD arpwatch » |
|---|


Ваш коментарий будет первым

