Меню Рубрики

Установка jabber сервера centos

Ставим корпоративный Jabber-сервер

Сегодня мы будем устанавливать и настраивать корпоративный Jabber-сервер.

Подготовка

Установку будем производить на операционную систему CentOS 7, момент установки ОС я здесь описывать не буду – он достаточно тривиален.

Нам потребуется внешний IP-адрес и домен (для примера я напишу везде litl-admin.ru, но сервер по факту на другом домене). Если сервер корпоративный, через Интернет-шлюз, то понадобится делать проброс порта на шлюзе (согласно портам, указанным в конфиге). Ну и как всегда, я считаю, что для этих целей дешевле и проще арендовать выделенный сервер, например вот этот, чем собирать своё железо в стойку и мучиться с его обслуживанием.

Настройки файрволла

# firewall-cmd —zone=public —add-port=5280/tcp —permanent
# firewall-cmd —zone=public —add-port=5222/tcp —permanent
# firewall-cmd —zone=public —add-port=5269/tcp —permanent
# firewall-cmd –reload

Я остановил свой выбор на сервере EJabberd, который обладает достаточной гибкостью. Также, определился, что данные буду хранить в базе MySQL, а не в файлах, поэтому предварительно установим MySQL на CentOS 7.

Создаём базу под EJabberd

> GRANT ALL ON ejabberd.* TO ‘ejabberd’@’localhost’ IDENTIFIED BY ‘ejabberdpassword’;
> QUIT;

# mysql -h localhost -D ejabberd -u ejabberduser -p

Качаем дистрибутив

Находим нужный нам дистрибутив и копируем ссылку. У нас CentOS – последователь RedHat, поэтому качаем RPM Package.

Устанавливаем EJabberd

Загружаем по полученной ссылке пакет:

# wget https://www.process-one.net/downloads/downloads-action.php?file=/ejabberd/18.06/ejabberd-18.06-0.x86_64.rpm -O ejabberd.rpm

и следуем простым инструкциям. Когда сервер будет установлен, следуем в каталог /opt/ejabberd-18.06/.

Нас интересуют два каталога: bin и conf. В первом лежат исполняемые файлы, во втором, соответственно, конфиги.

Открываем конфиг ejabberd.yml и правим следующие параметры:

hosts:
## Домен нашего сервера
— «litl-admin.ru»
.
listen:

port: 5222
## IP нашего сервера
ip: «192.168.1.99»
.
## храним юзеров в базе
auth_method: sql
## храним пароли в виде хеша (по умолчанию в plain-text)
auth_password_format: scram
.
## параметры доступа к базе данных
sql_type: mysql
sql_server: «localhost»
sql_database: «ejabberd»
sql_username: «ejabberd»
sql_password: «ejabberdpassword»
.
## логин администратора
acl:
admin:
user:
— «admin@litl-admin.ru»

Кажись в конфиге я больше ничего не менял пока.

# /opt/ejabberd-18.06/bin/ejabberdctl register «admin» «litl-admin.ru» «adminpass»

Теперь можно постучать на веб-интерфейс http://192.168.1.99:5280/admin:

Базовая настройка сервера

После входа в веб-интерфейс перед нами открывается такая картина: Сейчас я выполню только первичную настройку. Более детально будем делать позже. Итак, переходим в раздел “Вирутальные хосты”, открываем наш хост [1]. Переходим в раздел “Пользователи” [2].

Создаём нужное количество пользователей [3]:

Теперь переходим в раздел “Группы общих контактов”, чтобы сделать список абонентов, доступный каждому. Вообще, тут довольно гибкая система. К слову, контакты тут называются “ростер”. Соответственно, модуль называется mod_shared_roster.

Создадим группу, дадим ей имя типа “groupname” [2]:

И зайдём в созданную группу по ссылке: Здесь у нас отображается название группы [1], заголовок, который будет видим в списке контактов [2]. Перечислим пользователей в разделе “Члены” [3]. И теперь напишем название группы в раздел [4], чтобы члены группы видели эту же группу (общий список контактов). Вот именно подобная настройка и даёт огромную гибкость в настройке. Т.е. можно сделать контакты, которые будут видеть одних юзеров, но те юзеры не будут видеть эти контакты. Т.е. поле [4] должно совпадать с полем [1].

Сохраняем настройки и пробуем подключиться к нашему серверу.

Подключение к серверу

Так как задача ставилась таким образом, что основной пласт юзеров будет работать из-под мобильных устройств, то надо было протестировать и отладить в первую очередь под ними. Под Android я использовал Xabber.

Что осталось сделать

  1. Наладить передачу файлов — сделано;
  2. Многопользовательские чаты;
  3. Сохранение логов бесед в виде HTML;
  4. Выпуск сертификатов для TLS — сделано;

Статья будет дополняться по ходу дела. Удачи всем!

источник

Установка jabber-сервера ejabberd на CentOS 7

Сейчас каждая организация или сообщество хочет иметь собственный jabber-сервер, чтобы общаться с друзьями и коллегами абсолютно бесплатно. Сделать это на самом деле довольно легко. Вы можете создать свой собственный чат-сервер с помощью старого доброго ejabberd.В сегодняшней статье мы расскажем как установить jabber-сервер ejabberd 15 на CentOS 7 .

Читайте также:  Установка entry bmw f20

На данный момент в репозитариях CentOS ejabberd отсутствует, так что воспользуемся готовым бинарным установщиком, который мы можем найти на сайте process-one.net.

Переходим в /usr/src/ и скачиваем ejabberd

Послу запуска установки вам будет предложено выбрать язык. Выбираем родной для нас Русский, цифра 5.

Дальше предлагается ознакомиться с лицензионным соглашением и принять его.

Оставляем каталог установки по умолчанию.

Выбираем доменное имя XMPP сервера.

По умолчанию имя пользователя с правами администратора admin. Оставляем как есть или задаем другое имя.

Если сервер является частью кластера, то выбираем Y и следуем дальнейшим инструкциям, если, как у нас, сервер всего один, то N.

Продолжаем процесс установки.

На последнем шаге нам предлагают посмотреть readme, после чего установку можно считать законченной.

На этом установка закончена.

Вы можете просмотреть структуру каталогов ejabberd в: /opt/ejabberd-15.04/ . Мы заинтересованы в двух из них:

bin/ – содержит все двоичные файлы, чтобы запустить/остановить(start/stop) ejabberd .

conf/ – содержит все конфигурационные файлы, которые вы можете настраивать по своему усмотрению.

Сертификаты лежат в папке /opt/ejabberd-15.03/conf/server.pem

Для запуска ejabberd выполним команду

Теперь нам следует настроить правила фаервола. Порт для доступа к web-admin TCP/5280, TCP/5222 — клиент-сервер, TCP/5269 — сервер-сервер.

Теперь можно зайти в web-интерфейс по адресу http://:5280/admin .

ВНИМАНИЕ. Когда вы впервые получите доступ к веб-интерфейсу, он будет просить ввести имя пользователя и пароль, используйте полное имя пользователя, включая домен (в нашем случае: jabberadmin@voipnotes.ru). Если вы будите вводить просто логин пользователя, то на сервер вы не попадете.

Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.

источник

Установка и настройка Openfire на CentOS

Openfire — сервер на базе XMPP, позволяющий обмениваться мгновенными сообщениями. В данной инструкции разберем его установку на Linux. Инструкция протестирована на CentOS 7.

Подготовка сервера

1. Системные требования

Требования к программному продукту, в основном, программные:

Компонент Требования
Операционная система Приложение является кроссплатформенным и его можно установить на различные операционные системы — Windows, Linux (CentOS, Ubuntu, Debian, Red Hat и так далее), FreeBSD, MacOS.
Программная платформа Openfire разработан на базе JAVA, поэтому необходимо наличие соответствующей платформы.
СУБД Поддерживаются MySQL/MariaDB, PostgreSQL, MS SQL Server, Oracle Database, IBM DB2, Adaptive Server Enterprise, HSQLDB (встраиваемая).
Аппаратная часть Не критична — openfire не требует много ресурсов для своей работы.

2. Вспомогательные пакеты

Установим пакет, который необходимы для загрузки файлов:

3. Безопасность

Настраиваем брандмауэр — разрешаем порты 5222, 9090 и 9091, на которых по умолчанию работает Openfire:

firewall-cmd —permanent —add-port=5222/tcp —add-port=<9090,9091>/

* где порт 5222 — подключение клиента к серверу; 9090 для соединения по HTTP, 9091 — HTTPS.

Отключаем SELinux командами:

sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config

Установка JAVA

Openfire написан на языке JAVA и для своей работы требует установки соответствующей платформы.

Переходим на страницу загрузки Java JDK — принимаем лицензионное соглашение:

После появятся ссылки на платформу — кликаем по ссылке для скачивания RPM пакета:

Нас перебросит на страницу аутентификации — необходимо ввести свои логин и пароль или зарегистрироваться. После авторизации начнется процесс загрузки пакета. Когда он завершится, перекидываем файл на сервер CentOS, например, при помощи WinSCP.

Если у нас нет аккаунта на портале Oracle и нет возможности его зарегистрировать, то можно скачать не самую последнюю версию jdk следующей командой:
curl -LO -H «Cookie: oraclelicense=accept-securebackup-cookie» «https://download.oracle.com/otn-pub/java/jdk/13.0.1+9/cec27d702aa74d5a8630c65ae61e4305/jdk-13.0.1_linux-x64_bin.rpm»

После устанавливаем скачанный пакет командой:

После окончания установки можно ввести команду:

Она должна вернуть, примерно, следующее:

openjdk version «1.8.0_212»
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

Открываем файл для создания общесистемных переменных:

Проверяем, что переменная создалась:

Загрузка и установка пакета для Openfire

Для установки XMPP-сервера необходимо загрузить RPM — для этого переходим на официальную страницу загрузки Openfire. В открывшемся окне выбираем загрузку приложения для Linux и переходим по ссылке для загрузки rmp:

* в данном примере мы копируем ссылку на RPM версии х64

На открывшейся странице копируем прямую ссылку на загрузку openfire:

Воспользовавшись ссылкой, загружаем установочный пакет:

wget -O openfire.x86_64.rpm https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire-4.4.4-1.x86_64.rpm

* в данном примере мы сохраним скачанный файл под именем openfire.x86_64.rpm. На момент написания инструкции последняя версия была 4.4.4.

Устанавливаем скачанный пакет:

yum install openfire.x86_64.rpm

Разрешаем автозапуск сервиса и стартуем его:

systemctl enable openfire

Настройка базы данных

В качестве СУБД установим и настроим MariaDB.

Установка и запуск

Для установки вводим команду:

yum install mariadb-server mysql-connector-java libldb

* данной командой мы установим сервер mariadb и библиотеки для связки с java.

Зададим пароль для mysql root-пользователя:

mysqladmin -u root password

* система дважды запросит пароль, который мы должны задать.

Создание и настройка базы для Openfire

Подключаемся к установленной базе:

* в качестве пароля вводим тот, что задали при установке.

* мы создадим базу с именем openfire.

Создаем пользователя и дадим ему права на созданную базу:

> GRANT ALL PRIVILEGES ON openfire.* TO openfire@localhost IDENTIFIED BY ‘openfirepass’;

* в данном примере будет создан пользователь openfire, которому можно подключаться с локального компьютера (localhost); доступ пользователю будет предоставлен на базу openfire; пароль пользователя — openfirepass.

Подключимся к созданной базе:

. и загрузим в нее данные из файла openfire_mysql.sql (поставляется с Openfire):

Чтобы убедиться в загрузке данных, выполняем команду:

* мы должны увидеть список таблиц.

Установка Openfire

Выполняем установку и конфигурирование Openfire через веб-интерфейс. Запускаем браузер и переходим по ссылке http:// :9090 — откроется страница установки.

Выбираем русский язык и нажимаем Continue:

В настройках задаем серверу имя домена и полное имя сервера:

. и кликаем по Продолжить.

Оставляем Стандартное подключение к базе данныхПродолжить:

Задаем настройки подключения к базе:

  1. Выбрали подключение к базе MySQL
  2. В строке jdbc:mysql://HOSTNAME:3306/DATABASENAME?rewriteBatchedStatements=true&characterEncoding=UTF-8&characterSetResults=UTF-8 заменили
    • HOSTNAME — сервер MySQL. Задаем локальный адрес 127.0.0.1
    • DATABASENAME — имя базы данных. Прописываем openfire.
    • + добавили &useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC — в противном случае сервер будет выдавать ошибку при попытке подключиться к базе.
    • Итого:jdbc:mysql://127.0.0.1:3306/openfire?rewriteBatchedStatements=true&characterEncoding=UTF-8&characterSetResults=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
  3. В настройках имени пользователя и пароль прописываем логин и пароль пользователя, который создавали для подключения к базе openfire (openfire/openfirepass).

После кликаем по Продолжить. На следующей странице задаем настройки профиля — просто оставляем положение по умолчанию и нажимаем Продолжить:

* если нам необходима интеграция с Active Directory, переключаемся на Сервер каталогов (LDAP) и выполняем настройку по инструкции ниже.

На последнем шаге создаем учетную запись администратора. Для этого вводим адрес почты и пароль:

. и нажимаем Продолжить.

Установка завершена — переходим в консоль, кликнув по Вход в консоль администратора:

Чтобы зайти в openfire используем логин admin и пароль, который задали после установки Openfire.

Установка и подключение клиента

Для примера, установим jabber-клиент Spark, который разработан тем же разработчиком, что и сам Openfire. Переходим на страницу загрузки Spark и скачиваем клиента, например, для Windows:

Дожидаемся загрузки файла и устанавливаем приложение, отвечая на вопросы мастера установки (можно оставить все по умолчанию).

После запускаем программу — кликаем по Дополнительно (1) — снимаем галочку Автоматически найти сервер и порт (2) и прописываем адрес сервера (3) — устанавливаем галочки для Accept all certificates. и Disable certificate hostname verification . (4) — OK (5):

Вводим данные для входа на сервер и нажимаем Войти:

. клиент должен подключиться к серверу.

Интеграция с Active Directory

Интеграция с Active Directory должна настраиваться в момент веб-установки сервера. Если у нас уже установлен Openfire, и мы хотим переключиться на использование LDAP, открываем конфигурационный файл:

systemctl restart openfire

Ждем секунд 10 (приложение перезапускается долго).

Открываем в браузере адрес http:// :9090 — откроется мастер установки. Проходим снова по всем шагам до настройки профилей и выбираем Сервер каталогов (LDAP):

1) Откроется страница настройки профилей LDAP. Заполняем поля:

  • Из списка Тип сервера выбираем Active Directory.
  • В качестве хоста прописываем имя контроллера домена или целиком весь домен.
  • База DN — корневая директория LDAP, откуда будет выполняться поиск объектов.
  • Администратор DN — учетная запись в LDAP с правами на чтение. Правильнее всего создать отдельную запись и использовать ее.

Кликаем по Тестовые настройки — мы должны увидеть отчет об успешном прохождении тестирования:

2) Нажимаем Сохранить и продолжить — откроется страница с настройками полей и атрибутов. Данные атрибуты должны соответствовать атрибутам Active Directory. В моем случае пришлось заменить jpegPhoto на thumbnailPhoto и homePostalAddress на physicalDeliveryOfficeName. Правильные атрибуты можно посмотреть в оснастке Active Directory — пользователи и компьютеры (на вкладке Редактор атрибутов любого пользователя).

Нажимаем Тестовые настройки — откроется окно, в котором можно загрузить информацию от случайных профилей в AD и убедиться, что нужные нам данные загружаются корректно. После нажимаем Сохранить и продолжить.

3) На последнем шаге настройки интеграции с Active Directory оставляем предложенные настройки:

. и нажимаем Тестовые настройки — мы должны увидеть информацию о группах, которую сможет получить Openfire. Кликаем Сохранить и продолжить.

Конфигурирование LDAP завершено. Теперь добавим администраторов системы, которые смогут управлять сервером из панели управления:

Обратите внимание, что доступ к панели управления под встроенным администратором Openfire будет невозможен после смены профилей на использование LDAP. Обязательно добавляем хотя бы одного пользователя, у которого будут привилегии настройки.

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

Аутентификация на основе групп

Если необходимо ограничить пользователей, которые могут подключаться к серверу, можно использовать группы Active Directory. Для этого открываем панель управления Openfire и переходим в раздел СерверНастройки сервера и кликаем по кнопке Изменить:

В открывшемся окне переходим к разделу 2. Отображение пользователей — кликаем по Расширенные настройки и добавляем Пользовательский фильтр:

* например, как на изображении выше, можно добавить фильтр (memberOf=cn=Domain Admins,cn=Users,dc=dmosk,dc=local) — это означает, что к серверу смогут подключиться только те пользователи, которые принадлежат группе Domain Admins.

Установка плагинов

Для установки плагинов в Openfire необходимо сам файл плагина (с расширением .jar) поместить в каталог с установленной программой. Подробнее разберем на примере установки «SIP Phone Plugin».

Переходим на страницу загрузки плагинов и копируем ссылку на его скачивание:

Теперь с помощью данной ссылки загружаем плагин на сервере с Openfire:

Переносим загруженный плагин в каталог с программой:

mv sip.jar /opt/openfire/plugins/

Открываем панель управления Openfire — переходим в Плагины — мы должны увидеть установленный плагин:

Аналоги и клиенты

Среди распространенных аналогов можно назвать:

  • ejabberd — свободный, распределенный и устойчивый к отказам XMPP-сервер. Написан на Erlang.
  • jabberd2 — модульный XMPP-сервер, написанный на C.
  • Prosody — кроссплатформенный XMPP-сервер, написанный на языке программирования Lua.

Другие клиентские приложения, которыми можно подключиться к Openfire:

источник

Добавить комментарий