Постановка задачи
* Свободная регистрация* Хостинг нескольких доменов
Инсталяция необходимого программного обеспечения
Необходимио учесть, что данные пакеты в CentOS доступны через репозиторий EPEL.
yum install jabberd
Конфигурирование Jabberd2
Инсталяция схемы базы данных
Заходим в консоль MySQL с правами администратора. Там:mysql> \. /usr/share/jabberd/db-setup.mysqlЭто действие создасть базу данных с именем jabberd2. Так же тебудется создать некого пользователя с правами на SELECT, INSERT, UPDATE, DELETE, LOCK TABLES. Последнее не уверен, что необходимо, но более подробной информации не нашел.
Наcтройка подключения клиентов
Конфигурационный файл /etc/jabber/c2s.xmlДля реализации многодоменности обязательно требуется указать значение realm. Он обязан совпадать со значением id. Если realm опустить, то возникнет конфликт учетных записей с одинаковыми именами с разных доменов.
В секцииpridomain.ru secdomain.ru
mysql
В секции
Настройка хранения информации пользователей
Конфигурационный файл /etc/jabber/sm.xml Ростер и vcard храним тоже в MySQL В секции
Указываем наш доменmysql
pridomain.ru
Многодоменность
Особенность скриптов инииализации CentOS требует некоторых дополнительных действий, чтобы данный функционал реализовать. Во первых необходимо создать симвлическую ссылку на бинарник sm с именем совпадающим с именем конфигурционного файлаcd /usr/bin ln -s sm sm-secdomainВо вторых необходимо создать второй файл конфигурации /etc/jabber/sm-secdomain.xml, и опять таки обратить внимание на его имя. В файле исправить следующие параметры.
Так же исправляем файл /etc/sysconfig/jabberd. Тут тоже уделяем внимание имени.secdomain.ru /var/lib/jabberd/pid/sm-secdomain.pid
START_DAEMONS="router sm sm-secdomain c2s s2s"Данную операцию можно повторить для множества доменов
Запуск
Запускаем сервис$ service jabberd start Initializing jabberd processes ... Starting router: [ OK ] Starting sm: [ OK ] Starting sm-secdomain: [ OK ] Starting c2s: [ OK ] Starting s2s: [ OK ]Проверяем, что Service Manager (sm) имеет двойников как мы и хотели
$ ps aux|grep /usr/bin/sm jabber 1524 0.0 0.2 8760 2676 ? S 16:02 0:00 /usr/bin/sm -c /etc/jabberd/sm.xml jabber 1549 0.0 0.2 8664 2508 ? S 16:02 0:00 /usr/bin/sm-secdomain -c /etc/jabberd/sm-secdomain.xml root 5063 0.0 0.0 4808 732 pts/6 R+ 20:23 0:00 grep /usr/bin/smУра!!! Мы всех перехитрили, и теперь можем хостить кучу доменов на одном сервере! :)
Конфигурирование DNS
В файле зоны необходимо прописать следующие строки:_xmpp-server._tcp IN SRV 0 0 5269 jabber.pridomain.ru. _xmpp-client._tcp IN SRV 0 0 5222 jabber.pridomain.ru.Это необходимо сделать для каждой зоны, которую вы собираетесь обслуживать. Запись используется для определения хоста для коннекта клиента(c2s) и взаимодействия между серверами(s2s).
Комментариев нет:
Отправить комментарий