Обновление OTRS 4 до OTRS 5

upgrade_otrs4_to_5

Возникла необходимость в обновлении OTRS 4  до OTRS 5

В OTRS 5 версии была заявлена поддержка в работе с динамическими полями в процессной заявке — передача значений между ними, которая мне очень нужна…

Имеем: Виртуальную машину на Hyper-V с системой Ubuntu 14.04, OTRS 4 Free версии 4.0. 13, База данных MySQL 5.5.44. Обновляться будем до текущей актуальной версии 5.0.18

Действующая OTRS 4 устанавливалась в папку /opt простым разархивированием из tar.gz, поступим так же и с OTRS 5.

Сначала тормозим службы и сервисы:

apache2ctl stop

sudo -u otrs /opt/otrs/bin/Cron.sh stop

/opt/otrs/bin/otrs.Scheduler.pl -a stop

/etc/init.d/cron stop

Базу данных импортировать будем  только с целью бекапа.

Делаем бекап базы данных:

mysqldump -u otrs -p otrs > ~/db.sql

Переименовываем текущую папку, чтобы не запутаться:

mv /opt/otrs-4.0.13/ /opt/otrs-4.0.13-old

Скачиваем OTRS 5:

wget http://ftp.otrs.org/pub/otrs//otrs-5.0.18.tar.gz

Разархивируем скаченную версию в папку /opt

tar -xvzf otrs-5.0.18.tar.gz -C /opt

Восстанавливаем конфиги.

Так как мы не стирали старый OTRS, а просто переименовали, то копируем из OTRS4 в OTRS5 следующие файлы:

cp /opt/otrs-4.0.13-old/Kernel/Config.pm /opt/otrs/Kernel

cp /opt/otrs-4.0.13-old/Kernel/Config/Files/ZZZAuto.pm /opt/otrs/Kernel/Config/Files

cp /opt/otrs-4.0.13-old/var/log/TicketCounter.log /opt/otrs/var/log

Изменяем права:

Теперь нужно поменять права на разархивированном дистрибутиве на те, которые используются. (Можно подсмотреть по аналогии с OTRS4, которая была установлена ранее)

У меня это: пользователь «otrs», группа «www-data»

permission otrs 5

Для смены прав в OTRS есть скрипт, который находится в /opt/otrs-5.0.18/bin и называется otrs.SetPermissions.pl , запускаем:

cd /opt/otrs-5.0.18/bin

./otrs.SetPermissions.pl --web-group=www-data

./otrs.SetPermissions.pl --otrs-user=otrs

Для правильной  работы делаем ссылку (этого можно не делать, а просто переименовать «otrs-5.0.18» в «otrs», но мне так привычнее что ли…):

ln -s otrs-5.0.18/ otrs

Проверка наличия необходимых модулей

Далее проверяем все ли необходимые модули присутствуют в системе, для этого в OTRS есть скрипт /opt/otrs-5.0.18/bin/otrs.CheckModules.pl:

./otrs.CheckModules.pl

У меня не было двух модулей, устанавливаем их:

apt-get install -y libxml-libxml-perl

apt-get install -y libxml-libxslt-perl

после этого должно быть примерно так:

chekmodules otrs 5

Обновление БД

cd /opt/otrs/

cat scripts/DBUpdate-to-5.mysql.sql | mysql -p -f -u root otrs

Проверяем, что все работает:

sudo -u otrs  /opt/otrs/bin/otrs.Console.pl Maint::Database::Check

Миграция базы данных

Cкриптом, идущем в комплекте с программой OTRS «адаптируем» базу данных  для  версии OTRS 5.

Запускаем скрипт миграции базы данных до 5 версии OTRS. Ошибок быть не должно.

sudo -u otrs /opt/otrs/scripts/DBUpdate-to-5.pl

migration otrs 5

Далее обновляем конфигурацию и чистим кеш

sudo -u otrs /opt/otrs/bin/otrs.Console.pl Maint::Config::Rebuild

sudo -u otrs /opt/otrs/bin/otrs.Console.pl Maint::Cache::Delete

cash otrs 5

 

Проверка и обновление пакеджей

Проверяем какие пакеджи у нас установлены и обновляем их:

sudo -u otrs /opt/otrs/bin/otrs.Console.pl Admin::Package::List

package otrs 5

у меня только FAQ модуль, который надо обновить, смотрим какие  актуальные здесь: http://ftp.otrs.org/pub/otrs//packages

и обновляем:

sudo -u otrs /opt/otrs/bin/otrs.Console.pl Admin::Package::Upgrade http://ftp.otrs.org/pub/otrs//packages/:FAQ-5.0.2.opm

после этого у меня получилось:

new faq otrs 5

У меня после обновления FAQ в нем сразу не подтянулись картинки (jpg и png) — отображались только ссылки на них. Для того чтобы заработало нужно обновить статьи.

Планировщик

Переименовываем в папке  /opt/otrs-5.0.18/var/cron/otrs.daemon.dist в otrs.daemon

Добавляем в планировщик cron задачу, которая контролируют наличие запущенного сервиса otrs.Daemon.pl, который, в свою очередь,  заменяет обработку событий, которые в предыдущей версии запускались через cron

Вот здесь сравнение двух папок — OTRS4 и OTRS5 , в 5 версии остается только задание otrs.daemon (на aaa_base не обращайте внимание — случайно здесь оказалась :))

cron new otrs 5

Запускаем демон :

sudo -u otrs /opt/otrs/bin/otrs.Daemon.pl start

И затем обновляем задания cron для OTRS запустив скрипт

sudo -u otrs /opt/otrs/bin/Cron.sh start

Смотрим, что задание добавилось:

cron new1 otrs 5

Далее запускаем apache

apache2ctl start

Уведомления агентов

Заходим в админку OTRS5 и включаем уведомления агентов (в новой версии появились свои и «старые»,  которые перекочевали из предыдущей версии по умолчанию отключены)

messages otrs 5

включаем их.

Соответственно новые отключаем — иначе будет по несколько уведомлений приходить на одно событие.

E-mail для планировщика

Так как в 5 появился свой планировщик, который будет отправляться оповещения о событиях и ошибках (например ошибки с информацией о невозможности подключения к почтовому серверу и т.д.). ему нужно указать E-Mail на который будут отправляться оповещения:

otrs5_notificationemail

Доработки после обновления:

1. Если использовался логотип компании в customer.pl, то его надо скопировать в новую директорию:/opt/otrs-5.0.18/var/httpd/htdocs/skins/Customer/default/img из старой OTRS

2. Перестал подставляться заголовок сообщения по умолчанию при закрытии заявки: его нужно снова прописать Ticket → Frontend::Agent::Ticket::ViewClose

добавить значение по умолчанию

[% Translate("Close") | html %]

close otrs 5

3. У меня бала настроена автоматическая отправка отчета, который я создал в OTRS 4, мне на почту в начале каждого месяца, делалось это  скриптом, который был в OTRS 4. Скрипт назывался: /opt/otrs-4.0.13/bin/otrs.GenerateStats.pl и выполнялся cron-ом.

В OTRS 5 этого скрипта более нет. Вместо него /opt/otrs-5.0.18/bin/otrs.Console.pl

Пример реализации:

Создаем скрипт «shed_1013.sh»

#!/bin/sh
/opt/otrs-5.0.18/bin/otrs.Console.pl Maint::Stats::Generate --number 10013 --mail-recipient Mymail@mydomen.ru --mail-body 'Базовый отчет' --format Excel

здесь » —number 10013″  номер отчета, созданного в веб интерфейсе OTRS

Добавляем в расписание: (у меня скрипт сработал только когда я запускал его из планировщика из-под  пользователя «otrs»: crontab -e -u otrs)

crontab -e
# m h  dom mon dow   command
1       8      1       *       *       /home/shed_1013.sh

На этом все.

 

 

Vladimir

Добавить комментарий