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 (ok), 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 не находятся средой.
     
  • 1.9, Игорь (??), 18:20, 01/06/2020 [ответить]  
  • +/
    1. Конфиг находится не в /etc/ejabberd а в /opt/ejabberd/conf/ejabberd.yml

    2. Ссылки все, которые указаны в статье, битые.

    3. Киньте ссылку на готовые бинарные модули mod_mysql.beam и mod_odbc.beam (не исходные коды). Компилировать модули из исходных кодов нет ни времени, ни желания. Это надо ставить Erlang, который за собое еще тонну других пакетов потянет. Естественно при компиляции вылезет куча ошибок, которые разгребать тоже не хочется. Проще готовые бинарники скачать.

     

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




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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