Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> программы —> ejabberd + mysql

ejabberd + mysql Сервер мгновееных сообщений


У меня в сети настроен и работает старенький jabberd 1.4, все это вертится на FreeBSD 5.1-RELEASE-p11. Сервер подлежит списанию и надо с него переносить все установленные сервисы, и остался один только jabberd. Порывшись по интернету, я открыл для себя два jabber сервера которые мне подходили, а именно jabberd 2 и ejabberd. Я решил в остановиться на втором, хотя первый у меня так же заработал. Ну чтож начнем ставить это все. Сразу предупрежу, ставить я это буду на FreeBSD 6.2-RELEASE в jail. Как создавать и настраивать jail я не буду рассказывать, это можно посмотреть здесь. Допустим вы все поняли и все получилось, начнем. Я буду собирать с ejabberd с поддержкой mysql, так что с него и начнем, логинемся на jail.
[root@jabberd ~]# cd /usr/ports/databases/mysql41-server/
[root@jabberd mysql41-server]# make install clean

собрали и поставили, теперь запустим, выполним в консоли следующее:
[root@jabberd mysql41-server]# echo 'mysql_enable="YES"' >> /etc/rc.conf
[root@jabberd mysql41-server]# echo 'mysql_limits="NO"' >> /etc/rc.conf
[root@jabberd mysql41-server]# echo 'mysql_dbdir="/var/db/mysql"' >> /etc/rc.conf
[root@jabberd mysql41-server]# echo 'mysql_args=""' >> /etc/rc.conf

запустим его:
[root@jabberd mysql41-server]# /usr/local/etc/rc.d/mysql-server start
Starting mysql.
[root@jabberd mysql41-server]#

Так, все север где мы будем хранить информацию о пользователях установлен и запущен, теперь займемся самим ejabberd, переместимся в его порт ну и поставим конечно.
так как ему необходим язык erlang придуманный компанией Ericsson, да еще и с поддержкой mysql. Мне не улыбалось его собирать из сырцов, не хотелось ждать, так что некоторые программы необходимые по зависимостям ejabberd я поставил и пакеджей. Мне если честно после установки mysql из портов было лень ждать пока он и его зависимости соберутся, а в них из самых весомых diablo-jdk и xorg-libraries, по этому я поставил их пакеджей, так что начнем:
[root@jabberd mysql41-server]# cd /usr/ports/net-im/ejabberd/
[root@jabberd ejabberd]# pkg_add -rv erlang-mysql
#--- SKIP ---#
Package 'erlang-r11b1,1' depends on 'diablo-jdk-1.5.0.07.01' with 'java/diablo-jdk15' origin.
pkg_add: could not find package diablo-jdk-1.5.0.07.01 !
pkg_add: 1 package addition(s) failed
pkg_add: pkg_add of dependency 'erlang-r11b1,1' failed!
pkg_add: 1 package addition(s) failed
[root@jabberd ejabberd]#

Так, судя по тексту придется его скачивать и ставить из портов,
[root@jabberd ejabberd]# cd /usr/ports/java/diablo-jdk15
[root@jabberd diablo-jdk15]# make install clean
[/code]Вылезет меню выбора опций с единственным параметром:
[ ] TZUPDATE  Update the time zone data

Я его решил собирать без TZUPDATE, так что не ставим крестик, и жмем на Ok и продолжаем установку.
После установки, переместимся в каталог с портом от ejabberd и повторим установку erlang-mysql
[root@jabberd diablo-jdk15]# cd /usr/ports/net-im/ejabberd/
[root@jabberd ejabberd]# pkg_add -rv erlang-mysql
[root@jabberd ejabberd]# pkg_info |grep erlang
erlang-mysql-1.0    Native MySQL driver for Erlang
erlang-r11b1,1      A functional programming language from Ericsson

Так, все поставилось, теперь поставим сам сервер мгновенных сообщений и настроем его на запуск.
[root@jabberd ejabberd]# make install clean

В меню есть только один пункт, и мы его выберем, иначе не будет он работать с mysql.
[X] ODBC  Enable ODBC support  

И добавим его в rc.conf:
[root@jabberd ejabberd]# echo 'ejabberd_enable="YES"' >> /etc/rc.conf





 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0354 секунд
Из них PHP: 20%; SQL: 80%; Число SQL-запросов: 76 шт.
Исходный размер: 16389; Сжатая: 4720