The OpenNET Project / Index page

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

Установка ejabberd с базой на MySql и установка ICQ транспорта PyICQt (jabber icq freebsd)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: jabber, icq, freebsd,  (найти похожие документы)
From: Groall и Kult <groall@tsure.ru.> Newsgroups: email Date: Mon, 31 May 2009 17:02:14 +0000 (UTC) Subject: Установка ejabberd с базой на MySql и установка ICQ транспорта PyICQt В данной статье мы расскажем,как установить и настроить ejabberd с авторизацией через MySQL. В дополнение будет приведен раздел по установке и настройке pyICQ-t - транспорта ICQ для ejabberd. Процедуры установки ejabberd и mysql приведены в двух вариантах: установка из портов и установка из исходных текстов. Многие скажут "ставить из исходных текстов на FreeBSD плохо" - однако, когда у вас не установится из портов или установится, но не заработает, то Вам придется ставить из исходников. Поэтому, расскажем и про них. 1. Установка erlang Для начала нам нужно установить erlang. Чтобы не ставить много лишнего, достаточно установить erlang-lite. В /usr/ports/lang/erlang-lite/Makefile WITHOUT_ODBC=yes меняем на WITH_ODBC=yes Выполняем cd /usr/ports/lang/erlang-lite make install clean 2. Установка ejabberd Установка ejabberd из портов В /etc/make.conf прописываем WITHOUT_JAVA=yes WITH_ODBC=yes Это нужно чтобы ejabberd собрался без Java и с поддержкой ODBC. Далее как всегда cd /usr/ports/net-im/ejabberd/ make install clean Установка ejabberd из исходных текстов Скачиваем последний релиз с официального сайта. Распаковываем архив и конфигурируем ejabberd с поддержкой ODBC ./configure --enable-odbc gmake Устанавливаем его командой gmake install Объясним назначение созданных после установки из исходников файлов и каталогов: /etc/ejabberd/ содержит конфигурационные файлы: ejabberd.cfg конфигурационный файл ejabberd ejabberdctl.cfg конфигурационный файл административного скрипта inetrc настройки DNS /sbin/ejabberdctl административный скрипт /var/lib/ejabberd/ .erlang.cookie куки Erlang db файл базы Mnesia. Родная база ejabberd ebin бинарные файл Erlang (*.beam). По сути плагины lib системные библиотеки (*.so) msgs Переведенные сообщения (*.msgs) /var/log/ejabberd/ файлы лога. Очень полезные файлы, когда что-то не хочет работать. ejabberd.log лог самого ejabberd sasl.log лог Erlang/OTP 3. Запуск ejabberd Запуск ejabberd, установленного из исходных текстов ejabberdctl start Проверка статуса ejabberdctl status Node ejabberd@localhost is started. Status: started ejabberd is running Остановка ejabberd ejabberdctl stop Запуск ejabberd, установленного из портов ejabberd start Проверка статуса ejabberd status Node ejabberd@localhost is started. Status: started ejabberd is running Остановка ejabberd ejabberd stop 4. Установка и настройка MySQL Установка MySQL из портов cd /usr/ports/databases/mysql50-server/ make install clean Запуск и настройка MySQL. Запуск производится командой /usr/local/etc/rc.d/mysql-server start Запускаем утилиту mysql ./mysql Создаём базу под ejabberd, так и назовём, ejabberd. CREATE DATABASE 'ejabberd' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; Создаём пользователя и наделяем правами. GRANT ALL PRIVILEGES ON * . * TO 'ejabberd'@'%' IDENTIFIED BY 'my_pass' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ; Обновляем привилегии. FLUSH PRIVILEGES; 5. Настройка ejabberd для использования базы MySQL. Открываем в любимом текстовом редакторе конфиг ejabberd.cfg. Комментарии начинаются с % Прописываем виртуальные хосты. Желательно, чтобы они совпадали с реальными доменами, на которых стоит серв. Например, jabber.tsure.ru {hosts, [["jabber.tsure.ru"]]}. Прописываем кто у нас будет админ, через запятую. Где admin_name - логин админа, localhost - хост, в котором он админит {acl, admin, {user, "admin_name", "localhost"}}. Меняем авторизацию средствами ejabberd на авторизацию с помощью odbc. Комментируем строчку {auth_method, internal}. И расскоментируем {auth_method, odbc}. Ищем строку начинающаюся с %%{odbc_server, {mysql, Убираем комментарий и прописываем в неё данные для подключения к базе jabber. Например, {odbc_server, {mysql, "localhost", "ejabberd", "ejabberd", "my_pass"}}. Меняем язык по умолчанию для сообщений сервера {language, "ru"}. Меняем значения: mod_last на mod_last_odbc mod_offline на mod_offline_odbc mod_privacy на mod_privacy_odbc mod_private на mod_private_odbc mod_roster на mod_roster_odbc mod_vcard на mod_vcard_odbc Сохраняем и закрываем ejabberd.cfg Скачиваем файл со структурой БД B этом файле меняем строку "SET table_type=InnoDB;" на "SET storage_engine=InnoDB;" и удаляем последние четыре закомментированные строки. Подключаемся к базе данных и выполняем полученный sql-код. Например: mysql>\. mysql.sql Теперь скачиваем модули erlang для работы с MySQL Распаковываем файлы архива в /usr/lib/erlang/lib/ejabberd-<номер_версии>/ebin/ и меняем их владельца: chown ejabberd:ejabberd /usr/lib/erlang/lib/ejabberd-<номер_версии>/ebin/mysql* После всего запускаем сервис и смотрим логи. Должно заработать. Регистрируем своего админа из любимого клиента или командой на сервере ejabberdctl register admin_name hostname password и наслаждаемся жизнью. Для продвинутых настроек и статистики используйте web-admin https://hostname:5280/admin/ Логин и пароль ваши, логин должен быть полный JID. 6.Установка ICQ-транспорта cd /usr/ports/net-im/jabber-pyicq/ make install clean Далее идём редактировать конфигурационный файл pyICQt: cd /usr/local/etc/ vi jabber-pyicq.xml Имя траспорта. Обычно оно строится на базе домена непосредственно jabber с добавлением icq. в начале. К примеру, у jabber домен jabber.tsure.ru, транспорт будет называться icq.jabber.tsure.ru. <!-- The JabberID of the transport. --> <jid>icq.jabber.tsure.ru</jid> Адрес, где находится jabber-сервер. Если находится на той же машине, где и сам jabber, то 127.0.0.1 <!-- The IP address of the main Jabberd server --> <mainServer>127.0.0.1</mainServer> Имя jabber-сервера: <!-- The JID of the main Jabber server --> <mainServerJID>jabber.tsure.ru</mainServerJID> Сайт сервера. Можно написать что угодно, на работе оно не сказывается. <!-- The website of the Jabber service --> <website>http://jabber.tsure.ru/<;/website> Порт, по которому ejabberd и pyicqt будут обмениваться информацией. <!-- The TCP port to connect to the Jabber server on --> <!-- The hostname of the ICQ server you wish to connect to --> <icqServer>login.icq.com</icqServer>Jabberd2) --> <port>5347</port> Пароль, используемый для аутентификации на сервере. Скопируйте куда-нибудь или запомните - он ещё пригодится для конфиругирования ejabberd.cfg <!-- The authentication token to use when connecting to the Jabber server --> <secret>FkJ32dsdfsf3322_523424</secret> Без комментариев. <!-- The default language to use (for error/status messages) --> <lang>ru</lang> Кодировка. Обычно это cp1251. Так и запишем. <!-- Default message encoding to use --> <encoding>cp1251</encoding> Адрес ICQ-сервера для коннекта транспорта. Какой больше нравится, такой и устанавливаем. <!-- The hostname of the ICQ server you wish to connect to --> <icqServer>login.icq.com</icqServer> Порт. Обычно это 5190. Если сервер использует другой порт, то меняем. <!-- The port of the ICQ server you wish to connect to --> <icqPort>5190</icqPort> Ну и всё, пожалуй, - остальные настройки являются опциональными. 7. Подключение транспорта Открываем уже известный ejabberd.cfg. Убираем комментарии со следующего блока: %%{8888, ejabberd_service, [[ %% {access, all}, %% {shaper_rule, fast}, %% {ip, {127, 0, 0, 1}}, %% {hosts, [[ "icq.example.org", "sms.example.org"]], %% [[ {password, "secret"}]] %% } %% ]]}, Ставим свой порт. {5347, ejabberd_service, [[ Хосты. {hosts, [[ "icq.jabber.tsure.ru", "sms.jabber.tsure.ru"]], Ранее придуманный пароль аутентификации. [[ {password, "FkJ32dksd67f54_fvi21"}]] Всё. Сохраняем. Перезапускаем. jabber-pyicq-transport restart && ejabberdctrl restart

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

Обсуждение [ RSS ]
 
  • 1.1, anon, 08:13, 01/06/2009 [ответить] [смотреть все]
  • +/
    Мдя мне кажется от волнения автор все перепутал

    <Установка ejabberd из портов
    В /etc/make.conf прописываем

            WITHOUT_JAVA=yes
            WITH_ODBC=yes


    Это нужно чтобы ejabberd собрался без Java и с поддержкой ODBC.>
    ejabberd от java никак не зависит и с ней уж точно не собирается, а вот erlang-lite как раз таки собирается без java (поэтому и light)
    Во вторых совсем не расскрыта тема запуска ejabber не от пользователя root.
    Вобщем статья написана на скорую руку при сильном волнении видимо

     
     
  • 2.3, adn13, 15:47, 02/06/2009 [^] [ответить] [смотреть все]
  • +/
    статья явно написана двумя студентами, которые за ночь установили ejabberd + mysql + pyicqt. а под утра написали статью
     
     
  • 3.4, ashep, 16:16, 02/06/2009 [^] [ответить] [смотреть все]
  • +/
    А почему двумя?
     
  • 1.2, XoRe, 09:29, 01/06/2009 [ответить] [смотреть все]
  • +/
    .if ${.CURDIR:N*/usr/ports/net-im/ejabberd} == ""
    WITHOUT_JAVA=yes
    WITH_ODBC=yes
    .endif

    В /etc/make.conf будет разумнее, чем просто:
    WITHOUT_JAVA=yes
    WITH_ODBC=yes

     
  • 1.5, катапульта, 21:18, 01/06/2010 [ответить] [смотреть все]
  • +/
    пытаюсь собрать erlang в ubuntu 8.04
    выдает ошибку
    ODBC library - link check failed
     
  • 1.6, Strannikj, 13:45, 02/08/2010 [ответить] [смотреть все]  
  • +/
    Поправьте ссылку на mysql.sql
    https://git.process-one.net/ejabberd/mainline/blobs/master/src/odbc/mysql.sql
     
  • 1.7, Алексей, 01:16, 18/11/2011 [ответить] [смотреть все]  
  • +/
    Хосты.

            {hosts, [[ "icq.jabber.tsure.ru", "sms.jabber.tsure.ru"]],

    А можно ли сами хости хранить в mysql, когда их более 1000 переписывать конфиг проблемно

     
  • 1.8, Ден, 15:02, 16/02/2012 [ответить] [смотреть все]  
  • +/
    Сервер ejabberd вообще не запускается. Куда вообще кладутся скрипты запуска у сервера? Ни ejabberd, ни ejabberdctl не находятся средой.
     

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





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor