Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Ejabberd + MySQL  (Прочитано 4327 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Bulvinkl2004

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Ejabberd + MySQL
« : 26 Мая 2014, 14:53:09 »
     Здравствуйте. Установил ejabberd, развернул, все работает. Далее была поставлена задача опубликовать и подружить его с MYSQL. Публикация проблем не вызвала. Проблема встала с адаптацией с MYSQL.
Есть ли на эту тему подробные инструкции. На многих сайтах есть информация,о нехватки какого-то модуля для взаимодействия с MYSQL.
     Пытался делать по http://ivanosipov.ru/?p=372. Но наткнулся на ошибки второго пункта при вводе команды
cd /root/src/ejabberd-modules/mod_ctlextra/trunk
./build.sh   (Crush dump).
     По инструкции с  http://www.sysadminwiki.ru/wiki/Ejabberd, нет доступа к схеме https://git.process-one.net/ejabberd/mainline/blobs/raw/2.1.x/src/odbc/mysql.sql. и нет информации о докачке дополнительных модулей взаимодействия с MYSQL.

     Проясните пожалуйста информацию по данной проблеме. Достаточно ли просто поставить mysql, создать базу и изменить в cfg метод подключения? Как будет себя вести Ejabberd + MySql с огромным количеством подключений (100 000 +). Как проверить номер версии установленного EJAbberd, если устанавливал с репозитория?
Я  даже не знаю с чего начать. Стоит Ubuntu 12.04.4 LTS.





Пользователь решил продолжить мысль 26 Мая 2014, 17:32:24:
Вообщем я смог частично прикрутить MYSQL к Ejabberd. Установка и настройка самого Ejabberd написано здесь же (https://help.ubuntu.ru/wiki/jabber_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80).
1.Далее ставим пакеты
apt-get install subversion mysql-server mysql-client2. Настраиваем MYSQL
mysql -u root -pCоздаем базу данных
CREATE DATABASE ejabberd;Создаем юзера
GRANT ALL PRIVILEGES ON ejabberd.* TO "ejabberd"@"localhost" IDENTIFIED BY "password";Обновляем права
FLUSH PRIVILEGES;Exit3.Настройка Ejabberd:
Качаем скрипт для заполнения таблиц в БД:
wget http://svn.process-one.net/ejabberd/tags/ejabberd-2.1.2/src/odbc/mysql.sql
4. Заходим в MYSQL и выполняем скачанный запрос
 mysql -u root -p -D ejabberd
 \. mysql.sql
 EXIT
5. Далее качаем модули подключения (как я понял, а лучше вы объясните, что это)
svn co http://svn.process-one.net/ejabberd-modules/mysql/trunk mysql-odbc6. Переходим в mysql-odbc ,Компилируем и копируем их
cd mysql-odbc/
./build.sh
7.Тут у меня возникла ошибка вида Crash Dump. Решение заключалось в установке полного пакета Erlang
 sudo apt-get install erlang  8. Переходим в папку Ebin и копируем все, что связано с MYSQL и изменяем владельца
cd ebin/
cp mysql* /usr/lib/ejabberd/ebin/
chown -R ejabberd /usr/lib/ejabberd/ebin/
9. Останавливаем сервер и редактируем файл Ejabberd.cfg
sudo /etc/init.d/ejabberd stop
sudo nano /etc/ejabberd/ejabberd.cfg
10. В файле ставим аутентификацию БД
{auth_method, odbc}11. Меняем названия модулей
 Старые названия {mod_last     []},             
                        {mod_offline  []},                                 
                        {mod_roster   []},                                 
                        {mod_vcard    []},
                           
Новые названия {mod_last_odbc,     []},
                     {mod_offline_odbc,  []},
                     {mod_roster_odbc,   []},
                     {mod_vcard_odbc,    []},
12.Строка подключения к MYSQL
{odbc_server, {mysql, "localhost", "ejabberd", "ejabberd", "Password"}}.13. Сохраняем файл и стартуем сервер
sudo /etc/init.d/ejabberd startВот и все.

Помогла следующая ссылка http://forum.odmins-it.ru/index.php?topic=170.0


Остаются еще вопросы. Это полный переход к MYSQL или какие-то данные еще хранятся во встроенной бд? Где можно узнать максимальное кол-во подключений? Как себя сервер будет вести с большим кол-вом пользователей (от 100 тыс и выше )?

Прошу прощение за корявое оформление.
« Последнее редактирование: 26 Мая 2014, 17:32:24 от Bulvinkl2004 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Ejabberd + MySQL
« Ответ #1 : 26 Мая 2014, 18:00:29 »
GRANT ALL PRIVILEGES ON ejabberd.* TO "ejabberd"@"localhost" IDENTIFIED BY "password";
4. Заходим в MYSQL и выполняем скачанный запрос
 mysql -u root -p -D ejabberd
 \. mysql.sql
 EXIT
Не надо так делать. Пользователь root используется ТОЛЬКО для администрирования системы. Заливать дампы БД лучше под пользователем этой БД.
Причина проста - на пользователей MySQL с аттрибутом SUPER не распространяются некоторые настройки, такие как настройки кодировок по умолчанию. Можно очень неслабо покорёжить БД, заливая её под рутом.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Bulvinkl2004

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Ejabberd + MySQL
« Ответ #2 : 26 Мая 2014, 19:02:07 »
Я так понимаю надо было под созданным пользователем зайти и выполнить этот скрипт? А часто такая ситуация случается? И в mysql есть какой-нибудь планировщик заданий для настройки бэкапов?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Ejabberd + MySQL
« Ответ #3 : 26 Мая 2014, 20:44:45 »
Я так понимаю надо было под созданным пользователем зайти и выполнить этот скрипт?
Очень желательно.
Цитировать
А часто такая ситуация случается?
Какая? Ещё раз, на пользователей с правом SUPER (таких, как root, debian-maint, и любой другой пользователь, созданный для администрирования БД), не действуют некоторые настройки. Это by design, для защиты от возможных ошибок в настройках параметров пользователей. Чтобы администратор мог войти и исправить, не перезапуская сервер без крайней необходимости.

Цитировать
И в mysql есть какой-нибудь планировщик заданий для настройки бэкапов?
В самом MySQL нет, если только вы не имеете в виду MySQL Cluster.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Bulvinkl2004

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Ejabberd + MySQL
« Ответ #4 : 27 Мая 2014, 10:56:38 »
Спасибо буду иметь в виду. А по поводу публикации? Мы серверу дали прямой IP и зарегистрировали ему имя на хостинге. Но почему то обращение к нему по имени не всегда доступно (то работает, то нет)? В какую сторону смотреть не подскажешь?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Ejabberd + MySQL
« Ответ #5 : 27 Мая 2014, 15:30:39 »
Если "прямой IP" - это "ещё один IP на этой же машине" - у вас проблема в маршрутизации, скорее всего.
Честно говоря, не вижу большого смысла плодить адреса на одной машине без большой необходимости.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Bulvinkl2004

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Ejabberd + MySQL
« Ответ #6 : 30 Мая 2014, 12:43:32 »
Проблемы с хостингом были. Все работает

 

Страница сгенерирована за 0.116 секунд. Запросов: 25.