Обновление:
- 13/12/2017 — Обновление OTRS 5 до OTRS 6
У меня уже была попытка обновить OTRS 4 до версии 5.0.2 (база данных PostgreSQL). В финале статьи «Миграция с ORTS Appliance 4 на OTRS под CentOS 7» я описал свой неудачный опыт. С тех пор вышло большое количество обновлений OTRS 5 (на 15/02/2016 актуальная версия 5.0.6) и я решил совершить очередную попытку перехода на OTRS 5.
Для обновления я воспользовался стандартной документацией «Upgrading OTRS from 4 to 5», но в результате столкнулся с проблемами, которые решить с наскоку не получилось и судя по западным форумам, данные проблемы возникли не только у меня и решения пока нет.
Суть проблемы в следующем. После обновления, при попытке зайти на страницу аутентификации OTRS, появляется ошибка 500 и сообщение в логе:
[Thu Feb 10 15:22:46 2016] index.pl: Got no ConfigObject! at /opt/otrs/bin/cgi-bin/../../Kernel/Output/HTML/NotificationSchedulerCheck.pm line 30.
Я решил радикально бороться с данным явлением и совместить установку OTRS с нуля и его обновление. Данная манипуляция позволила избежать данной ошибки и получить чистый OTRS 5 без лишнего мусора, который обычно остаётся после обновлений.
Подготовка
Останавливаем Apache
[root@otrs ~]# systemctl stop httpd
Останавливаем задачи OTRS
[root@otrs ~]# /opt/otrs/bin/Cron.sh stop [root@otrs ~]# /opt/bin/otrs.Scheduler.pl -a stop
Экспортируем базу данных OTRS
[root@otrs ~]# pg_dump -v -h 127.0.0.1 -U otrs -W otrs > ~/20160212_otrs4.sql
Переименовываем подкаталог с OTRS 4
[root@otrs ~]# mv /opt/otrs /opt/otrs_old
Скачиваем актуальную версию OTRS и устанавливаем
Предварительно смотрим какая актуальная версия: http://ftp.otrs.org/pub/otrs//RPMS/rhel/7
[root@otrs ~]# wget http://ftp.otrs.org/pub/otrs//RPMS/rhel/7/otrs-5.0.6-01.noarch.rpm [root@otrs ~]# yum install --nogpgcheck ~/otrs-5.0.6-01.noarch.rpm [root@otrs /]# /opt/otrs/bin/otrs.CheckModules.pl o Apache::DBI......................ok (v1.12) o Apache2::Reload..................ok (v0.13) o Archive::Tar.....................ok (v1.92) o Archive::Zip.....................ok (v1.30) o Crypt::Eksblowfish::Bcrypt.......ok (v0.009) o Crypt::SSLeay....................ok (v0.64) o Date::Format.....................ok (v2.24) o DBI..............................ok (v1.627) o DBD::mysql.......................Not installed! Use: 'yum install "perl(DBD::mysql)"' (optional - Required to connect to a MySQL database.) o DBD::ODBC........................Not installed! (optional - Required to connect to a MS-SQL database.) o DBD::Oracle......................Not installed! (optional - Required to connect to a Oracle database.) o DBD::Pg..........................ok (v2.19.3) o Encode::HanExtra.................Not installed! Use: 'yum install "perl(Encode::HanExtra)"' (optional - Required to handle mails with several Chinese character sets.) o IO::Socket::SSL..................ok (v1.94) o JSON::XS.........................ok (v3.01) o List::Util::XS...................ok (v1.27) o LWP::UserAgent...................ok (v6.13) o Mail::IMAPClient.................ok (v3.37) o IO::Socket::SSL................ok (v1.94) o ModPerl::Util....................ok (v2.000009) o Net::DNS.........................ok (v0.72) o Net::LDAP........................ok (v0.56) o Template.........................ok (v2.24) o Template::Stash::XS..............ok (undef) o Text::CSV_XS.....................ok (v1.00) o Time::HiRes......................ok (v1.9725) o Time::Piece......................ok (v1.20_01) o XML::LibXML......................ok (v2.0018) o XML::LibXSLT.....................ok (v1.80) o XML::Parser......................ok (v2.41) o YAML::XS.........................ok (v0.54)
Видим, что установлены все необходимые модули. Используется база данных PostgreSQL.
Восстанавливаем конфигурационные файлы
Восстанавливаем старые конфигурационные файлы от OTRS 4 (ранее мы переименовали подкаталог в котором находится OTRS 4 в /opt/otrs_old).
[root@otrs ~]# cp /opt/otrs_old/Kernel/Config.pm /opt/otrs/Kernel [root@otrs ~]# cp /opt/otrs_old/Kernel/Config/Files/ZZZAuto.pm /opt/otrs/Kernel/Config/Files [root@otrs ~]# cp /opt/otrs_old/var/log/TicketCounter.log /opt/otrs/var/log
Работа с базой данных
Во время установки OTRS 5 была созданная новая база данных «otrs». Она нам не нужна, т.к. у нас есть старая база данных от OTRS 4.
Очищаем базу данных otrs
[root@otrs log]# sudo -u postgres psql psql (9.4.6) Type "help" for help. postgres=# DROP DATABASE otrs; DROP DATABASE postgres=# CREATE DATABASE otrs ENCODING 'utf8' OWNER otrs; postgres=# \q
Импортируем базу данных от OTRS 4
[root@otrs log]# sudo -u postgres psql otrs < /root/20160212_otrs4.sql
Обновляем схему базы данных
Теперь у нас в базе данных информация от OTRS 4, необходимо её обновить до OTRS 5.
[root@otrs ~]# cd /opt/otrs/ [root@otrs otrs]# cat scripts/DBUpdate-to-5.postgresql.sql | psql --set ON_ERROR_STOP=on --single-transaction otrs otrs
Скрипт миграции до БД OTRS 5
Следим, что бы не было ошибок.
[root@otrs ~]# sudo -u otrs /opt/otrs/scripts/DBUpdate-to-5.pl Migration started... Step 1 of 17: Refresh configuration cache... If you see warnings about 'Subroutine Load redefined', that's fine, no need to worry! done. Step 2 of 17: Check framework version...done. Step 3 of 17: Migrate Database Column Types...done. Step 4 of 17: Migrate charset to UTF-8 on auto_response table...done. Step 5 of 17: Migrate charset to UTF-8 on notification_event table...done. Step 6 of 17: Migrate event based notifications to support multiple languages...done. Step 7 of 17: Migrate notifications to event based notifications...done. Step 8 of 17: Migrate send notification user preferences...done. Step 9 of 17: Add Email notification method to all event based notifications...done. Step 10 of 17: Migrate Output configurations to the new module locations... --- Toolbar modules......done. --- Ticket menu modules......done. --- Ticket overview menu modules......done. --- Ticket overview modules......done. --- Preferences group modules......done. --- SLA/Service/Queue preference modules......done. --- Article pre view modules......done. --- NavBar menu modules......done. --- NavBar ModuleAdmin modules......done. --- Dashboard modules......done. --- Customer user generic modules......done. --- FilterText modules......done. done. Step 11 of 17: Add TicketZoom menu cluster configurations......done. done. Step 12 of 17: Fixup statistics time field configuration where the time interval is too small... done. Step 13 of 17: Fixup wrong notification tags...done. Step 14 of 17: Fixup dashboard statistics output format configuration... done. Step 15 of 17: Uninstall Merged Feature Add-Ons...done. Step 16 of 17: Clean up the cache...done. Step 17 of 17: Refresh configuration cache another time... If you see warnings about 'Subroutine Load redefined', that's fine, no need to worry! done. Migration completed!
Обновляем конфигурацию и удаляем кеш
[root@otrs ~]# sudo -u otrs /opt/otrs/bin/otrs.Console.pl Maint::Config::Rebuild Rebuilding the system configuration... Done. [root@otrs ~]# sudo -u otrs /opt/otrs/bin/otrs.Console.pl Maint::Cache::Delete Deleting cache... Done.
Обновляем пакеджи (модули)
Если у вас установлены пакеджи (модули), их необходимо обновить.
Список установленных пакеджей
[root@otrs ~]# sudo -u otrs /opt/otrs/bin/otrs.Console.pl Admin::Package::List Listing all installed packages... +----------------------------------------------------------------------------+ | Name: FAQ | Version: 4.0.2 | Vendor: OTRS AG | URL: http://otrs.org/ | License: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007 | Description: The FAQ/knowledge base. +----------------------------------------------------------------------------+ | Name: GeneralCatalog | Version: 4.0.14 | Vendor: OTRS AG | URL: http://otrs.org/ | License: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007 | Description: The General Catalog package. +----------------------------------------------------------------------------+ | Name: ImportExport | Version: 4.0.14 | Vendor: OTRS AG | URL: http://otrs.org/ | License: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007 | Description: The ImportExport package. +----------------------------------------------------------------------------+ | Name: ITSMConfigurationManagement | Version: 4.0.14 | Vendor: OTRS AG | URL: http://otrs.org/ | License: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007 | Description: The OTRS::ITSM Configuration Management package. +----------------------------------------------------------------------------+ | Name: ITSMCore | Version: 4.0.14 | Vendor: OTRS AG | URL: http://otrs.org/ | License: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007 | Description: The OTRS::ITSM Core package. +----------------------------------------------------------------------------+
Как мы видим, они все 4ой версии.
Обновляем пакеджи
Предварительно смотрим какие актуальные версии: http://ftp.otrs.org/pub/otrs//packages и http://ftp.otrs.org/pub/otrs//itsm/packages5
[root@otrs ~]# sudo -u otrs /opt/otrs/bin/otrs.Console.pl Admin::Package::Upgrade http://ftp.otrs.org/pub/otrs//packages/:FAQ-5.0.2.opm [root@otrs ~]# sudo -u otrs /opt/otrs/bin/otrs.Console.pl Admin::Package::Upgrade http://ftp.otrs.org/pub/otrs//itsm/packages5/:GeneralCatalog-5.0.6.opm [root@otrs ~]# sudo -u otrs /opt/otrs/bin/otrs.Console.pl Admin::Package::Upgrade http://ftp.otrs.org/pub/otrs//itsm/packages5/:ITSMCore-5.0.6.opm [root@otrs ~]# sudo -u otrs /opt/otrs/bin/otrs.Console.pl Admin::Package::Upgrade http://ftp.otrs.org/pub/otrs//itsm/packages5/:ITSMConfigurationManagement-5.0.6.opm [root@otrs ~]# sudo -u otrs /opt/otrs/bin/otrs.Console.pl Admin::Package::Upgrade http://ftp.otrs.org/pub/otrs//itsm/packages5/:ImportExport-5.0.6.opm
Запускам сервис otrs.Daemon.pl
В OTRS 5 появился новый сервис (демон) otrs.Daemon.pl. Он выполняет обработку событий, которые ранее выполнялись через планировщик cron.
[root@otrs ~]# sudo -u otrs /opt/otrs/bin/otrs.Daemon.pl start
Задачи OTRS
Добавляем в планировщик cron задачи OTRS. Данные задачи контролируют наличие запущенного сервиса otrs.Daemon.pl.
[root@otrs cron]# sudo -u otrs /opt/otrs/bin/Cron.sh start /opt/otrs/var/cron Cron.sh - start/stop OTRS cronjobs Copyright (C) 2001-2012 OTRS AG, http://otrs.org/ (using /opt/otrs) done
Запускам Apache
[root@otrs ~]# systemctl start httpd
Проверьте логи OTRS на предмет ошибок (Администрирование > Администрирование системы > Системный журнал).
E-Mail для планировщика
В OTRS 5 появился собственный планировщик. В его настройках необходимо указать E-Mail на который будут отправляться оповещения о событиях и ошибках (например ошибки с информацией о невозможности подключения к почтовому серверу и т.д.). По умолчанию в параметрах указан E-Mail «root@localhost».
Уведомлений о заявках
Посмотрите настройки ваших уведомлений о заявках. В OTRS 5 они изменились и ваши старые уведомления отключены, вы можете их заново активировать (Администрирование > Настройки заявок > Уведомление по заявкам).
Дополнительные материалы
OTRS
- Download OTRS Open Source Help Desk Software and free features
- OTRS 5 — Admin Manual
- OTRS 5 — Admin Manual: Chapter 2. Installation
- OTRS 5 — Admin Manual: Upgrading OTRS from 4 to 5
PostgreSQL
Похожие записи...
Latest posts by Андрей Торженов (see all)
- Куда переходить с Helpdesk OTRS? Альтернативы OTRS - 27/02/2022
- Windows 11. Не работает обновление, не входит в OneDrive, OneNote и другие Microsoft сервисы - 29/01/2022
- Попытка взлома Mikrotik? - 24/12/2021
- После обновления до Proxmox 7.1 не запускаются виртуальные машины - 28/11/2021
- libflashplayer.so пропатченный от Time bomb - 11/02/2021