Внедряем корпоративный чат

Posted by

Разворачиваем сервис корпоративного общенияХочу для себя разобрать как установить и использовать в локальной сети с использованием системы .5 Server amd64
Ввиду того, что корпоративным сотрудникам намного удобнее и продуктивнее использовать на рабочем месте ICQ чем общение через электронную почту мною было принято решение (как Руководитель IT отдела) внедрить и в последствии использовать корпоративный чат. Посредством которого я смогу:

  • Контролировать обмен сообщениями
  • Настроить интеграцию со службой Active Directory (домен развернут по заметке), что в итоге каждый пользователь на основе своей учетной записи получит аккаунт.
  • Посредством GPO развернуть агент для работы с корпоративным чатом
  • Настроить прозрачный вход агента в корпоративный чат
  • Централизованно управлять через Web-интерфейс (http:9090 & https:9091 по дефолту)
  • Поддержка русского языка (согласитесь намного ведь приятнее работать с тем языком который является для тебя родным).

Да и тому, разворачиваемый сервис чата обязательно должен быть развернут на системе Ubuntu 14.04.5 Server – потому как проще поддерживать стандартизированный список операционных систем, чем разрозненную гетерогенную структуру состоящую из различных Linux, Unix систем. Лучше разбираться в чем-то одном, чем во многом но по чуть-чуть.

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


Текущие характеристики разворачиваемого сервиса:

  • CPU = 2
  • HDD = 50 (LVM)
  • RAM = 4

aollo@system:~$ ssh -l ekzorchik 10.7.8.175

ekzorchik@srv-host:~$ sudo rm -Rf /var/lib/apt/lists/

ekzorchik@srv-host:~$ sudo apt-get update && sudo apt-get upgrade -y

ekzorchik@srv-host:~$ uname -a && lsb_release -a

Linux srv-host 4.4.0-42-generic #62~14.04.1-Ubuntu SMP Fri Oct 7 23:15:48 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 14.04.5 LTS

Release: 14.04

Codename: trusty

Далее нужно подготовить систему перед разворачиванием (Apparmor(Uninstall), IPv6, TimeZone, безопасность сервера и т.д.) до установив некоторые пакеты, а именно связку: Apache + MySQL + PHP:

ekzorchik@srv-host:~$ sudo tasksel install lamp-server

New password for the MySQL «root» user:712mbddr@

Repeat password for the MySQL «root» user:712mbddr@

Устанавливаю пакеты для работы с Java, т.к. сервис openfire работает с его помощью:

ekzorchik@srv-host:~$ sudo apt-get install openjdk-7-jre openjdk-7-jdk -y

ekzorchik@srv-host:~$ java -version

java version "1.7.0_121"

OpenJDK Runtime Environment (IcedTea 2.6.8) (7u121-2.6.8-1ubuntu0.14.04.1)

OpenJDK 64-Bit Server VM (build 24.121-b00, mixed mode)

Теперь скачиваю с официального сайта самую последнюю версию пакета (на момент написания данной заметки) для организации корпоративного чата:

ekzorchik@srv-host:~$ wget -c https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.0.4_all.deb

ekzorchik@srv-host:~$ mv downloadServlet\?filename\=openfire%2Fopenfire_4.0.4_all.deb openfire_4.0.4_all.deb

ekzorchik@srv-host:~$ sudo dpkg -i openfire_4.0.4_all.deb

Вот собственно и вся установка, теперь переходим к настройкам, для этого открываем браузер и вводим IP&DNS системы где развернуто приложение OpenFire.

Дальнейшие настройки я буду проделывать рабочей системы (она же и домашняя) Ubuntu 14.04.5 Desktop amd64 (Gnome Classic)
Приложения – Интернет – Веб-браузер Firefox и в строке адреса указываю следующий URL:

http://IP&DNS:9090/setup/index.jsp предо мной предстает мастер настройки, мои шаги следующие:

  • Choose Language: English (русский лучше не выбирать так как перевод оставляет желать лучшего)

Нажимаю Continue

Server Settings:

  • Domain: (Область) srv-host.polygon.local
  • Admin Console Port: (Консольный порт Администрации) 9090
  • Secure Admin Console Port: (Консольный порт Безопасной Администрации) 9091
  • Property Encryption via: Blowfish

Нажимаю Continue (Продолжить)

  • Property Encryption Key: я ничего не указываю мне это не нужно.

По окончании заполнения настроек нажимаю Continue

Теперь нам требуется определиться с базой данных в которой OpenFire будет хранить все необходимые для работы данные.

  • Standart Database Connection – внешняя СУБД. OpenFire умеет работать со всеми популярными (MS SQL, MySQL, Oracle, PostgreSQL) базами данных.
  • Embedded Database – локальная база данных HSQLDB. В этом случае OpenFire будет использовать свою БД и вам не придется самостоятельно устанавливать MySQL или любую другую БД.

Я выбираю внешнее подключение к СУБД, но предварительно создаю базу локально, т.к. в моем случае она будет располагаться на той же системе что и разворачиваемый сервис Openfire:

ekzorchik@srv-host:~$ mysql -u root -p712mbddr@

mysql> create database db_openfire;

mysql> create user 'openfire'@'localhost' identified by '612mbddr@';

Query OK, 0 rows affected (0.00 sec)

mysql> grant all on db_openfire.* to 'openfire'@'localhost';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> exit;

Теперь в шаге Database Settings указываю свои значения:

  • База данных Драйвера Инициализируется: MySQL
  • Драйверные класс JDBC: com.mysql.jdbc.Driver
  • База данных URL: jdbc:mysql://localhost:3306/db_openfire?rewriteBatchedStatements=true
  • Имя пользователя: openfire
  • Пароль: 612mbddr@

И после нажимаю Continue, меня перекидывает на шаг настройки авторизации либо с использованием локальной базы либо же через Active Directory я же сперва хочу рассмотреть как использовать первый вариант, т.е. Default (Store users and groups in the server database. This is the best option for simple deployments) и нажимаю Continue, указываю данные для административного аккаунта (Шаг Administrator Account):

  • Admin Email Address: support@ekzorchik.ru
  • New Password: 712mbddr@
  • Confirm Password: 712mbddr@

и нажимаю Continue, мастер задумывается и тут же через мгновение выдает об успешном окончании инсталляции:

  • Подготовка шагов через мастер установки успешно завершенаНа заметку: по части безопасности работы с Openfire нужно на фаерволе (ufw) для работы открыть следующие порты:
    Port 9090: Для Web интерфейса администрирования
  • Port 9091: Для Защищенного доступа в панель администрирования
  • Port 5222: Используется для связи клиентов с сервером Openfire
  • Port 7777: Используется для передачи
  • Port 7443: Используется для защищенного соединения клиентов по HTTP
  • Port 7070: Используется для незащищенного соединения клиентов по HTTP
  • Port 3478, 3479: Используется STUN сервисом находящимся за NAT

Пример: sudo ufw allow 9090/tcp и остальные порты по аналогии.

Нажимаю Login to the admin console и меня перекидывает в URL (http://IP&DNS:9090/login.jsp) если же использовать безопасность то URL-ссылка примет вид: https://IP&DNS:9091/index.jsp адресе которого есть путь до административной консоли где мне нужно авторизоваться с использованием ранее указанных данных:

  • Username: admin
  • Password: 712mbddr@

и нажимаю Login, если все сделано правильно то должен отобразиться административный интерфейс вида как у меня на скриншоте:

Корпоративный сервис общения успешно развернут в локальной сетиДля удобства раз имеется такая возможность то перейду с Engish меню на Russian, а так если действительно будет не понятно с переводом то всегда можно будет изменить язык отображения меню:

http://IP&DNS:9090 – Server – Server Manager – Choose Language: отмечаю Русский (ru_RU), Choose Time Zone: (GMT +3:00) Moscow, St. Peterburd, Volgograd) и нажимаю Save Settings, изменения применятся в ту же секунду.

Далее проделываю кое какие настройки:

http://IP&DNS:9090 – Сервер – вкладка Настройки сервера

  • Регистрация и вход: Анонимный вход (выключено)
  • Регистрация учетной записи: Выключено.

Для применения настроек не забываем нажать “Сохранить настройки

Ресурс политики: Всегда сбрасывать — Если есть конфликт входов,то немедленно сбросить другой вход.

Для применения настроек не забываем нажать “Сохранить настройки

Сообщения оффлайн: Хранить, Хранить и пытаться доставить. Предел хранения сообщения в оффлайн: 100KB

Остальные настройки оставляю пока по дефолту.

Для применения настроек не забываем нажать “Сохранить настройки

Теперь нужно группу и создать пользователей в ней:

http://IP&DNS:9090 – Пользователи/Группы – вкладка ГруппыСоздайте новую группу:

Имя группы: IT Systems

Описание: Cотрудники it-отдела компании “COMPANY

http://IP&DNS:9090 – Пользователи/Группы – вкладка ПользователиСоздание нового пользователя:

  • Имя пользователя: alexander.ollo
  • Имя: Александр
  • Email: alexander.ollo@ekzorchik.ru
  • Пароль: 712mbddr@
  • Подтверждение пароля: 712mbddr@

и нажимаю Создать пользователя, затем заходим в учетную карточку пользователя, после User Groups и добавляем в группу IT Systems

Пользователь успешно добавлен в группуТеперь когда было продемонстрировано, как создавать группу и пользователя нужно пройтись по шагам которые нужно сделать чтобы на рабочей станции по управлением Windows 7 настроить клиент для работы с данным корпоративным сервисом. В роли клиента выступит программное обеспечение именуемое как Spark, скачиваю его с официального сайта: http://www.igniterealtime.org/downloads/index.jsp → (Spark 2.8.2) из информации подчеркнутой там видно, что клиентская часть Spark (Весит аж 75Мб) может быть установлена, как на Windows (exe файл) так и Linux системы (tar.gz, rpm) – это рассмотрю чуть позже:

На Windows 7 x86:

Spark_2_8_2.exe → через правый клик, запуск от имени администратора

  • Welcome to the Spark Setup Wizard: Next >
  • Destination directory: по дефолтку: Next >
  • Select Start Menu Folder: по дефолту: Next >
  • Select Addtitional Tasks: под дефолтку: Next >
  • Completing the Spark Setup Wizard: по дефолту: Finish

Далее нужно произвести авторизацию через установленный клиент на сервере openfire:

  • Имя пользователя: alexander.ollo
  • Пароль: 712mbddr@
  • Домен: IP&DNS
  • Сохранить пароль: отмечаем галочкой
  • Автоматический вход: отмечаем галочкой

после открываем “Дополнительно” — во вкладке “Основное”:

  • Автоматически найти сервер и порт: отмечаем галочкой
  • Использовать сжатие: отмечаем галочкой
  • Accept all certificates (self-signed/expired/not trusted): отмечаем галочкой
  • Disable certificate hostname verification (not recommended): отмечаем галочкой

нажимаем OK для сохранения настроек и нажимаем кнопку “Войти

Авторизуюсь на сервисе корпоративного общения через клиент Sparkи я успешно авторизован на сервисе корпоративного обмена сообщениями:

Авторизация в клиенте успешна

а в оснастке Администрирования openfire стала видна активная сессия:
http://IP&DNS:9090 – Сеансы – Активный сеансы – Сеанс клиента:

Сервер OpenFire так же подтвержает об успешной авторизацииИтого я получил то к чему задумывалась данная заметка, но конечно здесь еще много всего что нужно настроить на продуктивную работу, но я не отказываюсь от задуманное и знаю, что смогу все воплотить в жизнь. Загромождать же текущую заметку всеми наработками мне кажется излишним, лучше так задача = решение, как отдельная заметка на моем блоге. А пока я прощаюсь, до новых встреч, с уважением автор блога Олло Александр aka ekzorchik.