Openfire — мощный jabber-сервер, написанный на Java. Отличается широкой функциональностью. Может использовать как встроенную базу данных, так и внешнюю. Практически всю настройку можно проводить через веб-интерфейс. Из недостатков следует отметить довольно сильное потребление памяти (за счет Java) и отсутствие поддержки виртуальных узлов.
Возможности Openfire
- Веб-панель администрирования
- Поддержка плагинов
- Поддержка SSL/TLS
- Работа с базами данных для хранения сообщений и профилей пользователей через JDBC, а это значит, что можно использовать Oracle, MSSQL, Postgres, DB2, Sybase ASE, MySQL, или встроенную СУБД — HSQLDB.
- Взаимодействие с LDAP (участниками сети могут быть пользователи Active Directory, а выбранные группы можно автоматически публиковать в списках контактов Jabber-совместимого клиента)
- Аутентификация пользователей посредством сторонних источников данных
- Платформо-независимый, в связи с использованием для разработки Java
- Можно ожидать наибольшую совместимость с клиентом Spark, разработкой которого занимается та же компания
- Поддержка русского языка.
Установка Openfire
Итак. Имеем установленную систему FreeBSD-9.0-RELEASE-i386-dvd1.iso и первое что будем с ней делать, это устанавливать джабер. Для этого заведем пользователя (adduser), с которого и будем собственно админить. При добавлении пользователя в строчке Login group указываем wheel, остальное по умолчанию.
Login group [ИМЯ_ВАШЕГО_ПОЛЬЗОВАТЕЛЯ]: wheel
тем самым мы создадим системного администратора
Подключаемся к серверу и авторизуемся толко что заведённым пользователем
Для того, чтобы пользователю состоящему в группе wheel переключиться в режим суперпользователя root, следует набрать команду:
su
После ввода пароля суперпользователя root, вы получите права «бога» ))). Возврат из режима суперпользователя выполняется по команде:
exit
Так же повторный набор этой команды уже из режима пользователя приведет к выходу из системы.
Теперь обновим порты системы
portsnap fetch && portsnap extract
Если вы будите ставить на уже имеющуюся систему, то для обновления портов выполняем команду
portsnap fetch && portsnap update
С подготовкой сервера пожалуй всё, переходим к установке Openfire
cd /usr/ports/net-im/openfire && make install clean
Оставляем всё как есть
Оставляем всё как есть
Оставляем всё как есть
Оставляем всё как есть
Ошибка.
Заходим по ссылке указанной с консоле:
http://www.FreeBSDFoundation.org/cgi-bin/download?download=diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2
Скачиваем файл и помещаем его в
/usr/ports/distfiles
Я использовал WinSCP. Файл помещал в домашнюю директорию пользователя, после с консоли получив права root уже куда надо.
После того как нужное поместили куда надо, Запускаем заново
cd /usr/ports/net-im/openfire && make install clean
Оставляем всё как есть
Оставляем всё как есть
После удачной установки, добавляем в автозагрузку OpenFire
echo 'openfire_enable="YES"' >> /etc/rc.conf
Стартуем сервер
/usr/local/etc/rc.d/openfire start
Смотрим статус сервера
/usr/local/etc/rc.d/openfire status openfire is running as pid 7676
Если при запуске сервер начнет ругаться, то пробуем его запустить другой командой:
/usr/local/etc/rc.d/openfire onestart
Дальнейшая настройка сервера, будет происходить через веб интерфейс. Выбираем язык.
В строке Domain предлагается набрать имя сервера. Можно указать и IP-адрес сервера, в моём случае 192.168.15.253. В последствии его можно изменить, и скорректировать потом сертификаты. Нажимаем кнопку «Продолжить».
На этом этапе необходимо подключиться к серверу mysql и создать базу данных.
mysql> CREATE DATABASE openfire DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; mysql> GRANT ALL PRIVILEGES ON openfire.* TO 'openfire'@'localhost'IDENTIFIED BY 'openfirepass'; mysql> flush privileges; mysql> exit;
Переходим к настройке через веб-интерфейс и выбираем «Стандартная База данных Связи»
Заполняем нужные поля:
База данных Драйвера Инициализируется: mysql
ДРАЙВЕРНЫЙ Класс JDBC: com.mysql.jdbc.Driver
База данных URL: jdbc:mysql://localhost:3306/openfire
Имя пользователя: openfire
Пароль: openfirepass
Имя пользователя и пароль, Вам лучше придумать свои.
В моём случае я не буду привязывать openfire к контроллеру домена, поэтому остановлюсь на «Встроенный»
Указываем логин и пароль для консоли администрирования.
Нажимаем «Войдите в систему консоль администрации»
Указываем логин у пароль, который мы придумали на предыдущем шаге.
Если все ок, то появится панель управления сервером.
ВСЁ !
ВОЗМОЖНЫЕ ОШИБКИ
1. При первичной настройке сервера указали какие то параметры неверно, а теперь не можете их изменить. Ну или просто что то не так настроили.
решение:
открываете openfire.xml (по умолчанию располагается /usr/local/etc/openfire/) и удалаем строку
<setup>true</setup>
перегружаем сервер и заново конфигурим
2. После инсталляции не запускает под админом
решение:
в секции adminConsole в файле openfire.xml вставляем
<authorizedUsernames>admin</authorizedUsernames>
3. Забыли пароль от администратора
заходим в базу (Mysql), добавляем пароль в поле plainPassword, обнуляем поле encryptedPassword и при необходимости перегружаем сам сервис.
mysql> update ofUser set plainPassword='12345' where username='admin';
mysql> update ofUser set encryptedPassword=NULL where username='admin';
4. Крукозябра в сообщениях, ошибки с кодировкой
jdbc:mysql://localhost:3306/openfire?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8
Спасибо большое !
Openfire Setup
Error: Can not proceed with Openfire Setup.
Your current installation fails to meet minimum server requirements — please see the checklist below:
At least JDK 1.5
Servlet 2.3 Support
JSP 1.2 Support
Openfire Classes
Home not found. Define system property «openfireHome» or create and add the openfire_init.xml file to the classpath
Please read the installation documentation and try setting up your environment again. After making changes, restart your appserver and load this page again.
chown -R openfire /usr/local/share/java/
chown -R openfire /usr/local/etc/openfire/
https://www.freebsdfoundation.org/java/java16