Установить джаббер сервер OpenFire на CentOS, в качестве БД будет использоваться MySQL.
Я сейчас не буду очень подробно расписывать весь процесс установки, так как он достаточно прост и в инете можно найти множество подробных руководств с картинками. Вместо этого основное внимание уделю тем граблям на которые наткнулся.
Реализация:
Так как уже есть установленный CentOS 5.2, решено было разворачивать все именно на нем.
Однако, если просто установить БД и OpenFire, то при попытке зайти в консоль администратора мы будем получать ошибку Java, поэтому прежде чем перейти непосредственно к установке, обновим CentOS
yum update
Даем свое согласие на скачивание и установку кучи пакетов и уходим пить чай... зависимо от скорости инета, лично я и выспаться успел.
По окончанию обновления имеем CentOS 5.4
Сного переходим к установке Jabber сервера
Сначала установим MySQL
yum install mysql-server
запускаем установленный MySQL
service mysqld start
Зададим пароль администратора
mysqladmin -u root password "your_password"
Соеденяемся с MySQL
mysql -u root -p
Теперь необходимо создать базу и дать на нее привилегии (подробное описание пока не прикладываю)
Теперь все готово к установке OpenFire.
Качаем его с официального сайта коммандой вида
wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire-3.6.4-1.i386.rpm
и устанавливаем
rpm -ivh openfire-3.6.4-1.i386.rpm
Запускаем
/etc/init.d/openfire start
Теперь открываем в браузере http://
Попадаем в консоль администратора. Вполне очевидно доходим до шага выбора БД, сначала говорим что мы будем пользоваться внешней БД, затем в следующем окне настраиваем коннектор к MySQL.
Тут я столкнулся с граблями соеденения с базой данных. Если не получается, то необходимо убедиться в наличии прав у пользователя на коннект к базе, притом не только с локального хоста, убедиться что база вообще запущена и ее не режет фаервол. Немного помучавшись с правами все должно получиться.
Далее есче несколько понятных шагов по окончательной настройке.
По непонятной мне причине, попасть сразу в админскую консоль я не смог, хотя пароль вводил правильно, не мог же я быть настолько криворуким...
Пришлось востанавливать админский пароль, соеденившись с БД и выполнив запрос
update ofUser set password='
Вот теперь почти все... сервер установлен, работает, можно создать тестового пользователя и попробовать как все работает.
Но остается последняя проблема - проблема кодировок. Если присмотреться к таблицам, то все они в кодировке latin1, соответственно русские символы он не просто не правильно отображает, а не воспринимает вообще, заменяя на знаки вопросов.
Можно вручную сменить кодировки всех таблиц и полей, но это слишком долго...
Проще выгрузить базу, исправить в выгруженном файле кодировки при создании таблиц на utf8 и залить дамп обратно. В моем случае это полностью решило все проблемы с кодировками.
Вот пример куска скрипта БД, жирным выделен кусок где надо сменить кодировку
CREATE TABLE `ofExtComponentConf` (
`subdomain` varchar(255) NOT NULL,
`wildcard` tinyint(4) NOT NULL,
`secret` varchar(255) default NULL,
`permission` varchar(10) NOT NULL,
PRIMARY KEY (`subdomain`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Комментариев нет:
Отправить комментарий