Pull to refresh

Установка OTRS v4 на ОС Windows

Reading time 6 min
Views 48K
image
OTRS (аббр. от англ. Open-source Ticket Request System) — открытая система обработки заявок. OTRS позволяет организациям, занимающимся технической поддержкой каких-либо проектов, совместно работать над решением проблем пользователей. Программа написана на языке Perl, поддерживает множество СУБД (MySQL, PostgreSQL и т.д.), может интегрироваться с LDAP каталогом, распространяется по лицензии — AGPL версии 3.

OTRS прекрасно и без особых хлопот устанавливается на любой LAMP (Linux, Apache, MySQL, PHP). Но как быть, если нет опыта работы и администрирования Linux?

Четвертая версия OTRS не имеет инсталлятора Windows-версии. Я решил выложить свой способ установки OTRS из исходников в Windows-окружении. Однако, важно понимать, что производительность OTRS, запущенной в родном Linux-окружении, будет выше, чем на аналогичном железе в Windows-окружении.

Самая большая проблема, с которой я столкнулся при установке OTRS – рабочий mod_perl для Apache. К счастью, энтузиасты регулярно выкладывают свежие версии мода под новые версии Perl и Apache.

Итак, нам понадобятся:

MySQL Server v 5.5 64-bit.
Apache v 2.2 32-bit.
Strawberry Perl 5.20.1.1 32-bit.
• Ну и сам mod_perl.
• Планировщик Cron for Windows (опционально).
Visual C++ 2008 SP1 Redistributable Package (x86).
Visual C++ 2010 SP1 Redistributable Package (x86).
• Собственно сама OTRS.

Установка Apache HTTP Server


Для работы Apache требует Visual C++ 2008 SP1 Redistributable Package. Качаем по ссылке выше и устанавливаем.

Выкачаем архив с Apache и распаковываем папку apache2 из архива в папку c:/apache2 (по умолчанию ServerRoot расположен по этому пути). Если для Apache Вы выбрали другое расположение, необходимо изменить ServerRoot в httpd.conf, а также расположение Documenroot, Directories, ScriptAlias.
Для установки службы Apache из папки c:\Apache2\bin в командной строке вводим

httpd.exe -k install

image

Служба успешно установлена.
Запустим файл c:\Apache2\bin\ApacheMonitor.exe и поместим его в автозагрузку. Запустим службу Apache.

image

В браузере в адресной строке переходим по адресу http://localhost. Если все хорошо, то увидим страничку с текстом «It works!».

image

Устанавливаем Strawberry Perl


Качаем Strawberry Perl по ссылке выше, распаковываем все в папку c:/strawberry. В командной строке запускаем следующие файлы.

c:\strawberry\relocation.pl.bat
c:\strawberry\update_env.pl.bat

image

Устанавливаем mod_perl для Apache


Качаем mod_perl. В архиве две папки – с apache и perl. Распаковываем их содержимое с заменой файлов соответственно в папки, где у нас установлены Apache и Perl.
Перезапускаем службу Apache.

Устанавливаем MySQL Server


Качаем и запускаем mysql-5.5.43-winx64.msi. Установка без особенностей.
После завершения установки запускается Мастер Настройки.

image

Выбираем стандартную конфигурацию.

image

Задаем название для службы.

image

Устанавливаем пароль root.

image

После завершения установки правим файл my.ini.

image

Для большей производительности в файле c:\Program Files\MySQL\MySQL Server 5.5\my.ini установим значение параметра

query_cache_size=32M

Перезапускаем службу MySQL.

Устанавливаем OTRS


Качаем zip-архив с последней версией OTRS (на момент написания статьи версия 4-0-8) и распаковываем в папку c:\otrs\
Почти все готово.

Устанавливаем необходимые perl-пакеты


Из командной строки из папки c:\otrs\bin запускаем скрипт

perl otrs.CheckModules.pl


image

Устанавливаем необходимые пакеты. Среди них есть как обязательные (required), так и необязательные (optional). Установим все, кроме Encode::HanExtra.

cpan Crypt::Eksblowfish

cpan GD::Text

cpan GD::Graph

cpan Mail::IMAPClient

cpan Net::LDAP

cpan PDF::API2


Также мы получаем одну ошибку на пакет DBD::Oracle.

image

Внутренний перфекционист требует устранения этой ошибки, хоть в данном примере и не используется БД Oracle. Oci.dll – библиотека клиента Oracle. Качаем клиент, устанавливать его не нужно, просто забираем из архива библиотеку Oci.dll и кладем ее в c:\Windows\System32\.

Теперь появляется сообщение о недостающей библиотеке MSVCR100.dll.

image

Устанавливаем Visual C++ 2010 SP1 Redistributable Package (x86).

Запускаем скрипт еще раз

perl otrs.CheckModules.pl


image

Все необходимые модули установлены.

Настраиваем OTRS


Вся настройка заключается в изменении пути установки OTRS в конфигурационных файлах.

c:\otrs\scripts\apache2-httpd.include.conf
Меняем это … на это
ScriptAlias /otrs/ “/opt/otrs/bin/cgi-bin/” ScriptAlias /otrs/ “c:/otrs/bin/cgi-bin/”
Alias /otrs-web/ “/opt/otrs/var/httpd/htdocs/” Alias /otrs-web/ “c:/otrs/var/httpd/htdocs/”
Perlrequire /opt/otrs/scripts/apache2-perl-startup.pl Perlrequire c:/otrs/scripts/apache2-perl-startup.pl
<Directory “/opt/otrs/bin/cgi-bin/”> <Directory “c:/otrs/bin/cgi-bin/”>
<Directory “/opt/otrs/var/httpd/htdocs/”> <Directory “c:/otrs/var/httpd/htdocs/”>
<Directory “/opt/otrs/var/httpd/htdocs/skins/*/*/css-cache”> <Directory “c:/otrs/var/httpd/htdocs/skins/*/*/css-cache”>
<Directory “/opt/otrs/var/httpd/htdocs/js/js-cache”> <Directory “c:/otrs/var/httpd/htdocs/js/js-cache”>


Проще всего сделать поиск/замену для “/opt” на “с:”

c:\otrs\scripts\apache2-perl-startup.pl
Меняем это … на это
use lib “/opt/otrs/”; use lib “c:/otrs/”;
use lib “/opt/otrs/Kernel/cpan-lib”; use lib “c:/otrs/Kernel/cpan-lib”;
use lib “/opt/otrs/Custom”; use lib “c:/otrs/Custom”;

c:\otrs\Kernel\Config.pm

Переименовываем файл c:\otrs\Kernel\Config.pm.dist в c:\otrs\Kernel\Config.pm. В текстовом редакторе
Меняем это … на это
$Self->{Home} = ‘/opt/otrs'; $Self->{Home} = ‘c:/otrs';

Для ведения логов добавим следующие строки:

$Self->{'LogModule'} = 'Kernel::System::Log::File';
$Self->{'LogModule::LogFile'} = "$Self->{Home}/var/log/otrs.log";

Настраиваем Apache


В папке c:\Apache2\conf\ редактируем файл httpd.conf, добавляем следующие строки:

# указываем апачу где у нас установлен перл
LoadFile “c:/strawberry/perl/bin/perl520.dll”

# load mod_perl
LoadModule perl_module modules/mod_perl.so

# Указываем, куда установлена OTRS
Include “c:/otrs/scripts/apache2-httpd.include.conf”

Убедимся, что с синтаксисом все хорошо. В командной строке из папки c:\Apache2\bin выполняем

httpd –t


image

Перезапускаем службу Apache.

Если появилась такая ошибка:

image

Нужно проверить, во всех ли конфигах мы изменили путь инсталляции при настройке OTRS.

Запускаем web-установку


В адресной строке запускаем http://localhost/otrs/installer.pl

Принимаем лицензионное соглашение, выбираем тип базы данных MySQL, вводим пароль от учетной записи root.

При нажатии кнопки проверки настроек БД получаем ошибку. OTRS просит увеличить значение параметра max_allowed_packet.

Добавляем в файл c:\Program Files\MySQL\MySQL Server 5.5\my.ini строку

max_allowed_packet = 20M

Перезапускаем службу MySQL и снова проверяем БД.

image

Получаем уже другое сообщение.

Параметр innodb_log_file_size отвечает за размер логов MySQL. Останавливаем службу MySQL. В данной версии MySQL логи находятся в папке c:\ProgramData\MySQL\MySQL Server 5.5\data\

image

Удаляем файлы ib_logfile0 и ib_logfile1. В файле my.ini устанавливаем значение параметра

innodb_log_file_size = 512М

Запускаем службу MySQL. Видим, что файлы ib_logfile0 и ib_logfile1 стали нужного размера.

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

image

На Шаге 3 предлагается настроить систему и почту. Это можно сделать в любой момент.
Наконец, на Шаге 4 нам генерируется пароль для пользователя root@localhost. Заходим под этой учетной записью.

image

Настройка планировщика


При входе под агентом мы видим сообщение, что планировщик не запущен. Имеется ввиду внутренняя служба OTRS.

В командной строке выполняем скрипт

c:\otrs\bin\otrs.Scheduler4winInstaller.pl -a install


image

Затем запускаем службу. Обновляем страницу, видим, что сообщение исчезло, а в оснастке служб появилась новая – OTRS Scheduler.

Теперь нужно настроить работу собственно планировщика. Можно использовать либо Планировщик заданий Windows, либо CRON.

Настройка CRON
В OTRS нативно используется планировщик CRON. Планировщик предназначен для очистки кэша, обновления статистики, отправки уведомлений и т.д.

Качаем CRONw и распаковываем в папку c:\cronw. Для корректной работы CRONw нам понадобится установить несколько модулей перл.

В командной строке выполняем:

cpan Date::Manip
cpan Log::Dispatch
cpan Log::Dispatch::FileRotate


Все задания в CRONw хранятся в специальном файле crontab. Его можно создать, запустив C:/otrs/bin/otrs.Cron4Win32.pl, предварительно его отредактировав следующим образом:

my $PerlExe = «c:/strawberry/perl/bin/perl.exe»;
my $CronTabFile = «c:/cronw/crontab.txt»;
my $OTRSHome = «c:/otrs»;

image

Запустим скрипт из командной строки:

perl c:\otrs\bin\otrs.Cron4Win32.pl


Скрипт отработал, в папке c:\CRONw\ появился файл crontab.txt.

Установим CRON в качестве службы Windows. В командной строке запускаем скрипт

perl cronHelper.pl –install


image

Служба установлена. Запускаем ее.

Настройка планировщика заданий Windows
Раз уж мы взялись устанавливать OTRS в Windows-окружении, то и планировщик можно использовать местный.

В папке c:/otrs/var/cron/ есть несколько стандартных заданий. По сути данные задания запускают perl-скрипты. Запустим планировщик заданий, меню Действия – Создать задачу.

Откроем в папке c:/otrs/var/cron/ первый файл cache.dist

# 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

Дадим задаче имя — OTRS Weekly. Очистка кэша. Настроим выполнение задачи вне зависимости от регистрации пользователя и с наивысшими правами.

image

Переходим на вкладку Триггеры, нажимаем на кнопку Создать. Указываем расписание такое же, как нам предлагает OTRS.

image

Переходим на вкладку Действия, нажимаем кнопку Создать. Действие – Запуск программы. В качестве программы указываем путь до perl.exe, в качестве аргумента – требуемый скрипт с параметрами.

image

По аналогии создаем Действие для второго скрипта.

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


На этом все, OTRS готова для дальнейшей настройки.

Если интересно, в будущем будут опубликованы руководства по настройке авторизации через Active Directory и SSO-аутентификация.
Tags:
Hubs:
+4
Comments 19
Comments Comments 19

Articles