Миграция с ORTS Appliance 4 на OTRS под CentOS 7

Автор: Андрей Торженов

otrs4_updateeeeАвторы Help Desk’а OTRS отказались от поддержки продукта OTRS Appliance. Последняя версия была 4.0.8 и больше не обновлялся, хотя о наличии обновлений исправно сообщал. Когда обновлений накопилось большое количество, я решился мигрировать с OTRS Appliance на обычный OTRS на CentOS 7.

Нигде не найдя подробной инструкции с описанием процесса миграции, решил написать её сам. Инструкцию можно использовать и в случае переноса OTRS с одного сервера на другой (конечно с некоторыми оговорками).

Для работы с OTRS на новом сервере, будем использовать GNU/Linux CentOS 7. Я предпочитаю использовать Minimal ISO версию CentOS.

Предполагается, что CentOS 7 уже установлен и мы сразу приступаем к настройке необходимого программного обеспечения (в моём случае SELinux отключен, также отключен firewall).

Работы на старом сервер OTRS Appliance

На старом сервере нам необходимо сделать резервную копию файлов и базы данных OTRS и перенести их на новый сервер.

Для создания резервной копии базы данных, нам необходимо узнать данные для аутентификации при подключении к PostgreSQL и название базы данных.

Данные находятся в файле «/opt/otrs/Kernel/Config.pm«.

# The database host
$Self->{DatabaseHost} = '127.0.0.1';

# The database name
$Self->{Database} = 'otrs';

# The database user
$Self->{DatabaseUser} = 'otrs';

# The password of database user. 
$Self->{DatabasePw} = 'password';

1. Резервное копирование базы данных

Для резервного копирования используем утилиту pg_dump.

root@otrs:/# pg_dump -v -h 127.0.0.1 -U otrs -W otrs > 05112015_otrs.sql ; scp 05112015_otrs.sql root@10.21.0.206:/root/

Используя данную конструкцию мы сбрасываем dump базы данных в файл 05112015_otrs.sql и с помощью утилиты SCP передаём его на новый сервер с IP 10.21.0.206.

2. Резервное копирование файлов OTRS

Подкаталог OTRS в Appliance версии реально располагается в /var/otrs.

root@otrs:/# ls -al /opt
total 4
drwxr-xr-x  2 root root 27 Dec 2 2014 .
drwxr-xr-x 21 root root 4096 Jul 16 15:42 ..
lrwxrwxrwx  1 root root 9 Dec 2 2014 otrs -> /var/otrs

Архивируем файлы и переносим на новый сервер.

root@otrs:/# tar -vczf /root/05112015_otrs.tar.gz /var/otrs; scp /root/05112015_otrs.tar.gz root@10.21.0.206:/root/

На старом сервере работы закончили.

Работы на новом сервере CentOS 7

Как я уже писал выше, предполагается, что у вас уже установлен и настроен CentOS 7 (в моём случае SELinux отключен, также отключен firewall).

1. PostgreSQL

OTRS Appliance работает с базой данных PostgreSQL, её мы и оставим, установив на новый сервер.

1.1. Установка PostgreSQL

[root@otrs ~]# yum localinstall http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm
[root@otrs ~]# yum update
[root@otrs ~]# yum install postgresql94-server

Инициализируем DB.

[root@otrs ~]# /usr/pgsql-9.4/bin/postgresql94-setup initdb

1.2. Настройка PostgreSQL

Настраиваем доступ к БД. В конфигурационном файле «/var/lib/pgsql/9.4/data/pg_hba.conf» описываем сети с которых будет доступ к PostgreSQL.

…
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
…

Включаем автозагрузку и запускаем PostgreSQL.

[root@otrs ~]# systemctl enable postgresql-9.4
[root@otrs ~]# systemctl start postgresql-9.4

1.3. Создаем пользователя и базу данных

[root@otrs ~]# sudo -u postgres psql

postgres=# CREATE ROLE otrs LOGIN PASSWORD 'otrs' SUPERUSER;
postgres=# CREATE database otrs encoding 'utf8' OWNER otrs;
postgres=# \q

Логин и пароль — otrs. Если вам нужно указать другой пароль, используйте команду:

\password otrs

Проверяем подключение к БД.

[root@otrs ~]# psql -U otrs -d otrs -h 127.0.0.1 -W

Password for user otrs:
psql (9.4.5)
Type "help" for help.
otrs=#\q

Настройку PostgreSQL закончили. Думаю её еще нужно будет подтюнить, но это уже позже.

2. Перенос OTRS

2.1. Распаковываем OTRS файлы со старого сервера

Ранее мы уже скопировали файл архива со старого сервера на новый, теперь распаковываем его.

[root@otrs ~]# tar -vxzf /root/05112015_otrs.tar.gz -C /opt/

В OTRS Appliance, OTRS находится в подкаталоге /var/opt. После распаковки файлов, путь к OTRS будет /opt/var/otrs. Нам нужно перенести в /opt/otrs.

[root@otrs ~]# mv /opt/var/otrs/ /opt/
[root@otrs ~]# rmdir /opt/var

2.2. Установка дополнительных пакетов и Perl модулей для OTRS

Подключаем EPEL-репозиторий (Extra Packages for Enterprise Linux).

[root@otrs /]# rpm -Uvh http://mirror.yandex.ru/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
[root@otrs /]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[root@otrs /]# yum update

Предварительно, нам необходимо определить все зависимые пакеты которые требуются для работы OTRS.

Скачаем RPM пакет OTRS той версии, что у вас использовалась в Appliance (посмотреть все версии можно тут: ftp://ftp.otrs.org/pub/otrs/RPMS/rhel/7).

[root@otrs /]# cd ~
[root@otrs ~]# wget ftp://ftp.otrs.org/pub/otrs/RPMS/rhel/7/otrs-4.0.8-02.noarch.rpm

Запускаем установку в режиме тестирования. Появится сообщение об ошибке, с указанием каких пакетов не хватает.

[root@otrs-laba ~]# rpm -ivh --test otrs-4.0.8-02.noarch.rpm
error: Failed dependencies:
	httpd is needed by otrs-4.0.8-02.noarch
	perl(Archive::Zip) is needed by otrs-4.0.8-02.noarch
	perl(Crypt::SSLeay) is needed by otrs-4.0.8-02.noarch
	perl(Date::Format) is needed by otrs-4.0.8-02.noarch
	perl(DBI) is needed by otrs-4.0.8-02.noarch
	perl(Digest::SHA) is needed by otrs-4.0.8-02.noarch
	perl(IO::Socket::SSL) is needed by otrs-4.0.8-02.noarch
	perl(Net::DNS) is needed by otrs-4.0.8-02.noarch
	perl(Net::LDAP) is needed by otrs-4.0.8-02.noarch
	perl(Template) is needed by otrs-4.0.8-02.noarch
	perl(URI) is needed by otrs-4.0.8-02.noarch
	perl(XML::Parser) is needed by otrs-4.0.8-02.noarch
	perl-core is needed by otrs-4.0.8-02.noarch
	procmail is needed by otrs-4.0.8-02.noarch

Устанавливаем недостающие пакеты, плюс модуль mod_perl для Apache.

[root@otrs ~]# yum install mod_perl httpd 'perl(Archive::Zip)' 'perl(Crypt::SSLeay)' 'perl(Date::Format)' 'perl(DBI)' 'perl(Digest::SHA)' 'perl(IO::Socket::SSL)' 'perl(LWP::UserAgent)' 'perl(Net::DNS)' 'perl(Net::LDAP)' 'perl(Template)' 'perl(URI)' 'perl(XML::Parser)' 'perl-core' 'perl(Text::CSV_XS)' procmail -y

На этом этапе мы установили и Apache.

otrs-4.0.8-02.noarch.rpm нам больше не понадобится, его можно удалить.

С помощью утилиты otrs.CheckModules.pl проверяем наличие необходимых Perl модулей.

[root@otrs ~]# perl /opt/otrs/bin/otrs.CheckModules.pl

  o Apache2::Reload..................FAILED! Not all prerequisites for this module correctly installed.
  o Archive::Tar.....................ok (v1.96)
  o Archive::Zip.....................ok (v1.30)
  o Crypt::Eksblowfish::Bcrypt.......Not installed! Use: 'yum install "perl(Crypt::Eksblowfish::Bcrypt)"' (optional - For strong password hashing.)
  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..........................Not installed! Use: 'yum install "perl(DBD::Pg)"' (optional - Required to connect to a PostgreSQL database.)
  o Encode::HanExtra.................Not installed! Use: 'yum install "perl(Encode::HanExtra)"' (optional - Required to handle mails with several Chinese character sets.)
  o GD...............................Not installed! Use: 'yum install "perl(GD)"' (optional - Required for stats.)
    o GD::Text.......................Not installed! Use: 'yum install "perl(GD::Text)"' (optional - Required for stats.)
    o GD::Graph......................Not installed! Use: 'yum install "perl(GD::Graph)"' (optional - Required for stats.)
  o IO::Socket::SSL..................ok (v1.94)
  o JSON::XS.........................Not installed! Use: 'yum install "perl(JSON::XS)"' (optional - Recommended for faster AJAX/JavaScript handling.)
  o List::Util::XS...................ok (v1.27)
  o LWP::UserAgent...................ok (v6.06)
  o Mail::IMAPClient.................Not installed! Use: 'yum install "perl(Mail::IMAPClient)"' (optional - Required for IMAP TLS connections.)
    o IO::Socket::SSL................ok (v1.94)
  o ModPerl::Util....................Not installed! Use: 'yum install "perl(ModPerl::Util)"' (optional - Improves Performance on Apache webservers dramatically.)
  o Net::DNS.........................ok (v0.72)
  o Net::LDAP........................ok (v0.56)
  o PDF::API2........................Not installed! Use: 'yum install "perl(PDF::API2)"' (optional - Required for PDF output.)
  o Template.........................ok (v2.24)
  o Template::Stash::XS..............ok (undef)
  o Text::CSV_XS.....................Not installed! Use: 'yum install "perl(Text::CSV_XS)"' (optional - Recommended for faster CSV handling.)
  o Time::HiRes......................ok (v1.9725)
  o Time::Piece......................ok (v1.20_01)
  o XML::Parser......................ok (v2.41)
  o YAML::XS.........................Not installed! Use: 'yum install "perl(YAML::XS)"' (required - Very important)

Устанавливаем недостающие модули.

[root@otrs ~]# yum install "perl(Crypt::Eksblowfish::Bcrypt)" "perl(DBD::Pg)" "perl(GD)" "perl(GD::Text)" "perl(GD::Graph)" "perl(JSON::XS)" "perl(Mail::IMAPClient)" "perl(ModPerl::Util)" "perl(PDF::API2)" "perl(Text::CSV_XS)" "perl(YAML::XS)"

Еще раз проверяем с помощью утилиты otrs.CheckModules.pl.

[root@otrs ~]# perl /opt/otrs/bin/otrs.CheckModules.pl
  o Apache2::Reload..................ok (v0.12)
  o Archive::Tar.....................ok (v1.96)
  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 GD...............................ok (v2.49)
    o GD::Text.......................ok (v0.86)
    o GD::Graph......................ok (v1.44)
  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.06)
  o Mail::IMAPClient.................ok (v3.34)
    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 PDF::API2........................ok (v2.021)
  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::Parser......................ok (v2.41)
  o YAML::XS.........................ok (v0.54)
[

Модули DBD::mysql, DBD::ODBC, DBD::Oracle и Encode::HanExtra нам не нужны.

И в финале, еще раз проверим наличие всех модулей для Perl.

[root@otrs ~]# perl -cw /opt/otrs/bin/cgi-bin/index.pl
/opt/otrs/bin/cgi-bin/index.pl syntax OK
[root@otrs ~]# perl -cw /opt/otrs/bin/cgi-bin/customer.pl
/opt/otrs/bin/cgi-bin/customer.pl syntax OK
[root@otrs ~]# perl -cw /opt/otrs/bin/otrs.PostMaster.pl
/opt/otrs/bin/otrs.PostMaster.pl syntax OK

Всё Ok.

2.3. Создаем на сервере Linux пользователя otrs

[root@otrs ~]# useradd -r -d /opt/otrs -c 'OTRS user' otrs

Добавляем пользователя otrs в группу от которой запускается Apache.

[root@otrs ~]# usermod -G apache otrs
[root@otrs ~]# cat /etc/group
…
apache:x:48:otrs
…

2.4. Импортируем базу данных

Ранее мы уже скопировали файл с дампом базы данных со старого сервера на новый.

[root@otrs ~]# sudo -u postgres psql otrs < /root/05112015_otrs.sql

2.5. Переносим задачи cron со старого сервера на новый

Смотрим задачи cron для пользователя otrs на СТАРОМ сервере.

root@otrs:/var/otrs# crontab -l -u otrs

# Who gets the cron emails?
MAILTO="root@localhost"

# delete expired cache weekly (Sunday mornings)
20 0 * * 0  $HOME/bin/otrs.DeleteCache.pl --expired >> /dev/null
30 0 * * 0  $HOME/bin/otrs.LoaderCache.pl -o delete >> /dev/null

# fetch every 5 minutes emails via fetchmail
#*/5 * * * * [ -x /usr/bin/fetchmail ] && /usr/bin/fetchmail -a >> /dev/null
#*/5 * * * *    /usr/bin/fetchmail -a --ssl >> /dev/null

# generate dashboard stats every hour
5 * * * *    $HOME/bin/otrs.GenerateDashboardStats.pl >> /dev/null

# start generic agent every 20 minutes
*/20 * * * *    $HOME/bin/otrs.GenericAgent.pl >> /dev/null

# example to execute otrs.GenericAgent.pl on 23:00 with
# Kernel::Config::GenericAgentMove job file
#0 23 * * * $HOME/bin/otrs.GenericAgent.pl -c "Kernel::Config::GenericAgentMove" >> /dev/null

# start generic agent every 10 minutes
*/10 * * * *    $HOME/bin/otrs.GenericAgent.pl -c db >> /dev/null

# check every 120 min the pending jobs
45 */2 * * *    $HOME/bin/otrs.PendingJobs.pl >> /dev/null

# check daily the spool directory of OTRS
10 0 * * *  $HOME/bin/otrs.ReprocessMails.pl >> /dev/null

# fetch emails every 10 minutes
*/10 * * * *    $HOME/bin/otrs.PostMasterMailbox.pl >> /dev/null

# just every day
01 01 * * * $HOME/bin/otrs.RebuildTicketIndex.pl >> /dev/null

# check scheduler status
*/5 * * * *    $HOME/bin/otrs.Scheduler.pl -w 1 >> /dev/null

# delete every 120 minutes old/idle session ids
55 */2 * * *    $HOME/bin/otrs.DeleteSessionIDs.pl --expired >> /dev/null

# unlock every hour old locked tickets
35 * * * *  $HOME/bin/otrs.UnlockTickets.pl --timeout >> /dev/null

Используя метод «copy/past« переносим задачи на НОВЫЙ сервер.

[root@otrs ~]# crontab -e -u otrs

Смотрим результат.

[root@otrs ~]# crontab -l -u otrs

# Who gets the cron emails?
MAILTO="root@localhost"

# delete expired cache weekly (Sunday mornings)
20 0 * * 0  $HOME/bin/otrs.DeleteCache.pl --expired >> /dev/null
30 0 * * 0  $HOME/bin/otrs.LoaderCache.pl -o delete >> /dev/null

# fetch every 5 minutes emails via fetchmail
#*/5 * * * * [ -x /usr/bin/fetchmail ] && /usr/bin/fetchmail -a >> /dev/null
#*/5 * * * *    /usr/bin/fetchmail -a --ssl >> /dev/null

# generate dashboard stats every hour
5 * * * *    $HOME/bin/otrs.GenerateDashboardStats.pl >> /dev/null

# start generic agent every 20 minutes
*/20 * * * *    $HOME/bin/otrs.GenericAgent.pl >> /dev/null

# example to execute otrs.GenericAgent.pl on 23:00 with
# Kernel::Config::GenericAgentMove job file
#0 23 * * * $HOME/bin/otrs.GenericAgent.pl -c "Kernel::Config::GenericAgentMove" >> /dev/null

# start generic agent every 10 minutes
*/10 * * * *    $HOME/bin/otrs.GenericAgent.pl -c db >> /dev/null

# check every 120 min the pending jobs
45 */2 * * *    $HOME/bin/otrs.PendingJobs.pl >> /dev/null

# check daily the spool directory of OTRS
10 0 * * *  $HOME/bin/otrs.ReprocessMails.pl >> /dev/null

# fetch emails every 10 minutes
*/10 * * * *    $HOME/bin/otrs.PostMasterMailbox.pl >> /dev/null

# just every day
01 01 * * * $HOME/bin/otrs.RebuildTicketIndex.pl >> /dev/null

# check scheduler status
*/5 * * * *    $HOME/bin/otrs.Scheduler.pl -w 1 >> /dev/null

# delete every 120 minutes old/idle session ids
55 */2 * * *    $HOME/bin/otrs.DeleteSessionIDs.pl --expired >> /dev/null

# unlock every hour old locked tickets
35 * * * *  $HOME/bin/otrs.UnlockTickets.pl --timeout >> /dev/null

Перезапускаем cron.

[root@otrs ~]# systemctl restart crond

3. Настройка Apache

Бекапим дефолтный конфиг.

[root@otrs ~]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_backup

Правим конфиг «/etc/httpd/conf/httpd.conf«.

# ServerAdmin: Your address, where problems with the server should be
# e-mailed.  This address appears on some server-generated pages, such
# as error documents.  e.g. admin@your-domain.com
#
ServerAdmin admin@your.domain

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName otrs.your.domain:80

Создаем линк конфигурационного файла Apache для OTRS.

[root@otrs ~]# ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/httpd/conf.d/zzz_otrs.conf
[root@otrs ~]# ls -al /etc/httpd/conf.d/
total 20
drwxr-xr-x 2 root root  114 Nov  5 15:06 .
drwxr-xr-x 5 root root   86 Nov  5 12:38 ..
-rw-r--r-- 1 root root 2893 Aug 24 21:11 autoindex.conf
-rw-r--r-- 1 root root 1752 Sep 17  2014 perl.conf
-rw-r--r-- 1 root root  366 Aug 24 21:12 README
-rw-r--r-- 1 root root 1252 Aug 24 20:55 userdir.conf
-rw-r--r-- 1 root root  824 Aug 24 20:55 welcome.conf
lrwxrwxrwx 1 root root   44 Nov  5 15:06 zzz_otrs.conf -> /opt/otrs/scripts/apache2-httpd.include.conf

Включаем автозагрузку и запускаем Apache.

[root@otrs ~]# systemctl enable httpd
[root@otrs ~]# systemctl restart httpd

4. Настраиваем права доступа к файлам OTRS

[root@otrs ~]# /opt/otrs/bin/otrs.SetPermissions.pl --otrs-user=otrs --web-group=apache
Setting permissions on /opt/otrs

5. Проверяем работу с базой данных

Не забываем в конфигурационном файле «/opt/otrs/Kernel/Config.pm» задать аутентификационные данные который мы указывали на этапе создания базы данных.

[root@otrs ~]# /opt/otrs/bin/otrs.CheckDB.pl
Trying to connect to database
DSN         : DBI:Pg:dbname=otrs;host=127.0.0.1;
DatabaseUser: otrs

Connection successful!

6. Удаляем Package OTRS Appliance Management

Т.к. у нас уже не Appliance версия, удаляем пакедж для управления Appliance.

Если мы попытаемся удалить пакедж с помощью otrs.PackageManager.pl, то будет ошибка:

[root@otrs ~]# /opt/otrs/bin/otrs.PackageManager.pl -a uninstall -p OTRSApplianceManagement
ERROR: Not possible to remove this package!

Для того, чтобы избежать данной ошибки, необходимо поправить файл otrs.Packagemanager.pl.

Находим строки:

    {
        my $ExitMessage = "ERROR: Not possible to remove this package!\n";

        # exchange message if package should not be visible
        if (
            defined $Structure{PackageIsVisible}
            && !$Structure{PackageIsVisible}->{Content}
            )
        {
            $ExitMessage = "ERROR: No such package!\n";
        }
        print STDERR $ExitMessage;
 #       exit 1;
    }

Комментируем строку exit 1 (строка 359). В моём фрагменте кода, приведённом выше, она уже закомментирована.

Удаляем пакедж.

[root@otrs ~]# /opt/otrs/bin/otrs.PackageManager.pl -a uninstall -p OTRSApplianceManagement
ERROR: Not possible to remove this package!
Notice: Removed file: /opt/otrs/Kernel/Config/Files/OTRSApplianceManagement.xml
Notice: Removed file: /opt/otrs/Kernel/Language/de_OTRSApplianceManagement.pm
Notice: Removed file: /opt/otrs/Kernel/Modules/AdminOTRSApplianceManager.pm
Notice: Removed file: /opt/otrs/Kernel/Output/HTML/Standard/AdminOTRSApplianceManager.tt
Notice: Removed file: /opt/otrs/Kernel/System/OTRSApplianceManagement.pm
Notice: Removed file: /opt/otrs/var/httpd/htdocs/js/Core.AJAX.OTRSApplianceManagement.js

[root@otrs ~]# /opt/otrs/bin/otrs.PackageManager.pl -a list
+----------------------------------------------------------------------------+
| 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.8
| 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.8
| 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.8
| 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.8
| Vendor:      OTRS AG
| URL:         http://otrs.org/
| License:     GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
| Description: The OTRS::ITSM Core package.
+----------------------------------------------------------------------------+

Пакедж OTRSApplianceManagement удалился.

Незабываем вернуть файл otrs.Packagemanager.pl в исходное состояние!

7. Финал

Останавливаем Apache и PostgreSQL.

[root@otrs ~]# systemctl stop postgresql-9.4
[root@otrs ~]# systemctl stop httpd

Обновляем конфигурацию OTRS.

[root@otrs ~]# /opt/otrs/bin/otrs.RebuildConfig.pl
otrs.RebuildConfig.pl - OTRS rebuild default config
Copyright (C) 2001-2015 OTRS AG, http://otrs.com/
Done.

Удаляем кеш OTRS.

[root@otrs ~]# /opt/otrs/bin/otrs.DeleteCache.pl
otrs.DeleteCache.pl - delete OTRS cache
Copyright (C) 2001-2015 OTRS AG, http://otrs.com/

Deleting cache... Done.

Запускам Apache и PostgreSQL.

[root@otrs ~]# systemctl start postgresql-9.4
[root@otrs ~]# systemctl strat httpd

Настраиваем редирект на пользовательский портал, что бы пользователь зашедший по адресу http://otrs.your.domain попал на http://otrs.your.domain/otrs/customer.pl.

В подкаталоге «/var/www/html» создаем файл index.html со следующим содержанием:

<html>
	<head>
		<meta http-equiv="refresh" content="0; url=otrs/customer.pl">
	</head>
</html>

Далее, через web интерфейс OTRS заходим в Service Center: http://otrs.your.domain/otrs/index.pl?Action=AdminServiceCenter и Системный журнал: http://otrs.your.domain/otrs/index.pl?Action=AdminLog

Смотрим, что бы не было ошибок.

Работа закончена, далее можно обновить OTRS до актуальной версии.

На тему обновления до OTRS 5

Обновление от: 16/02/2016 — Обновление на версию OTRS 5.0.6 прошло удачно, подробней в статье: Обновление OTRS 4 до OTRS 5

Пробовал обновлять до OTRS 5.0.2, но возникли проблемы. Весь процесс обновления прошёл без ошибок, но часть записей в БД не перенеслись в новую версию.

Например не перенеслось название организации, FQDN и что то ещё… Это то, что я успел заметить, пока не откатился на 4ку.

Также куда то пропала консольная утилита управления пакетами otrs.PackageManager.pl.

Пока решил не обновляться до OTRS 5, позже займусь этим вопросом более внимательно.

Ссылки

 

The following two tabs change content below.
В профессиональной сфере занимаюсь всем, что связанно с IT. Основная специализация - VoIP и сети передачи данных. Стараюсь не заниматься Windows серверами (но иногда приходится) и 1С.

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