Переход с OTRS 5 Centos 6 на OTRS 6 Centos 7

Только для готовых решений! Пожалуйста, не используйте для вопросов и обсуждений!

Модератор: ykolesnikov

Ответить
AndDem
OTRS Новобранец
Сообщения: 7
Зарегистрирован: 24 окт 2016, 14:18
Контактная информация:

Переход с OTRS 5 Centos 6 на OTRS 6 Centos 7

Сообщение AndDem » 06 дек 2017, 12:04

Добрый день!
Когда вышла стабильная версия OTRS 6 решил на нее перейти.
Для этого подготовил еще одну виртуальную машину, на котором поднял Centos 7 с базой mariadb.
Ниже описана процедура переноса с текущей версии OTRS 5 на новую машину с последующим апгрейдом до OTRS6.
Сразу скажу попыток было несколько, все достигалось методом проб и ошибок, т.к. не знаю ни линукс, ни базу данных mysql.


процедура переноса OTRS 5 c mysql и Centos6.6 на OTRS 6 с mariadb и Centos 7

1. Подготовка Centos 7
1.1 При установке Centos 7 выбрать Server GUI и Mariadb server (с GUI мне просто удобнее)
1.2 После установки Centos 7 отключить Selinux в файле
/etc/selinux/config
SELINUX=disabled
проверяем
#getenforce
Disabled
1.3 выключить firewall (иначе не давал подключаться из внешней сети по http)
#systemctl stop firewalld
#systemctl disable firewalld
#reboot
1.4 включить SSL (далее планировалось использовать доступ к OTRS только по https)
#yum install -y mod_ssl
в файле /etc/httpd/conf.d/ssl.conf добавить купленные сертификаты
SSLCertificateFile /etc/pki/tls/certs/mydomain.crt
SSLCertificateKeyFile /etc/pki/tls/certs/mydomain.key
SSLCertificateChainFile /etc/pki/tls/certs/intermediate-rapidssl.crt
#systemctl restart httpd
2. Подготовка базы данных Mariadb
2.1 Создать файл zotrs.cnf в /etc/my.cnf.d/
[mysqld]
max_allowed_packet = 256M
query_cache_size = 32M
innodb_log_file_size = 512M

[mysqldump] (иначе не давал делать backup для моей базы данных)
max_allowed_packet = 256M
#systemctl start mariadb

2.2 Установка кодировки utf8
в файле /etc/my.cnf.d/server.cnf
[mysqld]
character-set-server = utf8
collation-server = utf8_unicode_ci
#systemctl restart mariadb

2.3 #/usr/bin/mysql_secure_installation
пароль на базу данных password
на остальные вопросы - enter

2.3 создать базу otrs и пользователя otrs
#mysql -u root -p
passowrd: password
>CREATE DATABASE otrs CHARACTER SET utf8 COLLATE utf8_unicode_ci;
>CREATE USER 'otrs'@'localhost' IDENTIFIED BY 'password';
>GRANT ALL PRIVILEGES ON * . * TO 'otrs'@'localhost';
>FLUSH PRIVILEGES;
>exit;
#systemctl restart mariadb

3. Установка OTRS 5
3.1 Скопировать дистрибутив в папку /opt
3.2 #yum install --nogpgcheck otrs-5.0.24-01.noarch.rpm
3.3 #systemctl restart httpd.service
3.4 установка дополнительных модулей perl
#yum -y install http://fedora-mirror01.rbc.ru/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
#cd /opt/otrs
#bin/otrs.CheckModules.pl
установить доп модули, например yum -y install "perl(Text::CSV_XS)"

4. Установка через WEB
http://192.168.9.128/otrs/installer.pl
выбрать существующую базу данных
выбрать базу mysql
user otrs
database otrs
password password
после завершения установки проверить доступность otrs по ссылке
https://IP address/otrs/index.pl

5. Подготовка backup
5.1 на старой OTRS выполнить команду
#/opt/otrs/scripts/otrs.backup -d /backup
файл DatabaseBackup.sql.gz скопировать на новый otrs в папку /backup
5.2 перейти в папку /backup на новом otrs и распаковать
#gunzip DatabaseBackup.sql.gz

6.Восстановление базы данных на otrs centos7
6.1 Очистка базы otrs
#mysql -u root -p
password: passowrd (пароль для root базы данных установленный в п 2.3)
>DROP DATABASE otrs;
>CREATE DATABASE otrs CHARACTER SET utf8 COLLATE utf8_unicode_ci;
>exit;
6.2 Копирование базы
#mysql -u root -p otrs < DatabaseBackup.sql
6.3 Конвертация таблиц (у меня стоял mysql с доступом через MYISAM, в mariadb метод доступа InnoDB, для проверки запустите otrs.Console.pl Maint::Database::Check)
# su otrs
$cd /opt/otrs/
$bin/otrs.Console.pl Maint::Database::MySQL::InnoDBMigration --force
$bin/otrs.Console.pl Maint::Database::Check
$bin/otrs.Console.pl Maint::Config::Rebuild
$bib/otrs.Console.pl Maint::Cache::Delete
$exit
#systemctl restart mariadb
#systemctl restart httpd

7. Проверить доступ к otrs по ссылке:
http://192.168.9.128/otrs/index.pl
если у админа нет прав, необходимо выполнить (у меня пропали права на администрирование, пришлось восстанавливать)
$ bin/otrs.Console.pl Admin::Group::UserLink --user-name demin --group-name admin --permission rw
#systemctl restart httpd

8. Выполнить импорт administration -> sysconfig
8.1 Проверить систему через администрирование - сбор информации для поддержки (не должно быть ошибок)
8.2 Проверить дополнительные пакеты, в случае необходимости переустановить их.

9. upgrade to OTRS 6 (здесь в принципе все стандартно)
9.1 Остановка сервисов
#systemctl stop httpd
#systemctl stop crond
#systemctl stop postfix
#su otrs
$/opt/bin/otrs.Daemon.pl stop
$/opt/bin/Cron.pl stop

9.2 update otrs 6
#yum install --nogpgcheck otrs-6.0.1-02.noarch.rpm

9.3 migration DB
# su otrs
$ cd /opt/otrs/
$ scripts/DBUpdate-to-6.pl

9.4 update installed packages
otrs$ cd /opt/otrs/
otrs$ bin/otrs.Console.pl Admin::Package::UpgradeAll

9.5 Restart services
# systemctl start httpd
# systemctl start crond
# systemctl start postfix

9.6 Start of otrs services
#su otrs
otrs$ bin/otrs.Daemon.pl start
otrs$ bin/Cron.sh start

10. Для редиректа клиентского интерфейса в файле
/etc/httpd/conf/httpd.conf в разделе
<IfModule alias_module>
#
# Redirect: Allows you to tell clients about documents that used to
# exist in your server's namespace, but do not anymore. The client
# will make a new request for the document at its new location.
# Example:
# Redirect permanent /foo http://www.example.com/bar
вставить
RedirectMatch ^/$ /otrs/customer.pl

На этом все. Буду рад если кому-нибудь поможет.
Удачи!
OTRS 6.0.1
MariaDB 5.5.56
Perl 5.16.3
Centos 7.4

ocean
OTRS Новобранец
Сообщения: 24
Зарегистрирован: 22 апр 2014, 11:00
Откуда: Россия/Москва
Контактная информация:

Re: Переход с OTRS 5 Centos 6 на OTRS 6 Centos 7

Сообщение ocean » 13 дек 2017, 11:00

Прошу обратить внимание на ниже следующее:

OTRS 6 использует модуль perl-DateTime. В версии модуля 1.04 неправильный файл Московской зоны. Сейчас в Москве нет перехода на зимнее/летнее время (DST), а в файле зоны DST есть.

Важно решить проблему с зоной до начала обновления OTRS, иначе собьётся в БД время ваших заявок и придётся откатывать БД из бекапа.
Возможно, проблема с временной зоной присутствует и для других городов. Обратите на это внимание перед началом обновления!


Установка модуля perl-DateTime

Код: Выделить всё

yum install perl-DateTime
Проверка отображения времени в ОС

Код: Выделить всё

# zdump Europe/Moscow
 
Europe/Moscow  Fri Dec  8 13:03:38 2017 MSK

Проверка отображения времени с помощью Perl

Код: Выделить всё

# perl -MDateTime -e 'print DateTime->now()->set_time_zone("Europe/Moscow"), "\n";'
 
2017-12-08T14:03:41

Видим, что используя Perl время отображается на час больше.

Вся проблема в файле зоны:

Код: Выделить всё

/usr/share/perl5/vendor_perl/DateTime/TimeZone/Europe/Moscow.pm
Я не стал разбираться в формате файла зоны, а просто переименовал файл Minsk.pm в Moscow.pm и внутри файла изменил все упоминания Minsk на Moscow.

В Минске используется такая же временная зона (UTC +3, без DST), что и в Москве.

Готовый файл можно скачать https://2keep.net/wp-content/uploads/20 ... Moscow.zip
С уважением Андрей
OTRS 6.0.2

vgusev
OTRS Новобранец
Сообщения: 20
Зарегистрирован: 01 мар 2018, 22:50

Re: Переход с OTRS 5 Centos 6 на OTRS 6 Centos 7

Сообщение vgusev » 09 июн 2018, 13:19

баг с зоной ушел: в последнем модуле perl больше нет этой проблемы с неправильным файлом московской зоны, наверное поправили.
OTRS 6 + ITSM
CentOS 7, mariadb

Ответить