Установка ejabberd под Linux: различия между версиями
Nao (обсуждение | вклад) (Руки бы поотрывать за использование переменной USE в командной строке не по назначению) |
Rain (обсуждение | вклад) м (А про рута-то и забыли) |
||
(не показано 17 промежуточных версий 4 участников) | |||
Строка 3: | Строка 3: | ||
Предполагается, что у Вас уже установлена операционная система, настроен доступ в Интернет, а доменное имя на DynDNS (допустим, это будет '''myjabber.ath.cx''') указывает на внешний адрес Вашего компьютера (либо тот, который доступен из Вашей локальной сети, если Вы настраиваете сервер без возможности подключения к нему из Интернета). | Предполагается, что у Вас уже установлена операционная система, настроен доступ в Интернет, а доменное имя на DynDNS (допустим, это будет '''myjabber.ath.cx''') указывает на внешний адрес Вашего компьютера (либо тот, который доступен из Вашей локальной сети, если Вы настраиваете сервер без возможности подключения к нему из Интернета). | ||
[[Ejabberd]] может быть установлен на ваш сервер различными способами. Опишу три по | [[Ejabberd]] может быть установлен на ваш сервер различными способами. Опишу три по нарастанию сложности: | ||
# Установка из репозитория/портов. Идеальный по оптимизации и самый простой вариант. | # Установка из репозитория/портов. Идеальный по оптимизации и самый простой вариант. | ||
# Предварительно собранные бинарные файлы с инсталлятором. Вариант не сложнее первого, но вряд ли оптимизирован именно под ваш дистрибутив. | |||
# Сборка из исходного кода. Если этого пакета нет в репозиториях к вашему дистрибутиву, но очень хочется, чтобы сервер был оптимизированным и работал без ошибок - засучиваем рукава и переходим к соответствующему разделу. Тут вам понадобятся некоторые знания о Linux и/или помощь [[ru_wikipedia:Гуру|гуру]]. | # Сборка из исходного кода. Если этого пакета нет в репозиториях к вашему дистрибутиву, но очень хочется, чтобы сервер был оптимизированным и работал без ошибок - засучиваем рукава и переходим к соответствующему разделу. Тут вам понадобятся некоторые знания о Linux и/или помощь [[ru_wikipedia:Гуру|гуру]]. | ||
Далее подробно рассмотрены эти варианты. | Далее подробно рассмотрены эти варианты. | ||
Строка 14: | Строка 14: | ||
Дистрибутивов Linux великое множество, и нет никакой возможности рассмотреть детали установки в каждом из них. Упомянем наиболее популярные (предполагается наличие прав root): | Дистрибутивов Linux великое множество, и нет никакой возможности рассмотреть детали установки в каждом из них. Упомянем наиболее популярные (предполагается наличие прав root): | ||
===Fedora=== | |||
===Fedora | |||
По умолчанию нужный репозиторий обычно подключен. | По умолчанию нужный репозиторий обычно подключен. | ||
yum install ejabberd | yum install ejabberd | ||
Строка 29: | Строка 23: | ||
===Gentoo=== | ===Gentoo=== | ||
Для установки ejabberd в Gentoo GNU/Linux выполните | Для установки ejabberd в Gentoo GNU/Linux выполните команды | ||
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. | ||
Строка 93: | Строка 97: | ||
После всех этих манипуляций все нужные файлы разложены согласно традициям UNIX/Linux. Конфиги, в частности,- в /etc/ejabberd. Скрипт запуска - /sbin/ejabberdctl - отрабатывает команду start, что позволяет сразу добавить в rc.d, хотя лучше всё же написать правильный скрипт управления службой согласно правилам вашего дистрибутива. | После всех этих манипуляций все нужные файлы разложены согласно традициям UNIX/Linux. Конфиги, в частности,- в /etc/ejabberd. Скрипт запуска - /sbin/ejabberdctl - отрабатывает команду start, что позволяет сразу добавить в rc.d, хотя лучше всё же написать правильный скрипт управления службой согласно правилам вашего дистрибутива. | ||
}} | |||
==Настройка== | ==Настройка== | ||
А дальше надо настроить сервер: что делать при загрузке, какие модули использовать, | А дальше надо настроить сервер: что делать при загрузке, какие модули использовать, какие порты прослушивать, и т.п. | ||
Настройка сервера сводится к редактированию файла конфигурации '''/etc/ejabberd/ejabberd.yml''' (путь показан на примере Debian GNU/Linux, в других дистрибутивах или при самостоятельной сборке из исходных кодов путь может отличаться). Откройте этот файл от пользователя '''root''' в любом удобном для Вас текстовом редакторе, после чего найдите следующие секции: секцию '''acl''' и секцию '''hosts'''. | |||
В первом параметре задается [[Jabber ID]] администратора, а во втором - доменное имя сервера. Приведите эти строки примерно к такому виду: | В первом параметре задается [[Jabber ID]] администратора, а во втором - доменное имя сервера. Приведите эти строки примерно к такому виду: | ||
<pre> | |||
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" | |||
</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: | ||
<pre> | |||
access_rules: | |||
register: | |||
- allow | |||
</pre> | |||
и замените '''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 | ||
==Ссылки== | ==Ссылки== | ||
* [ | * [[Свой сервер: подробное руководство по установке ejabberd]] | ||
* [http://ylsoftware.com/news/499 Настройка ведения логов в конференции] | * [http://ylsoftware.com/news/499 Настройка ведения логов в конференции] | ||
* [http://linuxoid.in/RRD:_Статистика_онлайн-пользователей_для_ejabberd Графическая статистика онлайн-пользователей] | |||
[[Category:Свой сервер]] | [[Category:Свой сервер]] |
Текущая версия от 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