Давеча понадобилось скрафтить связку OpenFire+Active Dirictory+MySQL+архивирование логов. Как обычно я всё делаю на бубунте 14.04, штабильно, и всё просто.
Так вот, выбор на openfire не зря пал, пушо он активно пилится, куча манов и все такое. Представим, что есть базовые навыки в сосольке, и мы имеем голую систему. Для начала нужно поставить Java, т.к. openfire без нее никак.
# apt-get install openjdk-7-jre-headless
потом проверочку
# java -version
и там все должно быть окей. И да, Java только 7-я, пушо с другими версиями нет дружбы.
Далее накатываем mysql
# apt-get install mysql-server
Во время установки будет реквестовать пас для рута, лучше вбить и записать/запомнить/етц
После установки, нужно создать БД, юзака в мускуле, и дать правушки (это надо все потом для openfire)
ну шо, понеслась!
# mysql -u root -p
Password:
> CREATE DATABASE openfire CHARACTER SET='utf8';
> CREATE USER 'openfire'@'localhost' IDENTIFIED BY 'samepassword';
> GRANT ALL PRIVILEGES ON `openfire`.* TO 'openfire'@'localhost' WITH GRANT OPTION;
> FLUSH PRIVILEGES;
> quit
Так-с, система относительно готова для инсталяции самого openfire, теперь можно его скачать с сайта (к сожалению в официальных реапах его нет, так что ручками качаем, ручками ставим)
# wget -O openfire_4.0.1.deb http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.0.1_all.deb
После скачивания, ставим его
# dpkg -i openfire_4.0.1.deb
В целом установка на этом этапе завершена. Теперь самое интересное - конфигурация самого openfire. Заходим на (предполагается, что создана dns-запись в соотвествующей зоне, с соотвествующим именем) http://myjbr.domain.com:9090
И тут всё в классике, Хэллоу, итс ми, го конфижиться, выбирай язык, создавай локального юзка.
1. Выбираем язык (даже есть русский, но ломаный, и стремный, но есть)
2. Добавляем локального админа
user: admin
pass: admin
3. Теперь подключение базы данных (мускул = внешняя БД)
3.1 База данных драйвера (чет-там):
MySQL
3.2 Драйвер клас:
Тут чет стандартное, так что пофиг
3.3 База данных URL:
jdbc:mysql://localhost:3306/openfire?characterEncoding=UTF-8
Т.е. само слово openfire в данной строчке обозначает имя базы данных. А вот то, что идет после вопросительного знака - дает нам возможность складировать логи, а потом читать их! Иначе одни ????? вместо нормальных исконно русских слов.
3.4 Имя пользователя:
openfire
Пароль:
**********
Жмем "ДАЛЬШЕ".
4. Подключение к Active Dirictory
Можно упороться, и подключиться через аккаунт Администратора, а можно создать отдельного юзака в AD, и получать учетки так. Отдельная учетка с точки зрения политики безопасности лучше, чем под админом работать. Я создал отдельного
Тип сервера:
Active Dirictory
Хост (можно ip, можно имя):
dc1.example.com
База DN:
DC=example,DC=com
Администратор DN:
CN=j-user,CN=Users,DC=example,DC=com
Пароль:
*******
На следующей странице настроек, нужно вместо uid вписать sAMAccountName в строчку с Profile settings
и жмакать ДАЛЕЕ (там тест, выхлоп, все дела)
Теперь надо в AD создать группу, допустим j-users, и эта группа будет
5. Настройка фильтров
Group field cn
member field member
Description field description
и тут не всё! А жмем волшебную пимпу,
Дополнительные настройки:
в поле Filter
вбиваем:
(&(objectClass=group)(cn=j-users))
И таким образом мы добавим только тех, кто в данной группе.
6. Настройка закончена, если войти на данный джаббер-сервер, в списке доступных пользователей мы увидим.. никого! Потому что надо его создать.
Заходим в раздел Пользователи/группы, далее переходим в Группы, кликаем на единственную группу J-users
7. Ага, теперь перетягиваем ползунок
* Включить совместный список контактной группы
и в поле вбиваем имя этого списка roster к примеру.
Далее жмем "Схоронить сия поделия", и у подключенных юзаков должен появиться список.
8. Рекомендуется использовать клиент Psi+ или Pidgin, учетка добавляется следующим образом
username@jbr.example.com
9. Архивация логов делается через плагин
Monitoring Service
Который доступен в списке доступных плагинов. После установки он не будет сразу писать логи! Надо это дело включить:
жмем
Archive one-to-one chats *
Archive group chats *
Логи не "налету" пишутся, а с небольшой задержкой. На этом пожалуй всё.
UPD 14.06.16
Можно меня поздравить с подключением. В общем, если кто-то юзает SAMBA AD DC, и openfire не коннектится, надо доставить два пакета, и сменить порт подключения к контроллеру домена. Т.е. устновить 636 порт, поставить Enable SSL
sudo apt-get install slapd ldap-utils
После этого должно работать.