The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Установка ejabberd и транспорта в icq-сеть. Руководство к действию. (jabber icq)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: jabber, icq,  (найти похожие документы)
From: Litos <litos@mail.ru.> Newsgroups: email Date: Mon, 1 Oct 2007 14:31:37 +0000 (UTC) Subject: Установка ejabberd и транспорта в icq-сеть. Руководство к действию. Я устанавливал ejabberd на виртуальный выделенный сервер с системой FreeBSD под управлением VDSmanager, но особого значения это не имеет, то есть статья подойдет один в один для установки на обычный сервер. Итак, приступим Устанавливаем ejabberd из портов Читали подсказали мне, что jdk устанавливать не обязательно, так что можете пропустить пункт с установкой diablo-jdk, но чтобы его не ставить, достаточно перед установкой ejabberd установить erlang-lite. Ничего сложного в этом нет, достаточно выполнить # cd /usr/ports/lang/erlang-lite # make install clean Порту erlang-lite jdk не нужен И потом уже переходим к установке с места cd /usr/ports/net-im/ejabberd Для установки ejabbed нам понадобится java. В темплейтах ISPmanager и Soft2006 она уже установлена на виртуальном сервере (поэтому можно сразу перейти к установке порта ejabberd), но мы рассмотрим случай с чистой системой FreeBSD. Установим diablo-jdk перед установкой сервера. Установка diablo-jdk Необходимость прочтения и принятия лицензионного соглашения для данного порта приводит к следующим действиям: Установим lynx если он еще не установлен (чтобы закачать файл) напрямую на сервер # cd /usr/ports/www/lynx # make install clean # cd /usr/ports/distfiles/ # lynx 'http://www.FreeBSDFoundation.org/cgi-bin/download?download=diablo-caffe-freebsd6-i386-1.5.0_07-b01.tar.bz2' Прочитаем лицензию и поставим галочку на I agree to the terms of this license agreement Также потребуется скачать файл tzupdater-1_2_2-2007g.zip Скачать этот файл (JDK US DST Timezone Update Tool - 1.2.2) размером 466 килобайт с http://java.sun.com/javase/downloads/index.jsp используя текстовый браузер затруднительно, потребуется регистрация, поэтому скачиваем его используя как вариант Firefox на рабочий компьютер и копируем на сервер используя ftp или scp в /usr/ports/distfiles # cd /usr/ports/net-im/ejabberd # make install clean Enable ODBC support не включаем, ждем пока соберется. Пока собирается ejabberd, настраиваем DNS Создаем следующие записи в зоне, указывающие на наш сервер (jabber.hostname.ru) icq IN A 82.146.*.* _jabber._tcp.jabber.hostname.ru. 86400 IN SRV 5 0 5269 jabber.hostname.ru. _xmpp-server._tcp.jabber.hostname.ru. 86400 IN SRV 5 0 5269 jabber.hostname.ru. _xmpp-client._tcp.jabber.hostname.ru. 86400 IN SRV 5 0 5222 jabber.hostname.ru. Очень важно чтобы в DNS были записи и корректно работал на сервере resolving имен, в противном случае вы будете видеть в онлайне только самого себя. Настраиваем ejabberd # cp /usr/local/etc/ejabberd/ejabberd.cfg.example /usr/local/etc/ejabberd/ejabberd.cfg # cp /usr/local/etc/ejabberd/ejabberd.defaults.example /usr/local/etc/ejabberd/ejabberd.defaults Редактируем # vi /usr/local/etc/ejabberd/ejabberd.cfg {acl, admin, {user, "vasya"}}. Добавим сюда нашего пользователя, который будет иметь права администратора, и пользоваться этими правами как через jabber, так и через веб-интерфейс (подробности в документации по ejabberd) Исправим localhost на названием вашего сервера % Host name: {hosts, ["jabberd.hostname.ru"]}. Настроим поддержку SSL Пропишем в /usr/local/etc/ejabberd/ejabberd.cfg % Listened ports: {listen, [{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper}, {max_stanza_size, 65536}, starttls, {certfile, "/usr/local/etc/ejabberd/ssl.pem"}]}, {5223, ejabberd_c2s, [{access, c2s}, {max_stanza_size, 65536}, tls, {certfile, "/usr/local/etc/ejabberd/ssl.pem"}]}, % Use STARTTLS+Dialback for S2S connections {s2s_use_starttls, true}. {s2s_certfile, "/usr/local/etc/ejabberd/ssl.pem"}. Полный путь к файлу ssl.pem Затем создадим сертификат # cd /usr/local/etc/ejabberd/ # openssl req -new -x509 -nodes -newkey rsa:1024 -days 3650 \ -keyout privkey.pem -out server.pem -subj \ "/C=XX/ST=XX/L=XX/O=XX/OU=XX/CN=jabberd.hostname.ru/emailAddress="mail@jabberd.hostname.ru # cat privkey.pem >> server.pem # rm privkey.pem # mv server.pem ssl.pem Добавим в запуск и запустим jabberd # vi /etc/rc.conf ejabberd_enable="YES" # /usr/local/etc/rc.d/ejabberd start Все, вы получили работающий и надежный jabber сервер. Транспорт в icq Вообще, лучше пользоваться каким-либо ICQ-клиентом, так как транспорт в icq работает весьма проблематично с русским языком, в отличие от MSN и MailRu Устанавливаем из портов pyICQ Собираем с опцией [X] EJABBERD Use with ejabberd (net-im/ejabberd) # cd /usr/ports/net-im/jabber-pyicq/ # make install clean Редактируем конфиг # vi /usr/local/etc/jabber-pyicq.xml <pyicqt> <!-- The JabberID of the transport. --> <jid>icq.jabberd.hostname.ru</jid> <!-- The IP address of the main Jabberd server --> <mainServer>82.146.xx.xx</mainServer> На VDS под управлением VDSmanager надо поменять IP-адрес 127.0.0.1, так как на нем порт слушаться не будет <!-- The JID of the main Jabber server --> <mainServerJID>jabber.localhost</mainServerJID> Тут тоже вместо jabber.localhost пропишем jabberd.hostname.ru (то есть имя вашего сервера) <!-- The authentication token to use when connecting to the Jabber server --> <secret>secret</secret> Пароль поменяем на другой для безопасности, скажем на skpwdq1 (буду в дальнейшем использовать его для обозначения) <!-- Default message encoding to use --> <encoding>iso-8859-1</encoding> Поменяем на <encoding>windows-1251</encoding> Теперь подсоединим его к ejabberd Запустим транспорт # vi /etc/rc.conf jabber_pyicq_enable="YES" Создадим для него директории # mkdir /var/spool/jabber/ # mkdir -p /var/jabberd/pid/ И выставим на них права # # chown ejabberd /var/spool/jabber/ # chown ejabberd /var/jabberd/pid/ Отредактируем конфиг jabberd # vi /usr/local/etc/ejabberd/ejabberd.cfg % Listened ports: {listen, [{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper}, {max_stanza_size, 65536}, starttls, {certfile, "/usr/local/etc/ejabberd/ssl.pem"}]}, {5223, ejabberd_c2s, [{access, c2s}, {max_stanza_size, 65536}, tls, {certfile, "/usr/local/etc/ejabberd/ssl.pem"}]}, % Use these two lines instead if TLS support is not compiled %{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper}]}, %{5223, ejabberd_c2s, [{access, c2s}, ssl, {certfile, "./ssl.pem"}]}, {5269, ejabberd_s2s_in, [{shaper, s2s_shaper}, {max_stanza_size, 131072} ]}, {5280, ejabberd_http, [http_poll, web_admin]}, % % пропишем наш сервис % {5247, ejabberd_service, [{access, all}, {hosts, ["icq.hostname.ru"], [{password, "skpwdq1"}]}]} ]}. Запустим транспорт и перезапустим jabber-сервер # /usr/local/etc/rc.d/jabber-pyicq-transport start Starting jabber_pyicq. # /usr/local/etc/rc.d/ejabberd restart Аналогично подключаются транспорты в другие сети, следует только их вешать на разные порты, например на 5247 - icq, 5248 - msn, 5249 - Agent MailRu В конфигурации транспорта задается порт, который он будет слушать, его же надо указывать в конфиге ejabberd, пример {5247, ejabberd_service, [{access, all}, {hosts, ["icq.hostname.ru "], [{password, "skpwdq1"}]}]}, {5248, ejabberd_service, [{access, all}, {hosts, ["msn.hostname.ru "], [{password, "skpwdq1"}]}]}, {5249, ejabberd_service, [{access, all}, {hosts, ["mrim.hostname.ru "], [{password, "skpwdq1"}]}]} Соответственно не забываем также прописать соответствующую запись A в конфигурации DNS на ваш сервер. Также рекомендую к прочтению руководство по инсталляции и настройке ejabbed Ejabberd 1.1.2 Installation and Operation Guide

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1.1, gonzo (?), 19:09, 02/10/2007 [ответить]  
  • +/
    Не надо там java. Либо ставить руками перед установкой erlang-lite, либо собирать ejabberd сразу с WITHOUT_X11=yes WITHOUT_JAVA=yes
     
  • 1.2, serverX (ok), 00:25, 03/10/2007 [ответить]  
  • +/
            _xmpp-server._jabber.hostname.ru. 86400 IN SRV 5 0 5269 jabber.hostname.ru.
            _xmpp-client._jabber.hostname.ru. 86400 IN SRV 5 0 5222 jabber.hostname.ru.

    tcp. - пропущено

     
  • 1.3, Leo (??), 12:54, 03/10/2007 [ответить]  
  • +/
    Написано нормально, скоро будет возможность проверить.
    Просьба только поправить замеченные неточности (как про обход java при помощи erlang-lite, так и про DNS с пропущенным tcp и точкой в конце первой записи)
    Спасибо.
     
  • 1.4, Konstantin (??), 12:56, 04/10/2007 [ответить]  
  • +/
    Что касается DNS:
    http://jabberd.jabberstudio.org/2/docs/section05.html#5_7
     
  • 1.5, Владимир (??), 11:35, 08/11/2007 [ответить]  
  • +/
    Сделал все как в статье указано.
    Запускаю ejabberd, а он мне выдает:
    %: not found
    %override_acls.: not found
    %: not found
    %: not found
    %{acl,: not found
    %{acl,: not found
    %: not found
    %{acl,: not found
    %: not found
    {acl,: not found
    %: not found
    %{acl,: not found
    %{acl,: not found
    ...
     
  • 1.6, Владимир (??), 11:41, 08/11/2007 [ответить]  
  • +/
    Что означает
    kernel-poll not supported; "K" parameter ignored
    {error_logger,{{2007,11,8},{11,39,36}},"inet_config: file ~s not found~n",["/usr
    /local/etc/ejabberd/ejabberd.inetrc"]}
    {error_logger,{{2007,11,8},{11,39,36}},"Protocol: ~p: register error: ~p~n",["inet_tcp",{{badmatch,{error,duplicate_name}},[{inet_tcp_dist,listen,1},{net_kernel,start_protos,4},{net_kernel,start_protos,3},{net_kernel,init_node,2},{net_kernel,init,1},{gen_server,init_it,6},{proc_lib,init_p,5}]}]}
    {error_logger,{{2007,11,8},{11,39,36}},crash_report,[[{pid,<0.20.0>},{registered_name,net_kernel},{error_info,{error,badarg}},{initial_call,{gen,init_it,[gen_se
    и т.д.
     
  • 1.7, litos (?), 18:02, 08/11/2007 [ответить]  
  • +/
    Поставил уже на 4 сервера 1 в один по этой инструкции - проблем нет
     
     
  • 2.8, DeathStar (?), 00:13, 22/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Поставил уже на 4 сервера 1 в один по этой инструкции -
    >проблем нет

    стукни в асю 346064 пжл

     

  • 1.9, DeathStar (?), 03:21, 24/12/2007 [ответить]  
  • +/
    проблема в настройке транспортов.Напишите в асю 346064 или в жабер deathstar@deathstar.name
     
  • 1.10, Linx (??), 11:44, 20/02/2009 [ответить]  
  • +/
    А про установку на MySQL ничего не сказано...
    И импорт экспорт пользователей тоже
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    MIRhosting
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру