| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| ejabberd:3 [2019/03/15 05:40] – Luciferus | ejabberd:3 [2025/07/04 02:58] (текущий) – внешнее изменение 127.0.0.1 |
|---|
| === Macos === | === Macos === |
| При компиляции из исходников в **macOS** вы должны настроить **ejabberd** на использование пользовательских **OpenSSL**, **Yaml**, **iconv**. Наилучший подход - использовать **Homebrew** для установки всех зависимостей, а затем экспортировать ваш собственный путь, чтобы настроить. | При компиляции из исходников в **macOS** вы должны настроить **ejabberd** на использование пользовательских **OpenSSL**, **Yaml**, **iconv**. Наилучший подход - использовать **Homebrew** для установки всех зависимостей, а затем экспортировать ваш собственный путь, чтобы настроить. |
| | <code> |
| | brew install git erlang elixir openssl expat libyaml libiconv libgd sqlite rebar rebar3 automake autoconf |
| | export LDFLAGS="-L/usr/local/opt/openssl/lib -L/usr/local/lib -L/usr/local/opt/expat/lib" |
| | export CFLAGS="-I/usr/local/opt/openssl/include/ -I/usr/local/include -I/usr/local/opt/expat/include" |
| | export CPPFLAGS="-I/usr/local/opt/openssl/include/ -I/usr/local/include -I/usr/local/opt/expat/include" |
| | ./configure --enable-sqlite |
| | make |
| | </code> |
| |
| ===== Установка с определенными пакетами для операционной системы ===== | ===== Установка с определенными пакетами для операционной системы ===== |
| | |
| | Некоторые операционные системы предоставляют специальный пакет **ejabberd**, адаптированный к архитектуре системы и библиотекам. Обычно он также проверяет зависимости и выполняет основные задачи по настройке, такие как создание начальной учетной записи администратора. Некоторые примеры - **Debian** и **Gentoo**. Обратитесь к ресурсам, предоставляемым вашей операционной системой для получения дополнительной информации.\\ |
| | |
| | Теперь **[[https://www.process-one.net/|ProcessOne]]** предоставляет **ejabberd** в **RPM** и **DEB** (в одном пакете), начиная с версии **15.06 ejabberd**. Это самодостаточные пакеты, также содержащие минимальный дистрибутив **Erlang**. Это гарантирует, что это не мешает вашей существующей версии **Erlang**. И также хороший способ убедиться, что **ejabberd** будет работать с последней версией **Erlang**. Вы можете скачать пакеты с [[https://www.process-one.net/en/ejabberd/downloads/|официальной страницы загрузки ejabberd]].\\ |
| | |
| | ===== Запуск ejabberd ===== |
| | |
| | **ejabberd** может быть запущен вручную в любое время или автоматически операционной системой во время загрузки системы.\\ |
| | Чтобы запустить и остановить **ejabberd** вручную, используйте ярлыки на рабочем столе, созданные установщиком. Если на машине нет графической системы, используйте сценарии **'start'** и **'stop'** в каталоге **'bin'**, где установлен **ejabberd**.\\ |
| | Вы также можете использовать сценарий администрирования командной строки **ejabberdctl** для запуска и остановки **ejabberd**. Если вы указали опцию конфигурации --enable-user=USER (смотрите раздел Компиляция), вы можете выполнить **ejabberdctl** с этой системной учетной записью или пользователем **root**.\\ |
| | |
| | Примеры использования: |
| | <code> |
| | prompt> ejabberdctl start |
| | </code> |
| | <code> |
| | prompt> ejabberdctl status |
| | The node ejabberd@localhost is started with status: started |
| | ejabberd is running in that node |
| | </code> |
| | <code> |
| | prompt> ejabberdctl stop |
| | </code> |
| | |
| | Если **ejabberd** не запускается правильно и генерируется файл аварийного дампа, значит возникла серьезная проблема. Вы можете попробовать запустить **ejabberd** с помощью скрипта **bin/live.bat** в **Windows** или с помощью команды **bin/ejabberdctl live** в других операционных системах. Таким образом, вы увидите сообщение об ошибке, предоставленное **Erlang** и сможете определить, в чем именно проблема.\\ |
| | |
| | Сценарий администрирования **ejabberdctl** включен в каталог **bin**. Пожалуйста, обратитесь к разделу ejabberdctl для получения подробной информации о **ejabberdctl** и настраиваемых параметрах для точной настройки системы времени исполнения **Erlang**. |
| | |
| | ==== Автостарт в Linux ==== |
| | |
| | В системе ***nix** создайте системного пользователя с именем **'ejabberd'**, предоставьте ему доступ на запись в базу данных **database/** и **logs/** и установите его как **home**. Если вы хотите, чтобы **ejabberd** запускался как демон во время загрузки с этим пользователем, скопируйте **ejabberd.init** из каталога **'bin'** в нечто вроде **/etc/init.d/ejabberd** или (в дистрибутиве **systemd**) скопируйте **ejabberd.service** в **/etc/systemd/system/**, запустите от имени **root** **systemctl daemon-reload**, а с помощью **systemctl** включите **ejabberd.service**. Затем вы можете вызвать **/etc/inid.d/ejabberd start** или (с помощью **systemd**) **systemctl** запустить **ejabberd** от имени пользователя **root**, чтобы запустить сервер.\\ |
| | |
| | Когда запускается **ejabberd**, процессы, которые запускаются в системе - **beam** или **beam.smp**, а также **epmd**. Для получения дополнительной информации о **epmd** обратитесь к разделу, касающемуся epmd. |
| | |
| | ==== Автостарт в Windows ==== |
| | |
| | Установщик **Windows** также добавляет **ejabberd** в качестве системной службы и ярлык консоли отладки для опытных администраторов. Если вы хотите, чтобы **ejabberd** запускался автоматически во время загрузки системы, перейдите в настройки служб **Windows** и установите автоматический запуск **ejabberd**. Обратите внимание, что служба **Windows** - это функция, которая все еще находится в разработке, и, например, она не читает файл **ejabberdctl.cfg**.\\ |
| | |
| | В **Microsoft Windows** процессы **Erlang** для **ejabberd** называются **erl.exe** и **epmd.exe**. |
| |
| ===== Операции после установки ===== | ===== Операции после установки ===== |
| | |
| | ==== Аккаунт администратора ==== |
| | |
| | Бинарный установщик **ejabberd** запрашивает учетную запись администратора, поэтому в этом случае вы, вероятно, можете пропустить этот шаг. Однако, если вы используете другой способ установки **ejabberd**, вам может потребоваться создать учетную запись администратора **XMPP**. Вам нужна учетная запись **XMPP** с правами администратора для входа в **ejabberd WebAdmin**. \\ |
| | Вот шаги для его создания: |
| | |
| | * Зарегистрируйте учетную запись **XMPP** на своем сервере **ejabberd**, например, **admin1@example.org**. \\ |
| | Существует два способа регистрации учетной записи **XMPP**: |
| | * Используя **ejabberdctl** (смотрите раздел ejabberdctl): |
| | <code> |
| | ejabberdctl register admin1 example.org password |
| | </code> |
| | * Используя XMPP-клиент и In-Band регистрацию (смотрите раздел mod_register). |
| | * Отредактируйте файл конфигурации ejabberd, чтобы предоставить права администратора созданной вами учетной записи XMPP: |
| | <code> |
| | acl: |
| | admin: |
| | user: |
| | - "admin1": "example.org" |
| | access: |
| | configure: |
| | admin: allow |
| | </code> |
| | Вы можете предоставить административные привилегии многим учетным записям **XMPP**, а также учетным записям с других серверов **XMPP**. |
| | * Перезапустите ejabberd, чтобы загрузить новую конфигурацию. |
| | * Откройте веб-админку (обычно это [[http://localhost:5280/admin/|http://localhost:5280/admin/]]) в вашем любимом браузере. Убедитесь, что в качестве имени пользователя введен полный JID (в этом примере: admin1@example.org). Причина, по которой вам также необходимо ввести домен, связана с поддержкой виртуального хостинга **ejabberd**. Вы можете управлять несколькими доменами **XMPP** в одном экземпляре сервера. |
| | |
| | ==== Backend баз данных ==== |
| | |
| | По умолчанию **ejabberd** использует собственную базу данных для хранения данных времени выполнения **Mnesia**. Во многих случаях вам может понадобиться разрешить **ejabberd** использовать внешнюю базу данных **SQL**. Поддерживаемые **SQL**-серверы: **MySQL**, **PostgreSQL**, **Sqlite**, **MSSQL**.\\ |
| | |
| | При использовании внешней базы данных **ejabberd** не создает схемы и таблицы самостоятельно. Вы должны создать схему перед запуском ejabberd. Если вы устанавливаете **ejabberd** из исходников, вы найдете скрипт **sql** для своего бэкэнда в каталоге установки. По умолчанию: **/usr/local/lib/ejabberd/priv/sql**. При установке **ejabberd** из установщика **Process-One** сценарии инициализации находятся по пути установки **ejabberd** в **<base>/lib/ejabberd*/priv/sql**.\\ |
| | |
| | Смотрите схемы базы данных SQL **ejabberd** для получения подробной информации о схемах базы данных. Смотрите пошаговые руководства по настройке баз данных для получения подробных инструкций по их настройке. |