Установка Ejabberd на серверы CentOS 5 и CentOS 6
Centos, Cloud Server | Комментировать запись
Что такое Ejabberd?
Ejabberd – это очень простой, но в то же время надежный и мощный XMPP-сервер, написанный в Erlang. Данное руководство продемонстрирует установку и базовую настройку Ejabberd на серверах CentOS.
Установка Ejabberd
Для начала нужно добавить репозиторий EPEL (Extra Packages for Enterprise Linux). Для этого запустите:
Сервер CentOS 5.x
wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
sudo rpm -Uvh epel-release-5*.rpm
Сервер CentOS 6.x
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo rpm -Uvh epel-release-6*.rpm
Примечание: более подробную информацию о EPEL можно получить по этой ссылке.
Включив поддержку EPEL, приступайте к установке Ejabberd; для этого запустите как root:
sudo yum install ejabberd
Установка имени хоста
Имя хоста сервиса Ejabberd устанавливается в файле ejabberd.cfg. откройте этот файл в любом удобном текстовом редакторе (в данном случае это vim):
sudo vim /etc/ejabberd/ejabberd.cfg
Найдите раздел Served Hostnames, который выглядит так:
%%%. ================
%%%' SERVED HOSTNAMES
%% hosts: Domains served by ejabberd.
%% You can define one or several, for example:
%% {hosts, ["example.net", "example.com", "example.org"]}.
%%
{hosts, ["localhost"]}.
Итак, в него нужно добавить новое имя хоста; для этого отредактируйте последнюю строку данного фрагмента. То есть, если имя хоста example.com, строка будет иметь такой вид:
{hosts, ["localhost","example.com"]}.
После этого сохраните и закройте файл.
Запуск сервиса Ejabberd
Для запуска сервиса Ejabberd используйте команду:
sudo service ejabberd start
Создание пользователя
Чтобы добавить нового пользователя, запустите:
ejabberdctl register username host password
указав свое имя пользователя, хост и пароль, например:
ejabberdctl register admin example.com newadmin
Привилегии администратора
Итак, теперь на сервере есть пользователь admin с паролем newadmin, которому нужно передать привилегии администратора.
Для этого нужно снова отредактировать конфигурационный файл Ejabberd. Найдите раздел для администратора (строка 369), который имеет такой вид:
%%%. ====================
%%%' ACCESS CONTROL LISTS
%%
%% The 'admin' ACL grants administrative privileges to XMPP accounts.
%% You can put here as many accounts as you want.
%%
%%{acl, admin, {user, "aleksey", "localhost"}}.
%%{acl, admin, {user, "ermine", "example.org"}}.
Теперь добавьте следующую строку, которая назначит пользователю права администратора.
{acl, admin, {user, "admin", "example.com"}}.
Примечание: сервис Ejabberd нужно перезапускать после внесения любых изменений в конфигурационный файл.
sudo service ejabberd restart
Веб-интерфейс Ejabberd
Ejabberd поставляется в комплекте с очень удобным и простым веб-интерфейсом, который позволяет просматривать статистику, редактировать настройки и т.п.
Чтобы ознакомиться с интерфейсом, откройте браузер и перейдите:
http://example.com:5280/admin
Появится форма регистрации, в которой нужно указать учетные данные администратора.
Добавление новых пользователей Ejabberd
При первой загрузке интерфейс администратора выглядит следующим образом:
Нажмите Virtual hosts -> example.com -> Users. Появится форма, при помощи которой можно добавлять пользователей. Просто заполните форму и нажмите кнопку Add user.
Установка и настройка клиента
В данном разделе речь пойдет об установке клиента для Ejabberd. В руководстве используется Gajim, но можно выбрать любой другой доступный клиент (при этом все инструкции руководства по настройке и установке клиента остаются действительными).
Для начала загрузите Gajim, затем установите и запустите его.
Теперь нужно добавить учетную запись ранее созданного пользователя. Для этого нажмите Edit->Accounts, затем нажмите кнопку Add и выберите «I already have an account i want to use» и нажмите Forward.
Теперь введите информацию о пользователе.
Поставьте флажок в поле «Connect when I press Finish» и кликните Finish. Готово! Теперь XMPP-сервер подключен и готов к работе.
Tags: CentOS, CentOS 5, CentOS 6, Cloud Server, eJabberd, EPEL, Erlang, VPS, XMPP