OTRS на Windows

Как перенести существующую Windows-систему на Linux
Введение и подготовка
Загрузите скрипт OTRSCloneDB для клонирования базы данных
Включите удаленный доступ к базам postgresql вашей целевой системе
Остановите сервисы OTRS
Сделайте "drop" существующей БД вашей целевой системы, чтобы иметь пустую базу для клонирования данных
Получить пароль postgresql вашей БД
Скопируйте вашу БД на вашу целевую систему
Скопируйте следующие файлы из вашей windows системы в целевую систему
Переустановить все пакеты
Выключите удаленный доступ к базам postgresql вашей целевой системе
Запуск сервисов OTRS

OTRS может работать на широком ряде системных платформ, включая такие корпоративные Linux платформы как Red Hat Enterprise Linux, и SUSE Linux Enterprise Server, а также набором других дистрибутивов Linux.

Однако, при работе OTRS на Windows платформах мы столкнулись с повторяющимися потерями производительности, и, несмотря на исчерпывающий анализ, не получилось решить эти вопросы, к нашему удовлетворению в связи с техническими различиями. Таким образом, с тяжелым сердцем, мы прекратили развитие установщика Windows с OTRS Appliance в связи с ограниченным в настоящее время наличием необходимых сторонних компонентов, предлагаемых другими поставщиками.

В связи с этими обстоятельствами, мы не способны гарантировать продолжение работы OTRS на Windows платформе и в свою очередь рекомендуем перейти на одну из платформ Linux, упомянутых выше или рекомендуем использовать наше решение OTRS Business Solution™ Managed.

Для облегчения перехода с Windows на Linux предоставить вам наилучшую производительность OTRS, мы приготовили здесь для вас детальные инструкции.

Как перенести существующую Windows-систему на Linux

Введение и подготовка

Если у вас есть OTRS, установленная на Windows и вы желаете перенести ее на linux, вам потребуется установить Linux server или виртуальную машину и установить там OTRS (смотри инструкции по установке). Это будет система для миграции.

Загрузите скрипт OTRSCloneDB для клонирования базы данных

Перейдите в меню администратора системы на Windows и установите новейшую версию OTRSCloneDB в OTRS:

Вы можете установить пакет OTRSCloneDB непосредственно с помощью менеджера пакетов. Выберите "OTRS Extensions/Дополнения OTRS" из выпадающего списка слева и кликните по кнопке "Обновить информацию репозитария" ниже. Когда с строка с OTRSCloneDB будет отражена в списке, выберите ее и нажмите "Установить".

Можно, также, загрузить пакет вручную с OTRS FTP сервера и установить его вручную, как описано ниже. http://ftp.otrs.org/pub/otrs/packages/

Загрузите пакет с наибольшим номером версии:

OTRSCloneDB-1.0.10.opm
                

и установите его в вашу систему на Windows:

Если у вас были установлены какие-то расширения OTRS/feature addons или собственные разработки, проблем быть не должно. Надо только убедиться, что все из ваших установленных пакетов также имеют совместимость с системами на unix. С пакетами, предоставляемыми OTRS дело обстоит именно так.

Включите удаленный доступ к базам postgresql вашей целевой системе

Скрипт OTSRCloneDB скопирует базу данных по сети, для этого должен быть включен удаленный доступ к базам данных. Установка различается для различных СУБД, мы здесь опишем включение удаленного доступа к postgresql.

После входа в вашу целевую систему с использованием SSH, необходимо изменить путь к каталогу postgresql:

shell> cd /etc/postgresql/9.4/main
shell> vi postgresql.conf
                

Добавьте следующую строку в конец файла:

listen_addresses = '*'
                

Сохраните файл.

shell> vi pg_hba.conf
                

Добавьте следующую строку в конец файла:

host all all  0.0.0.0/0 md5
                

Сохраните файл.

Перезапустите сервер postgresql

shell> service postgresql restart
                

Остановите сервисы OTRS

Остановите работающие сервисы на целевой системе:

shell> service cron stop
shell> service apache2 stop
shell> su - otrs
shell> cd /opt/otrs/
shell> bin/Cron.sh stop
shell> bin/otrs.Scheduler.pl -a stop
shell> exit
                

Сделайте "drop" существующей БД вашей целевой системы, чтобы иметь пустую базу для клонирования данных

Скрипт OTRSCloneDB не удаляет данные в существующей базе OTRS, поэтому придется это сделать вручную:

Замените пользователя на пользователя postgresql:

shell> su - postgres
                

Очистите существующую БД otrs:

shell> dropdb otrs
                

Создайте новую БД OTRS для пользователя otrs:

shell> createdb --owner=otrs --encoding=utf8 otrs
                

Верните пользователя root:

shell> exit
                

Получить пароль postgresql вашей БД

Перейдите в каталог OTRS вашей целевой системы:

shell> cd /opt/otrs
                

и давайте посмотрим на конфигурационный файл вашей целевой системы::

shell> less Kernel/Config.pm
                

Вы найдете пароль для вашей БД если немного пролистаете файл вниз:

В нашем примере:

I88cm34A1B6xrl3
                

Запишите пароль, где-нибудь.

Скопируйте вашу БД на вашу целевую систему

Переключитесь обратно на систему под Windows и откройте меню администрирования SysConfig. Выберите группу "OTRSCloneDB" и подгруппу "Configuration":

Нужно настроить параметр SysConfig - OTRSCloneDB::TargetSettings, со следующими значениями:

TargetDatabaseHost => 192.168.137.20 (Здесь необходимо ввести ip адрес вашей целевой системы)
TargetDatabase => otrs
TargetDatabaseUser => otrs
TargetDatabasePw => I88cm34A1B6xrl3 (Здесь необходимо ввести пароль на вашей целевой системе)
TargetDatabaseType => postgresql
                

Для запуска скрипта OTRSCloneDB необходимо переключиться в режим командной строки в вашей Windows otrs системе в корневой каталог:

shell> cd "C:\otrs"
                

Если вы используете StrawberryPerl, то, возможно, потребуется активировать оболочку perl:

shell> StrawberryPerl\portableshell.bat
                

Скрипт OTRSCloneDB расположен в каталоге bin каталога otrs.

shell> cd "OTRS\bin"
                

Запуск скрипта OTRSCloneDB:

shell> perl otrs.OTRSCloneDB.pl
                

Теперь вы можете увидеть некоторую информацию о скрипте и его параметрах.

Внимание... Ошибки которые появляются при запуске без параметров говорят о неверном имени входа для БД или проблемами с подключением к СУБД.

Если ошибок не обнаружено, проверьте, что чистый запуск проходит успешно:

shell> perl otrs.OTRSCloneDB.pl -n
                

Начните копирование вашей БД и "молитесь":

shell> perl otrs.OTRSCloneDB.pl -r
                

Пример успешного выполнения выглядит так:

Generating DDL for OTRS.
Generating DDL for package OTRSCloneDB.
Creating structures in target database (phase 1/2)
...
...
Creating structures in target database (phase 2/2)
...
done.
                

Скопируйте следующие файлы из вашей windows системы в целевую систему

Необходимо скопировать некоторые файлы из старой системы. Это можно сделать, например, с помощью "WinSCP" (можно найти в интернете по фразе "WinSCP"). Скопируйте из нее следующие файлы:

C:/otrs/OTRS/Kernel/Config/GenericAgent.pm
C:/otrs/OTRS/Kernel/Config/Files/ZZZAuto.pm
C:/otrs/OTRS/var/article/*
C:/otrs/OTRS/var/log/TicketCounter.log
                

в вашу целевую систему:

/opt/otrs/Kernel/Config/GenericAgent.pm
/opt/otrs/Kernel/Config/Files/ZZZAuto.pm
/opt/otrs/var/article/*
/opt/otrs/var/log/TicketCounter.log
                

Откройте файл /opt/otrs/Kernel/Config/Files/ZZZAuto.pm в целевой системе и замените все пути типа "C:/otrs/OTRS/" на "/opt/otrs/"!

Если вы вручную правили Kernel/Config.pm - скопируйте сделанные изменения в целевую систему. Не копируйте их 1:1, т.к. в новой системе другие настройки БД и пути к файлам!

Переустановить все пакеты

Переустановите все пакеты с помощью Менеджера пакетов для получения всех дополнительных файлов обратно.

shell> bin/otrs.SetPermissions.pl --otrs-user=otrs --otrs-group=otrs --web-user=www-data --web-group=www-data /opt/otrs
shell> su - otrs
shell> cd /opt/otrs
shell> perl bin/otrs.DeleteCache.pl
shell> perl bin/otrs.LoaderCache.pl -o delete
shell> perl bin/otrs.PackageManager.pl -a reinstall-all
shell> exit
                

Исправить все права в вашей OTRS системе снова:

shell> bin/otrs.SetPermissions.pl --otrs-user=otrs --otrs-group=otrs --web-user=www-data --web-group=www-data /opt/otrs
                

Выключите удаленный доступ к базам postgresql вашей целевой системе

Выполните обратно все шаги, сделанные при включении удаленного доступа к базам postgresql в вашей целевой системе.

Смените каталог на postgresql:

shell> cd /etc/postgresql/9.4/main
shell> vi postgresql.conf
                

Удалите следующую строку в конеце файла:

listen_addresses = '*'
                

Сохраните файл.

shell> vi pg_hba.conf
                

Удалите следующую строку в конеце файла:

host all all  0.0.0.0/0 md5
                

Сохраните файл.

Перезапустите сервер postgresql

shell> service postgresql restart
                

Запуск сервисов OTRS

Запустите сервисы на вашей новой системе:

shell> service cron start
shell> service apache2 start
shell> su - otrs
shell> cd /opt/otrs/
shell> bin/Cron.sh start
shell> bin/otrs.Scheduler.pl -a start
                

Теперь вы сможете войти в OTRS в браузере целевой системы и работать с импортированными данными из старой системы на Windows.