Мы уже писали про добавление ICQ, J2J и MRIM-транспортов к jabber-серверу на базе ejabberd. Сейчас мы продолжим эту тему и расскажем как добавить PyVK-t-транспорт, позволяющий пользователям Jabber обмениваться сообщениями с пользователями популярной в России социальной сети vkontakte.ru (PyVK-t расшифровывается как Python VKontakte Transport).
Итак добавить PyVK-t-транспорт к jabber-серверу на базе ejabberd, работающего под управлением Ubuntu Server 9.04 и обслуживающего домен our_firm.com (JID добавляемоего транспорта будет «pyvk-t.our_firm.com»), можно следующим образом:
Шаг первый. Устанавливаем необходимые пакеты:
apt-get install subversion python-xmpp
Шаг второй. Получаем последнюю версию транспорта из SVN-репозитория:
svn checkout http://pyvk-t.googlecode.com/svn/trunk/ /root/pyvk-t-read-only
Шаг третий. Создадём директории для хранения данных о пользовательских аккаунтах и отладки:
mkdir -p /var/spool/{cache,coockies,datadir,dumps}
Шаг четвёртый. Открываем в редакторе файл «/etc/ejabberd/ejabberd.cfg» и добавляем в секцию «listen» следующий фрагмент:
%% PyVK-t Transport {8885, ejabberd_service, [ {ip, {127, 0, 0, 1}}, {access, all}, {shaper_rule, fast}, {host, "pyvk-t.our_firm.com", [{password, "VerySecreT"}]} ]},
Здесь мы предполагаем, что для взаимодействия между транспортом и сервером будет использоваться порт 8885 и пароль для связи сервера с транспортом "VerySecreT". Если у вас другие параметры - внесите соответствующие правки. После внесения правок перезапустите jabber-сервер:
ejabberdctl restart
Шаг пятый. Создаём файл «/root/pyvk-t-read-only/pyvk-t_new.cfg» следующего содержания:
[general] transport_jid: pyvk-t.our_firm.com server: localhost secret: VerySecreT port: 8885 # JID админа, ему доступны дополнительные команды admin: admin@our_firm.com #всякие дополнительные фичи [features] #отображение аватарок. Раcкомментируйте для включения avatars: true sync_status: true #путь к кэшу аватарок. Раскомментируйте, чтобы включить. cache_path: /var/spool/pyvk-t/cache #управление ростером roster_management: true #поповещения о новых группах и прочем сообщением feed_notify: true #поддерживать статус online (экспериментально) #keep_online: true #сохранять cookies в указаный каталог cookies_path: /var/spool/pyvk-t/cookies #высылать прямые ссылки на аудио/видео resolve_links: true #директория для хранения данных datadir: /var/spool/pyvk-t/datadir [debug] #Путь для сохранения страниц, вызвавших ошибки. Оставьте пустым или закомментируйте для отключения. dump_path: /var/spool/pyvk-t/dumps
Подробное описание опций файла конфигурации можно найти в файлах «README.pyvk-t_new» и «pyvk-t_new.cfg.example» в дистрибутиве транспорта.
Запустим транспорт командой:
PYVKT_CONFIG=/root/pyvk-t-read-only/pyvk-t_new.cfg PYTHONPATH=/root/pyvk-t-read-only/ /usr/bin/twistd -y /root/pyvk-t-read-only/pyvkt_new.tac -l /var/log/pyvk-t.log -r epoll
Здесь переменная «PYVKT_CONFIG» указывает на используемый файл конфигурации, ключ «-l» указывает на файл журанал, а явное указание «PYTHONPATH» требуется для того, чтобы транспорт смог найти необходимые программные модули. Чтобы транспорт запускался автоматически при старте системы, нужно добавить эту команду в файл «/etc/rc.local».
На этом всё! Теперь вы, запустив ваш jabber-клиент, подключившись к серверу, выбрав в меню обзор сервисов и найдя в нём PyVK-t, сможете зарегистрироваться на нём, используя вашу учётную запись vkontakte.ru, после чего начинайте общаться с пользователями VKontakte.
Приятной вам работы!
Корректор: Регина Васильева (reggi86@mail.ru)
Anonymous 2009-10-16 11:47:25 (#)