Otrs установка и настройка ubuntu

Обновлено: 07.07.2024

OTRS: Установка на Ubuntu, аутентификация в Active Directory и Single sign on

В этой статье я опишу опыт установки helpdesk системы OTRS. Первоначально для себя надо ответить на вопрос, а зачем же вам нужна helpdesk система? Может быть хватит обычной тикет-системы, или какого-либо онлайн сервиса. При выборе helpdesk системы я, в первую очередь, руководствовался не обширным набором функций, а успешным опытом развертывания данной системы в различных организациях.

Требования

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

Установка OTRS

В начале своих изысканий я наткнулся на такую замечательную вещь, как OTRS Appliance. Это готовый ISO-образ (скачать версию 3.3.7), который можно подключить к виртуальной машине как CD-ROM и автоматически установить OTRS. Это вселяло надежду на скорое решение проблемы, но моя радость была бы не полной. если бы не некоторые грабли. В частности часть системы вынесена в отдельный RAM диск и после установки пакетов (например mc) они живут ровно до перезагрузки. Естественно это было неприемлемо и я решил установить OTRS вручную на чистую Ubuntu 14.04.

Качаем исходники и распаковываем их в каталог /opt/otrs-3.3.7

Теперь устанавливаем необходимые пакеты:

Далее проверяем все ли модули Perl мы поставили этой командой:

Создаём пользователя для Otrs

Если файлов конфигов (не .dist а именно .pm) нет, то копируем их из файлов дистрибьютива:

Настраиваем права под свежесозданного пользователя:

Дальше создаём vhost для Апача (который у нас должен уже стоять кстати):

У меня он получился в результате вот такой (я не менял его).

Теперь включаем этот vhost. Эта команда создаёт симлинк в папке sites-enable. После этого можем перезагрузить апач.

otrs_installer

Настройка авторизации пользователей в Active Directory

Как правило, в компаниях существует сервер (контроллер домена) в котором хранится база всех пользователей, и желательно сделать так, чтобы наши родные пользователи смогли проходить аутентификацию со своим AD-аккаунтом в OTRS. Это можно сделать так.

Требования к аккаунтам
У пользователей в AD должно быть заполнено поля с информацией об имени (Имя. Фамилия, Отчество (инициал) и email). Без этого они не пройдёт аутентификацию.

otrs-new-customer-settings

на CustomerPanelCreateAccount указываем «Нет» и жмем внизу кнопку «Обновить».

Сквозная авторизация (SSO)

Для работы в OTRS пользователь должен быть авторизован, т.е. системе должен быть известен ID пользователя. Обычно таким ID выступает логин. Стандартно пользователю предлагается ввести логин и пароль в форме авторизации. Используя Authentication backends, OTRS может выполнить авторизацию пользователя.

Если предположить, что при открытии страницы OTRS пользователь уже известен, то повторно запрашивать авторизацию не надо. Т.к. в моем случае все пользователи уже авторизованы в домене Windows, логично это как-то использовать. Таким образом, нужно данные авторизации передать в OTRS.

Алгоритм авторизации

1. Пользователь включает компьютер, авторизуется в домене с помощью Kerberos. В Kerberos контроллер домена именуется центром распространения ключей Key Distribution Center (KDC). На высоком уровне это выглядит так: при регистрации пользователя на компьютере формируется серия обменов данными с контроллером домена (DC), и в случае успеха пользователю назначается билет на право получения билетов (TGT). Впоследствии при каждом обращении к службе, такой как общая папка или приложение, TGT используется, чтобы получить билет для доступа к службе или приложению.
2. С TGT пользователь обращается браузером (тестировалось под Internet Explorer) к веб-серверу (Apache2). Для того, чтобы бразер отдавал веб-серверу TGT нужно сделать соответствующую настройку клиента.

3. Там модуль Апача mod_auth_kerb получает от браузера билет TGT и обращается с ним к KDC (он же контроллер домена). При этом сам хост с апачем должен быть введен в домен и на быть принципиалом Kerberos чтобы осуществить это обращение.

Чтобы работал этот этап нужно сделать две вещи. Во-первых в дефолтном конфиге vhost-а для otrs разрешить использовать файлы .htaccess вот так (зменить None на All):

и собственно разместить файл .htaccess

/opt/otrs/bin/cgi-bin/.htaccess

6. Пользователь видит панель OTRS в залогиненном виде. Если в переменной окружения нет имени пользователя, то всплывает окно авторищации, в котором пользователь вводит свой логин и пароль.

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

Готовим систему

Ставим пакеты для Kerberos и Samba

/etc/hostname
Прописываем имя машины. Желательно капсом. Так точно работает.

/etc/resolv.conf

Конфиги для LDAP-Auth + SSO

Теперь меняем конфиги до такого вида. Я приведу конфиги, который сразу обеспечивает авто-логин или сквозную авторизацию

/etc/krb5.conf

Теперь настраиваем .htaccess
/opt/otrs/bin/cgi-bin/.htaccess
/opt/otrs/bin/cgi-bin/.htaccess

Отлично, теперь вводим веб-сервер в домен.
Во-первых создаём юзера helpdesk в Active Directory.

Далее собственно вводим в домен сервер.

Далее после загрузки сервер должен выдавать нам данные о домена при следующих запросах:

Запрос службы RPC

Идём на контроллер домена и генерируем там файл krb5.keytab

Потом на веб-сервере кладём его в /etc/krb5.keytab и даём права апачу читать его

Далее настраиваем OTRS на то, чтобы пользователи (Customers) могли авторизовываться автоматически.

/opt/otrs/Kernel/Config.pm

И добавляем файл адаптера авторизации.

Чтобы было понятнее, вот сам фикс:

Теперь авторизация для клиентов должна работать успешно.

Установка задания Cron

Настройка кодировки отображения имён пользователей

У меня после установке и логине юзеров в тикетах их имена отображались неправильно (вместо них были иероглифы). Помогло следующее решение. В конфиге добавляем параметры:

Важные детали

1 Должна быть создана учётка helpdesk на AD
2. Открывать Otrs надо по символическому а не по IP адресу
3. На KDC должен быть сгенерирован keytab файл и скопирован на веб-сервер
4. wbinfo -u должен выдавать список юзеров, веб-сервер должен быть в домене

Тормозит OTRS

Администрирование -> Конфигурирование системы -> Framework:Core -> CheckMXRecord = Нет
Включает проверку MX record почтовых адресов клиента до отправки почты или приема почтовой или телефонной заявки.

Ссылки

Спасибо!

Если вам помогла статья, или вы хотите поддержать мои исследования и блог - вот лучший способ сделать это:

google.com

Андрей Токарчук :

google.com

Андрей Токарчук :

Выполнил все как у вас в инструкции но при входе на Customer.pl выдает в логах апача ошибку в файлы adsso 39 строка на функцию no logobject
В чом может быть проблема?
Стоит ubuntu 14

google.com

Андрей Токарчук :

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

6. Установка и настройка OTRS

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

6.1. Суть предлагаемого метода и необходимые пакеты

В чем собственно суть способа? А вся суть заключается в том, что OTRS вообщем то и не проводит никакой авторизации и аутентификации пользователя, а просто берёт имя залогиневшегося пользователя из переменной окружения $_ENV['Remote_User'] ищет его в своей базе и если находит, то открывает для него интерфейс Кустомера в залогиненом виде. То есть вся нагрузка по верификации пользователя ложится на плечи Apache, который механизмом Kerberos аутентифицирует пользователя и если ему это удалось, то загоняет его логин в переменную окружения. Откуда его и подхватывает OTRS, считая, что если там что-то есть, то аутентификация уже прошла успешно. Итак, приступим.

Отличная статья по этому поводу вот тут. Очень подробно описан процесс установки.

Всё, что касается доменной авторизации и сквозной аутентификации, собрано с миру по нитке и выработано методом проб и ошибок, так что ссылок никаких дать не могу.

  • libapache2-mod-perl2
  • libtemplate-perl
  • libarchive-zip-perl
  • libjson-xs-perl
  • libmail-imapclient-perl
  • libdbd-mysql-perl
  • libnet-dns-perl
  • libnet-ldap-perl
  • libio-socket-ssl-perl
  • libpdf-api2-perl
  • libsoap-lite-perl
  • libgd-text-perl
  • libgd-graph-perl
  • libapache-dbi-perl
  • libyaml-libyaml-perl
  • mysql-server
  • wget
6.2. Ставим OTRS

Как уже сказано выше ставить мы будет версию 4.0.10, последнюю на момент написания статьи. Качаем сам OTRS:

Перемещаем распакованный OTRS папку /opt:

И создаем симлинк на него в этой же папке:

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

Если нужны какие то дополнительные модули ставим (в выводе предыдущей команды напротив каждого модуля есть подсказка как его установить, если его нет). Заводим пользователя для OTRS:

И включаем его в группу www-data:

Имейте ввиду: наша машина включена в домен и winbind биндит всех пользователей в локальную базу пользователей, поэтому надо проследить, что бы в домене не было пользователя с логином «otrs». Если он есть — удаляем его и перезагружаем линукс-машину.

Создаем дефолтные конфиги для OTRS:

И настраиваем права свеже созданному пользователю:

Осталось создать vhost Апача для OTRS и можно конфигурировать систему:

Включаем vhost OTRS:

И перечитываем конфиги Apache:

Всё. Установка закончена, теперь можем занятся конфигурацией OTRS.

6.3. Начальное конфигурирование системы OTRS. Интеграция с LDAP (в нашем случае AD)

Начальное конфигурирование системы происходит через веб-интерфейс. Заходим по адресу helpdesk/otrs/installer.pl, видим мастер установки OTRS:


Жмем далее и видим лицензионное соглашение, внимаааательно его читаем и жмем «принят условия».


На третьем этапе надо выбрать используемую базу данных, в нашем случае база MySQL, так что жмем далее. Тут уже поинтереснее, надо ввести логин того самого пользователя MySQL root@localhost, этот пароль мы создавали на шаге 6, когда ставили Apache и MySQL сервер.

OTRS попробует подключиться к серверу баз данных (localhost) и если всё нормально — создаст для себя базу с именем otrs и пользователем otrs, а так же с очень хитрым паролем, его мы тоже запоминаем куда ни будь в блокнотик, на всякий случай.


Настраиваем почту. На выходе OTRS сообщит пароль дефолтного пользователя root@localhost, запоминаем его пароль.

Переходим по ссылке «главная страница» и видим приглашения залогиниться, вот сюда-то и вводим только записанные логин и пароль. По большому счёту установка OTRS уже закончена, но нам ведь этого мало и не для того мы столько возились с Kerberos, нам нужна интеграция с AD и сквозная аутентификация, поэтому идем дальше.

А дальше обращаемся к мануалу уважаемого rasa. Кое-что мы почерпнём оттуда, кое-что из интернета, и выдумаем свой путь.

Итак для начала. В домене, должен быть один пользователь который полностью совпадает с администратором OTRS, он у нас будет и LDAP читать и остальных админов OTRS мы через него заведём. В моём случае это пользователь otrs.admin, кстати, на период установки я давал ему права администратора домена и все манипуляции на домене, как то включение машины в домен, получение тикетов и пр. проводил от имени именно этого пользователя, после установки эти права у него можно отобрать, более того, запретить ему логиниться на машины домена, ему надо только читать информацию из LDAP, не более того.

! ВНИМАНИЕ! совпадать с данными доменного пользователя должен не только логин, но и пароль!

Настройка интеграции OTRS с LDAP будет происходить через конфигурационный файл /opt/otrs/Kernel/Config.pm:

После этого можно сохранить файл и попробовать авторизоваться в качестве агента под доменной учёткой, которая входит в группу OTRSagents в домене.

Обратите внимание: агенты создаются в базе OTRS после первого входа.

Так же надо проверить, что OTRS подтянул из LDAP базу Кустомеров. Для этого переходим «Администрирование» — «Учётная запись клиента». Тут мы должны увидить полный перечень пользователей домена в табличном виде, логин, имя, email и т.д.

Проверяем, всё ли успешно подтянулось из домена.

Для доступа же Кустомеров потребуется ещё небольшая доработка, прежде всего потребуется включить Kerberos аутентификацию на папках со скриптами. Скрипты лежат тут /opt/otrs/bin/cgi-bin..

Для включения Kerberos потребуются манипуляции аналогичные тем, что мы проводили на шаге 7 с папкой /var/www/html/php. Открываем файл конфига виртуального хоста otrs:

И видим следующие конфигурации локейшена /otrs и директории /opt/otrs/bin/cgi-bin. Первый кусок:

На первый взгляд всё очень ясно и просто, но опять же постигнуть это шаманство с наскоку не удалось. В двух словах тут подключаются определенные директивы в зависимости от наличия или отсутствия определенных модулей Apache или же от их версий. Всё это разработчики нагородили потому как им заранее не извество в каких условиях будет работать система, с какими пакетами и какими версиями этих пакетов. Но нам-то с вами уже абсолютно точно известно какие пакеты и каких версий стоят у нас в системе. Поэтому просто нещадно вырезаем всё лишнее и приводи эти два блока к следующему виду:

После чего перечитаем конфиги Апача и перезапустим его:

И всё вроде бы ничего, вот только страница Кустомера, если мы сейча попытаемся на неё зайти, скажет нам совсем странную вешь, «Авторизация прошла успешно, но не удалось найти пользователя в базе».

Начинаем отладку. Для этого скачиваем пару скриптов на перле:
whoami.pl
test.pl

Забрасываем их к остальным скриптам OTRS в папку /opt/otrs/bin/cgi-bin, выставляем им права и владельца аналогичного тем, что там уже лежат и пробуем их открыть в браузере.

Вот где собака порылась, поэтому то и происходит такая ситуация, Apache отработал, авторизация прошла успешно и всё ок, а вот OTRS найти пользователя в своей базе не смог. Получается что нам надо как-то выкинуть из имени пользователя домен перед поиском его в базе OTRS.

По поводу магии регулярного выражения:
^(.+?)@.+?$

Всё оказалось очень просто, как мне пояснили «по сравнению с магией регулярок это так, детский спиритический сеанс» (с).
символ ^ — начало обрабатываемой строки
символ $ — конец обрабатываемой строки
Символы () — показывают что в результате обработки нужно оставить то, что находится между ними
? — любой символ
.+ — рекурсивная конкатенация (в результате выражение '.+?' — дословно означает любая строка)
Символ @ — не является специсмволом, поэтому обрабатывается как часть строки (удивительно, никогда бы не подумал, всегда считал что он как раз таки спецсимвол и его нужно экранировать, как раз остутствие такого экранирования и ввело меня в заблуждение и помешало самому разобраться в этом выражении)

И в результате получаем, что регулярка разбивает полученную строку на две части «всё что до символа @» и «всё что после символа @» и возвращает первую часть (так как она в скобочках).

Разберем как установить открытую систему обработки заявок OTRS 6.0.5 (Open-source Ticket Request System) на Debian 8 Jessie/Ubuntu 14.04 Trusty Tahr.


В системе уже установлен стек LAMP (Linux, Apache, MySQL, PHP), инструкция как установить LAMP. Все действия будут производится под пользователем root.

Подготовка системы

Перед началом установки обновляем систему до актуального состояния:

Устанавливаем необходимые зависимости:

apt-get install -y libapache2-mod-perl2 libdbd-mysql-perl libtimedate-perl libnet-dns-perl libnet-ldap-perl libio-socket-ssl-perl libpdf-api2-perl libsoap-lite-perl libtext-csv-xs-perl libjson-xs-perl libapache-dbi-perl libxml-libxml-perl libxml-libxslt-perl libyaml-perl libarchive-zip-perl libcrypt-eksblowfish-perl libencode-hanextra-perl libmail-imapclient-perl libtemplate-perl libdatetime-perl libdbd-odbc-perl libdbd-pg-perl libauthen-ntlm-perl -y

Установка OTRS (Open-source Ticket Request System)

Скачиваем актуальную версию OTRS, распаковываем скачанный архив и перемещаем в каталог /opt:

Создаем пользователя (otrs), для запуска OTRS:

Подготавливаем файл конфигурации OTRS:

cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm

Устанавливаем разрешения для пользователя веб-сервера (www-data) на каталог OTRS:

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

o DBD::Oracle. Not installed! (optional - Required to connect to a Oracle database.)


Если какой то модуль с пометкой (required), не установлен, то его необходимо установить. Не установленные модули с пометкой (optional) не являются обязательными и их устанавливать не обязательно.

Настраиваем MySQL-сервер, через файл конфигурации /etc/mysql/my.cnf:

После настройки, необходимо перезапустить MySQL-сервер:

Создаем базу данных для работы OTRS:

Создаем символьную ссылку конфигурационного файла виртуального хоста, включаем добавленный виртуальный хост, включаем поддержку CGI и перезапускаем веб-сервер:

Шаг 2. Выбираем тип базы данных (MySQL), выбираем тип установки (Использовать существующую базу данных OTRS):

Шаг 3. Необходимо указать полное доменное имя системы, электронную почту администратора OTRS, название организации и параметры как будут хранится логи системы OTRS, а так же языковые параметры системы.

Конфигурацию почты, пропускаем (Пропустить этот шаг), ее можно будет настроить позже.

В завершении установки, установщик сообщит нам информацию по доступу к системе OTRS. Желательно сохраните данную информацию.

На этом установка системы обработки заявок OTRS завершена. Для начала использования ее воспользуемся следующими ссылками:

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

Для правильной работы системы OTRS, необходимо запустить специальный демон для OTRS и настроить планировщик задач:

Хотите узнать, как сделать установку OTRS на Ubuntu Linux? В этом учебнике мы покажем вам, как установить, настроить и получить доступ к OTRS на компьютере под управлением Ubuntu Linux.

• Ubuntu 20
• Ubuntu 19
• Ubuntu 18
• OTRS 6.0.29

OTRS - Похожий учебник:

На этой странице мы предлагаем быстрый доступ к списку учебников, связанных с OTRS.

Учебник OTRS - Установка на Ubuntu Linux

Установите список необходимых приложений.

Установите службу баз данных MariaDB.

Создайте файл конфигурации MariaDB.

Вот содержимое файла.

Перезапустить службу MariaDB.

Получите доступ к командной линии службы MariaDB.

Создайте базу данных под названием OTRS.

Дайте пользователю MyS'L по имени OTRS разрешение на базу данных под названием OTRS.

В нашем примере пароль kamisma123 был установлен для пользователя MyS'L под названием OTRS.

Установите веб-сервер Apache с поддержкой PERL.

Включить необходимые модули Apache.

Перезапустите службу Apache.

Создание учетной записи пользователя для системы ORTS.

Проявите, были ли установлены все необходимые модули PERL.

Вот вывод команды.

Создайте новый файл конфигурации OTRS.

Редактировать файл конфигурации OTRS.

Введите конфигурацию базы данных.

Редактировать сценарий конфигурации OTRS.

Найдите и включите конфигурацию MyS'L.

Вот файл, перед нашей конфигурацией.

Вот файл, после нашей конфигурации.

Установите правильное разрешение файла в каталоге OTRS.

Проверить разрешение каталога.

Вот вывод команды.

Включите otRS-приложение в качестве виртуального хоста Apache.

Проявите, были ли установлены все необходимые модули.

Перезапустите службу Apache.

Вы закончили установку OTRS.

Учебник OTRS - Веб-установщик

Откройте браузер и введите IP-адрес вашего веб-сервера плюс /otrs/installer.pl.

В нашем примере в браузер был введен следующий URL::

Интерфейс веб-установки OTRS должен быть представлен.

Нажмите на следующую кнопку и примите лицензионное соглашение.

OTRS installation ubuntu

Выберите тип базы данных MyS'L.

Выберите опцию для использования существующей базы данных.

OTRS Install Ubuntu - Database

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

• User: otrs
• Password: kamisama123
• Host: 127.0.0.1
• Database name: otrs

Ubuntu OTRS Installation - Database configuration

Дождись завершения установки OTRS.

OTRS Install ubuntu

Введите информацию, чтобы идентифицировать свою компанию.

OTRS Ubuntu - System settings

Пропустите конфигурацию электронной почты.

OTRS Installation - Skip email

Дождите завершение установки OTRS и обратите внимание на отображаемый пароль.

Ubuntu - OTRS Installation

Подготовь запланированные задачи для выполнения.

После завершения установки запустите службу OTRS.

Поздравляю! Установка OTRS была успешно завершена.

Учебник OTRS - Доступ к панели мониторинга

Откройте браузер и введите IP-адрес вашего веб-сервера плюс /otrs/ .

В нашем примере в браузер был введен следующий URL::

Веб-интерфейс OTRS должен быть представлен.

OTRS login

На экране входа используйте имя пользователя по умолчанию и пароль, который вы приняли к сведению.

Читайте также: