Редактирование: Установка ejabberd под Linux

Материал из Мир Jabber
Перейти к навигацииПерейти к поиску

Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.

Текущая версия Ваш текст
Строка 3: Строка 3:
Предполагается, что у Вас уже установлена операционная система, настроен доступ в Интернет, а доменное имя на DynDNS (допустим, это будет '''myjabber.ath.cx''') указывает на внешний адрес Вашего компьютера (либо тот, который доступен из Вашей локальной сети, если Вы настраиваете сервер без возможности подключения к нему из Интернета).
Предполагается, что у Вас уже установлена операционная система, настроен доступ в Интернет, а доменное имя на DynDNS (допустим, это будет '''myjabber.ath.cx''') указывает на внешний адрес Вашего компьютера (либо тот, который доступен из Вашей локальной сети, если Вы настраиваете сервер без возможности подключения к нему из Интернета).


[[Ejabberd]] может быть установлен на ваш сервер различными способами. Опишу три по нарастанию сложности:
[[Ejabberd]] может быть установлен на ваш сервер различными способами. Опишу три по убыванию предпочтительности:


# Установка из репозитория/портов. Идеальный по оптимизации и самый простой вариант.
# Установка из репозитория/портов. Идеальный по оптимизации и самый простой вариант.
# Предварительно собранные бинарные файлы с инсталлятором. Вариант не сложнее первого, но вряд ли оптимизирован именно под ваш дистрибутив.
# Сборка из исходного кода. Если этого пакета нет в репозиториях к вашему дистрибутиву, но очень хочется, чтобы сервер был оптимизированным и работал без ошибок - засучиваем рукава и переходим к соответствующему разделу. Тут вам понадобятся некоторые знания о Linux и/или помощь [[ru_wikipedia:Гуру|гуру]].
# Сборка из исходного кода. Если этого пакета нет в репозиториях к вашему дистрибутиву, но очень хочется, чтобы сервер был оптимизированным и работал без ошибок - засучиваем рукава и переходим к соответствующему разделу. Тут вам понадобятся некоторые знания о Linux и/или помощь [[ru_wikipedia:Гуру|гуру]].
# Предварительно собранные бинарные файлы с инсталлятором. Вариант весьма прост, но вряд ли оптимизирован именно под ваш дистрибутив.


Далее подробно рассмотрены эти варианты.
Далее подробно рассмотрены эти варианты.
Строка 13: Строка 13:
==Установка из репозитория==
==Установка из репозитория==
Дистрибутивов Linux великое множество, и нет никакой возможности рассмотреть детали установки в каждом из них. Упомянем наиболее популярные (предполагается наличие прав root):
Дистрибутивов Linux великое множество, и нет никакой возможности рассмотреть детали установки в каждом из них. Упомянем наиболее популярные (предполагается наличие прав root):
===openSuSE 11.4===
Сначала подключим репозиторий, посвящённый программам обмена сообщениями:
<nowiki>zypper addrepo http://download.opensuse.org/repositories/server:/messaging/openSUSE_11.4/ Messaging</nowiki>
:Потом установим сервер:
zypper install ejabberd


===Fedora===
===Fedora===
Строка 26: Строка 32:
  echo "net-im/ejabberd pam ssl zlib mod_muc mod_pubsub web" >> /etc/portage/package.use
  echo "net-im/ejabberd pam ssl zlib mod_muc mod_pubsub web" >> /etc/portage/package.use
  emerge ejabberd
  emerge ejabberd
==Установка готовых бинарников==
Установка из готовых бинарных пакетов делается за несколько простых шагов:
* Скачиваете подходящий '''run'''-файл по адресу https://www.process-one.net/en/ejabberd/archive/
* Запускаете командой '''sudo bash ejabberd-*.run'''
* Cледуете указаниям программы установки.


==Сборка из исходников==
==Сборка из исходников==
{{Hider hiding
|title=Пример для версии 2.0.5
|content=
Рассмотрим сборку stable-версии ejabberd-2.0.5.
Рассмотрим сборку stable-версии ejabberd-2.0.5.


Строка 97: Строка 93:


После всех этих манипуляций все нужные файлы разложены согласно традициям UNIX/Linux. Конфиги, в частности,- в /etc/ejabberd. Скрипт запуска - /sbin/ejabberdctl - отрабатывает команду start, что позволяет сразу добавить в rc.d, хотя лучше всё же написать правильный скрипт управления службой согласно правилам вашего дистрибутива.
После всех этих манипуляций все нужные файлы разложены согласно традициям UNIX/Linux. Конфиги, в частности,- в /etc/ejabberd. Скрипт запуска - /sbin/ejabberdctl - отрабатывает команду start, что позволяет сразу добавить в rc.d, хотя лучше всё же написать правильный скрипт управления службой согласно правилам вашего дистрибутива.
}}
 
==Установка готовых бинарников==
Рассмотрим установку stable-версии 2.1.8 для 32-битного Linux. Для начала нужно скачать инсталлятор:
wget http://www.process-one.net/downloads/ejabberd/2.1.8/ejabberd-2.1.8-linux-x86-installer.bin.gz
 
Распаковать его:
gunzip ejabberd-2.1.8-linux-x86-installer.bin.gz
 
И запустить:
chmod +x ejabberd-2.1.8-linux-x86-installer.bin
./ejabberd-2.1.8-linux-x86-installer.bin
 
Далее следуйте указаниям программы установки.


==Настройка==
==Настройка==
А дальше надо настроить сервер: что делать при загрузке, какие модули использовать, какие порты прослушивать, и т.п.
А дальше надо настроить сервер: что делать при загрузке, какие модули использовать, какие порты прослушивать, и т.п.


Настройка сервера сводится к редактированию файла конфигурации '''/etc/ejabberd/ejabberd.yml''' (путь показан на примере Debian GNU/Linux, в других дистрибутивах или при самостоятельной сборке из исходных кодов путь может отличаться). Откройте этот файл от пользователя '''root''' в любом удобном для Вас текстовом редакторе, после чего найдите следующие секции: секцию '''acl''' и секцию '''hosts'''.
Настройка сервера сводится к редактированию файла конфигурации '''/etc/ejabberd/ejabberd.cfg''' (путь показан на примере Debian GNU/Linux, в других дистрибутивах или при самостоятельной сборке из исходных кодов путь может отличаться). Откройте этот файл от пользователя root в любом удобном для Вас текстовом редакторе, после чего найдите следующие строки:
 
%% Admin user
{acl, admin, {user, "", "localhost"}}.<br>
%% Hostname
{hosts, ["example.com"]}.


В первом параметре задается [[Jabber ID]] администратора, а во втором - доменное имя сервера. Приведите эти строки примерно к такому виду:
В первом параметре задается [[Jabber ID]] администратора, а во втором - доменное имя сервера. Приведите эти строки примерно к такому виду:


<pre>
%% Admin user
acl:
{acl, admin, {user, "admin", "myjabber.ath.cx"}}.<br>
  admin:
%% Hostname
    user:
{hosts, ["myjabber.ath.cx"]}.
      - "admin": "myjabber.ath.cx"
## hosts: Domains served by ejabberd.
## You can define one or several, for example:
## hosts:
##  - "example.net"
##  - "example.com"
##  - "example.org"
hosts:
  - "myjabber.ath.cx"
</pre>


В данном случае [[JID]] администратора задан [xmpp:admin@myjabber.ath.cx admin@myjabber.ath.cx], а имя сервера, как уже условились выше - myjabber.ath.cx.
В данном случае [[JID]] администратора задан [xmpp:admin@myjabber.ath.cx admin@myjabber.ath.cx], а имя сервера, как уже условились выше - myjabber.ath.cx.


Теперь в том же файле найдите секцию access_rules, а в ней - параметр register:
Теперь в том же файле найдите строки
 
%% No username can be registered via in-band registration:
%% To enable in-band registration, replace 'deny' with 'allow'
{access, register, [{deny, all}]}.


<pre>
и замените '''deny''' на '''allow''' - без этого пользователи сервера не смогут регистрироваться напрямую из своего Jabber-клиента.
access_rules:
 
  register:
[[Изображение:Ejabber lin install login 01.png|thumb|left|Логин в веб-интерфейсе]]
    - allow
</pre>


и замените '''deny''' на '''allow''' - без этого пользователи сервера не смогут регистрироваться напрямую из своего Jabber-клиента.


Сохраните изменения и перезапустите ejabberd командой
Сохраните изменения и перезапустите ejabberd командой


  /etc/init.d/ejabberd restart
  /etc/init.d/ejabberd restart
{{-}}
[[Изображение:Ejabberd lin install 01.png|thumb|left|Сервисы и статистика сервера]]


<center>
<gallery>
Изображение:Ejabber lin install login 01.png|Логин в веб-интерфейсе
Изображение:Ejabberd lin install 01.png|Сервисы и статистика сервера
</gallery>
</center>


После этого создайте нового пользователя [xmpp:admin@myjabber.ath.cx admin@myjabber.ath.cx] используя Ваш Jabber-клиент. В [[Браузер сервисов|браузере сервисов]] для этой учетной записи будут доступны основные функции администрирования, а используя параметры этого аккаунта Вы сможете авторизоваться в веб-интерфейсе по адресу http://myjabber.ath.cx:5280/admin
После этого создайте нового пользователя [xmpp:admin@myjabber.ath.cx admin@myjabber.ath.cx] используя Ваш Jabber-клиент. В [[Браузер сервисов|браузере сервисов]] для этой учетной записи будут доступны основные функции администрирования, а используя параметры этого аккаунта Вы сможете авторизоваться в веб-интерфейсе по адресу http://myjabber.ath.cx:5280/admin
{{-}}


==Ссылки==
==Ссылки==

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии GNU Free Documentation License 1.2 (см. Мир Jabber:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)

Шаблон, используемый на этой странице: