Хочу для себя разобрать как установить и использовать openfire в локальной сети с использованием системы Ubuntu 14.04.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 для сохранения настроек и нажимаем кнопку “Войти”
и я успешно авторизован на сервисе корпоративного обмена сообщениями:
а в оснастке Администрирования openfire стала видна активная сессия:
http://IP&DNS:9090 – Сеансы – Активный сеансы – Сеанс клиента:
Итого я получил то к чему задумывалась данная заметка, но конечно здесь еще много всего что нужно настроить на продуктивную работу, но я не отказываюсь от задуманное и знаю, что смогу все воплотить в жизнь. Загромождать же текущую заметку всеми наработками мне кажется излишним, лучше так задача = решение, как отдельная заметка на моем блоге. А пока я прощаюсь, до новых встреч, с уважением автор блога Олло Александр aka ekzorchik.