Установка ejabberd под Linux: различия между версиями
Rain (обсуждение | вклад) (Под современный конфиг) |
Rain (обсуждение | вклад) м (А про рута-то и забыли) |
||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 3: | Строка 3: | ||
Предполагается, что у Вас уже установлена операционная система, настроен доступ в Интернет, а доменное имя на DynDNS (допустим, это будет '''myjabber.ath.cx''') указывает на внешний адрес Вашего компьютера (либо тот, который доступен из Вашей локальной сети, если Вы настраиваете сервер без возможности подключения к нему из Интернета). | Предполагается, что у Вас уже установлена операционная система, настроен доступ в Интернет, а доменное имя на DynDNS (допустим, это будет '''myjabber.ath.cx''') указывает на внешний адрес Вашего компьютера (либо тот, который доступен из Вашей локальной сети, если Вы настраиваете сервер без возможности подключения к нему из Интернета). | ||
[[Ejabberd]] может быть установлен на ваш сервер различными способами. Опишу три по | [[Ejabberd]] может быть установлен на ваш сервер различными способами. Опишу три по нарастанию сложности: | ||
# Установка из репозитория/портов. Идеальный по оптимизации и самый простой вариант. | # Установка из репозитория/портов. Идеальный по оптимизации и самый простой вариант. | ||
# Предварительно собранные бинарные файлы с инсталлятором. Вариант не сложнее первого, но вряд ли оптимизирован именно под ваш дистрибутив. | |||
# Сборка из исходного кода. Если этого пакета нет в репозиториях к вашему дистрибутиву, но очень хочется, чтобы сервер был оптимизированным и работал без ошибок - засучиваем рукава и переходим к соответствующему разделу. Тут вам понадобятся некоторые знания о Linux и/или помощь [[ru_wikipedia:Гуру|гуру]]. | # Сборка из исходного кода. Если этого пакета нет в репозиториях к вашему дистрибутиву, но очень хочется, чтобы сервер был оптимизированным и работал без ошибок - засучиваем рукава и переходим к соответствующему разделу. Тут вам понадобятся некоторые знания о Linux и/или помощь [[ru_wikipedia:Гуру|гуру]]. | ||
Далее подробно рассмотрены эти варианты. | Далее подробно рассмотрены эти варианты. | ||
Строка 13: | Строка 13: | ||
==Установка из репозитория== | ==Установка из репозитория== | ||
Дистрибутивов Linux великое множество, и нет никакой возможности рассмотреть детали установки в каждом из них. Упомянем наиболее популярные (предполагается наличие прав root): | Дистрибутивов Linux великое множество, и нет никакой возможности рассмотреть детали установки в каждом из них. Упомянем наиболее популярные (предполагается наличие прав root): | ||
===Fedora=== | ===Fedora=== | ||
Строка 37: | Строка 31: | ||
* Скачиваете подходящий '''run'''-файл по адресу https://www.process-one.net/en/ejabberd/archive/ | * Скачиваете подходящий '''run'''-файл по адресу https://www.process-one.net/en/ejabberd/archive/ | ||
* Запускаете командой '''bash ejabberd-*.run''' | * Запускаете командой '''sudo bash ejabberd-*.run''' | ||
* Cледуете указаниям программы установки. | * Cледуете указаниям программы установки. | ||
Строка 108: | Строка 102: | ||
А дальше надо настроить сервер: что делать при загрузке, какие модули использовать, какие порты прослушивать, и т.п. | А дальше надо настроить сервер: что делать при загрузке, какие модули использовать, какие порты прослушивать, и т.п. | ||
Настройка сервера сводится к редактированию файла конфигурации '''/etc/ejabberd/ejabberd.yml''' (путь показан на примере Debian GNU/Linux, в других дистрибутивах или при самостоятельной сборке из исходных кодов путь может отличаться). Откройте этот файл от пользователя root в любом удобном для Вас текстовом редакторе, после чего найдите следующие секции: секцию '''acl''' и секцию '''hosts'''. | Настройка сервера сводится к редактированию файла конфигурации '''/etc/ejabberd/ejabberd.yml''' (путь показан на примере Debian GNU/Linux, в других дистрибутивах или при самостоятельной сборке из исходных кодов путь может отличаться). Откройте этот файл от пользователя '''root''' в любом удобном для Вас текстовом редакторе, после чего найдите следующие секции: секцию '''acl''' и секцию '''hosts'''. | ||
В первом параметре задается [[Jabber ID]] администратора, а во втором - доменное имя сервера. Приведите эти строки примерно к такому виду: | В первом параметре задается [[Jabber ID]] администратора, а во втором - доменное имя сервера. Приведите эти строки примерно к такому виду: | ||
Строка 137: | Строка 131: | ||
</pre> | </pre> | ||
и замените '''deny''' на '''allow''' - без этого пользователи сервера не смогут регистрироваться напрямую из своего Jabber-клиента. | и замените '''deny''' на '''allow''' - без этого пользователи сервера не смогут регистрироваться напрямую из своего Jabber-клиента. | ||
Сохраните изменения и перезапустите ejabberd командой | Сохраните изменения и перезапустите ejabberd командой | ||
/etc/init.d/ejabberd restart | /etc/init.d/ejabberd restart | ||
<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 | ||
==Ссылки== | ==Ссылки== |
Текущая версия от 15:42, 2 ноября 2023
Рассмотрим установку сервера ejabberd на компьютеры под управлением одного из дистрибутивов GNU/Linux для использования в локальной сети с открытым доступом из Интернет и с использованием службы DynDNS.
Предполагается, что у Вас уже установлена операционная система, настроен доступ в Интернет, а доменное имя на DynDNS (допустим, это будет myjabber.ath.cx) указывает на внешний адрес Вашего компьютера (либо тот, который доступен из Вашей локальной сети, если Вы настраиваете сервер без возможности подключения к нему из Интернета).
Ejabberd может быть установлен на ваш сервер различными способами. Опишу три по нарастанию сложности:
- Установка из репозитория/портов. Идеальный по оптимизации и самый простой вариант.
- Предварительно собранные бинарные файлы с инсталлятором. Вариант не сложнее первого, но вряд ли оптимизирован именно под ваш дистрибутив.
- Сборка из исходного кода. Если этого пакета нет в репозиториях к вашему дистрибутиву, но очень хочется, чтобы сервер был оптимизированным и работал без ошибок - засучиваем рукава и переходим к соответствующему разделу. Тут вам понадобятся некоторые знания о Linux и/или помощь гуру.
Далее подробно рассмотрены эти варианты.
Установка из репозитория[править]
Дистрибутивов Linux великое множество, и нет никакой возможности рассмотреть детали установки в каждом из них. Упомянем наиболее популярные (предполагается наличие прав root):
Fedora[править]
По умолчанию нужный репозиторий обычно подключен.
yum install ejabberd
Debian-based дистрибутивы (Debian, *Ubuntu и другие)[править]
Ejabberd входит в основную ветку репозитория, поэтому для установки просто скомандуйте:
apt-get install ejabberd
Gentoo[править]
Для установки ejabberd в Gentoo GNU/Linux выполните команды
echo "net-im/ejabberd pam ssl zlib mod_muc mod_pubsub web" >> /etc/portage/package.use emerge ejabberd
Установка готовых бинарников[править]
Установка из готовых бинарных пакетов делается за несколько простых шагов:
- Скачиваете подходящий run-файл по адресу https://www.process-one.net/en/ejabberd/archive/
- Запускаете командой sudo bash ejabberd-*.run
- Cледуете указаниям программы установки.
Сборка из исходников[править]
Настройка[править]
А дальше надо настроить сервер: что делать при загрузке, какие модули использовать, какие порты прослушивать, и т.п.
Настройка сервера сводится к редактированию файла конфигурации /etc/ejabberd/ejabberd.yml (путь показан на примере Debian GNU/Linux, в других дистрибутивах или при самостоятельной сборке из исходных кодов путь может отличаться). Откройте этот файл от пользователя root в любом удобном для Вас текстовом редакторе, после чего найдите следующие секции: секцию acl и секцию hosts.
В первом параметре задается Jabber ID администратора, а во втором - доменное имя сервера. Приведите эти строки примерно к такому виду:
acl: admin: user: - "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"
В данном случае JID администратора задан admin@myjabber.ath.cx, а имя сервера, как уже условились выше - myjabber.ath.cx.
Теперь в том же файле найдите секцию access_rules, а в ней - параметр register:
access_rules: register: - allow
и замените deny на allow - без этого пользователи сервера не смогут регистрироваться напрямую из своего Jabber-клиента.
Сохраните изменения и перезапустите ejabberd командой
/etc/init.d/ejabberd restart
После этого создайте нового пользователя admin@myjabber.ath.cx используя Ваш Jabber-клиент. В браузере сервисов для этой учетной записи будут доступны основные функции администрирования, а используя параметры этого аккаунта Вы сможете авторизоваться в веб-интерфейсе по адресу http://myjabber.ath.cx:5280/admin