OpenFire: проблема входа администратора после переименования домена

Проблема входа администратора в web-панель появилась сразу после переименования домена OpenFire который использует пользователей из внешнего LDAP (Active Directory) сервера.
В результате непродолжительного исследования было выявлено что проблема связана с тем что пользователь younghacker@openfire-01 который хранится в базе OpenFire как администратор имеет старое доменное имя openfire-01 и новый туда не пускаются по банальной причине что имеют новый домен younghacker@openfire-01.local.
Если OpenFire настроен для работы со внешней MySQL базой то исправление проблемы не представляет сложности. Достаточно подсоединиться к базе и изменить запись admin.authorizedJIDs в таблице OFPROPERTY.

Для встроенной HSQLDB эта операция немного сложнее.

1) Необходимо остановить OpenFire чтобы он сохранил данные из памяти в базу.

service openfire stop

2) Сделать резервную копию всех файлов базы, просто скопировав их в другое место.
3) Выполнить скрипт:

sed -e "s/INSERT INTO OFPROPERTY VALUES('admin.authorizedJIDs','younghacker@openfire-01')/INSERT INTO OFPROPERTY VALUES('admin.authorizedJIDs','younghacker@openfire-01.local')/g" /opt/openfire/embedded-db/openfire.script > /opt/openfire/embedded-db/openfire.script.new

В вашем случае younghacker@openfire-01 – администратор старого домена и younghacker@openfire-01.local – администратор нового домена
4) Проверить что изменения были проведены, сравнить что контрольная сумма нового файла отличается от старого.
5) Если всё в порядке то провести изменения на исходном файле. (таким образом права и возможные Selinux метки остантся нетронутыми)

sed -i "s/INSERT INTO OFPROPERTY VALUES('admin.authorizedJIDs','younghacker@openfire-01')/INSERT INTO OFPROPERTY VALUES('admin.authorizedJIDs','younghacker@openfire-01.local')/g" /opt/openfire/embedded-db/openfire.script

6) Запустить OpenFire

service openfire start

Проверить вход в панель администратора.

Подсказка для тех кто ещё не успел поменять домен OpenFire.
Если вы надумали изменить имя домена OpenFire сделайте это аккуратно. Сначала добавьте старых администраторов с новым доменным именем в запись admin.authorizedJIDs на закладке Server – Server Manager – System Properties. И только после этого переименовывайте домен.
Разумеется бэкапы конфигурационных файлов и базы данных никто не отменял.

Также для тех кто всё ещё использует OpenFire с HSQLDB я рекомендую перейти на MySQL или другие базы имеющие развитые инструменты “внешнего” администрирования.