Table of Contents
Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . .. xvii
1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . … 1
1. Системы Обработки Заявок — Основы . . . . . . . . . . . . . . . . 1
1.1. Что такое система обработки заявок и зачем она нужна? . . . . . 1
1.2. Что такое заявка? . . . . . . . . . . . . . . . . . . . . .. 2
2. OTRS Help Desk . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1. Основы . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Особенности и функциональные возможности . . . . . . . . … 3
2.3. Требования к апаратному и програмному обеспечению . . . . .. 12
2.4. Сообщество . . . . . . . . . . . . . . . . . . . . . . … 13
2.5. Профессиональная поддержка OTRS . . . . . . . . . . . . . 14
2. Установка . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1. The Simple Way — Installation of Pre-Built Packages . . . . . . . . . . . 15
1.1. Установка из rpm-пакетов на сервер под управлением Suse Lin-
ux . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 15
1.2. Установка OTRS в операционной системе Red Hat Enterprise Linux
или CentOS . . . . . . . . . . . . . . . . . . . . . . . . … 17
1.3. Установка OTRS на системы Debian или Ubuntu . . . . . . . . 21
2. Installation From Source (Linux, Unix) . . . . . . . . . . . . . . . .. 21
3. Using the Web Installer . . . . . . . . . . . . . . . . . . . . . 26
4. OTRS на Windows . . . . . . . . . . . . . . . . . . . . . . . 31
4.1. Как перенести существующую Windows-систему на Linux . . . … 31
5. Updating OTRS . . . . . . . . . . . . . . . . . . . . . . . . . 42
6. Additional Applications . . . . . . . . . . . . . . . . . . . . . . 45
6.1. FAQ (Часто Задаваемые Вопросы) . . . . . . . . . . . . . .. 46
3. First Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
1. Agent Web Interface . . . . . . . . . . . . . . . . . . . . . . 47
2. Customer Web Interface . . . . . . . . . . . . . . . . . . . . … 48
3. Public Web Interface . . . . . . . . . . . . . . . . . . . . . . 48
4. First Login . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5. The Web Interface — an Overview . . . . . . . . . . . . . . . . . 50
6. Панель Управления/Дайджест . . . . . . . . . . . . . . . . . .. 52
7. What is a Queue? . . . . . . . . . . . . . . . . . . . . . . . . 58
8. What is the Queue Overview? . . . . . . . . . . . . . . . . . . .. 59
9. User Preferences . . . . . . . . . . . . . . . . . . . . . . . .. 60
4. Администрирование . . . . . . . . . . . . . . . . . . . . . . . … 63
1. Панель администрирования OTRS . . . . . . . . . . . . . . . . 63
1.1. Основы . . . . . . . . . . . . . . . . . . . . . . . . .. 63
1.2. Агенты, Группы и Роли . . . . . . . . . . . . . . . . . . 63
1.3. Customer Users and Customers . . . . . . . . . . . . . . . 71
1.4. Очереди . . . . . . . . . . . . . . . . . . . . . . . . 81
1.5. Приветствия, Подписи, Вложения и Шаблоны . . . . . . . . .. 82
1.6. Автоответы . . . . . . . . . . . . . . . . . . . . . . … 88
1.7. Системные адреса почты . . . . . . . . . . . . . . . . . 90
1.8. Уведомления по заявкам . . . . . . . . . . . . . . . . . . 91
1.9. S/MIME . . . . . . . . . . . . . . . . . . . . . . . . … 95
1.10. PGP . . . . . . . . . . . . . . . . . . . . . . . . . … 95
1.11. Состояния . . . . . . . . . . . . . . . . . . . . . . … 95
1.12. Настройка Системы . . . . . . . . . . . . . . . . . . … 96
1.13. Использование учётных записей почты . . . . . . . . . . … 97
1.14. Фильтрация входящих почтовых сообщений . . . . . . . . .. 97
1.15. Executing Automated Jobs with the GenericAgent . . . . . . . . 101
1.16. Administrative Messages . . . . . . . . . . . . . . . . … 102
1.17. Управление сеансами . . . . . . . . . . . . . . . . . .. 103
1.18. Обслуживание системы . . . . . . . . . . . . . . . . … 103
iii
1.19. Системный журнал . . . . . . . . . . . . . . . . . . .. 104
1.20. Журнал сеансов общения . . . . . . . . . . . . . . . … 105
1.21. SQL Queries via the SQL Box . . . . . . . . . . . . . . . 108
1.22. Менеджер пакетов . . . . . . . . . . . . . . . . . . … 108
1.23. Веб-сервисы . . . . . . . . . . . . . . . . . . . . . .. 110
1.24. Динамические Поля . . . . . . . . . . . . . . . . . . . 111
1.25. Календари . . . . . . . . . . . . . . . . . . . . . . . 111
2. Настройка Системы . . . . . . . . . . . . . . . . . . . . . .. 112
2.1. Конфигурационные файлы OTRS . . . . . . . . . . . . . .. 112
2.2. Configuring the System Through the Web Interface . . . . . . . 113
3. Backing Up the System . . . . . . . . . . . . . . . . . . . . .. 114
3.1. Резервное копирование . . . . . . . . . . . . . . . . . . 114
3.2. Восстановление . . . . . . . . . . . . . . . . . . . . .. 115
4. Настройки электронной почты . . . . . . . . . . . . . . . . . 115
4.1. Sending/Receiving Emails . . . . . . . . . . . . . . . . . 115
4.2. Secure Email with PGP . . . . . . . . . . . . . . . . . . . 122
4.3. Secure Email with S/MIME . . . . . . . . . . . . . . . . … 125
5. Using External backends . . . . . . . . . . . . . . . . . . . . 129
5.1. Customer Data . . . . . . . . . . . . . . . . . . . . . . 129
5.2. Customer User Backend . . . . . . . . . . . . . . . . . .. 130
5.3. Backends to Authenticate Agents and Customers . . . . . . . … 137
5.4. Customizing the Customer Self-Registration . . . . . . . . . . 142
6. Настройки заявок . . . . . . . . . . . . . . . . . . . . . . . 144
6.1. Состояния заявок . . . . . . . . . . . . . . . . . . . … 144
6.2. Ticket Priorities . . . . . . . . . . . . . . . . . . . . . 148
6.3. Ответственность за Заявку & Наблюдение за Заявкой . . . . .. 148
7. Date and Time Related Functions . . . . . . . . . . . . . . . . .. 150
7.1. Настройка периода рабочего времени, празников и часовых
поясов . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
7.2. Автоматические Разблокировки . . . . . . . . . . . . . … 151
8. Customizing the PDF Output . . . . . . . . . . . . . . . . . . .. 152
9. Отчеты . . . . . . . . . . . . . . . . . . . . . . . . . . … 152
9.1. Statistics Configuration and Usage . . . . . . . . . . . . . .. 153
9.2. Statistics System Administration . . . . . . . . . . . . . . . 158
10. Динамические Поля . . . . . . . . . . . . . . . . . . . . . 159
10.1. Введение . . . . . . . . . . . . . . . . . . . . . . … 159
10.2. Настройка Системы . . . . . . . . . . . . . . . . . . . 159
11. Generic Interface . . . . . . . . . . . . . . . . . . . . . . .. 176
11.1. Слои интерфейса Generic Interface . . . . . . . . . . . . . 176
11.2. Поток связи Generic Interface . . . . . . . . . . . . . . .. 178
11.3. Веб-сервисы . . . . . . . . . . . . . . . . . . . . . .. 181
11.4. Графический интерфейс веб-сервиса . . . . . . . . . . . 181
11.5. Интерфейс командной строки Веб-Сервиса . . . . . . . . .. 200
11.6. Конфигурация Веб-сервиса . . . . . . . . . . . . . . . . 200
11.7. Коннекторы (Connectors) . . . . . . . . . . . . . . . . . 208
12. The OTRS Daemon . . . . . . . . . . . . . . . . . . . . . … 227
12.1. OTRS Daemon Graphical Interface . . . . . . . . . . . . . 229
12.2. OTRS Daemon Command Line Interface . . . . . . . . . . . 230
5. Настройка . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
1. Списки Контроля Доступа (ACLs) . . . . . . . . . . . . . . . . 231
1.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . 231
1.2. Описание . . . . . . . . . . . . . . . . . . . . . . . . 231
1.3. Примеры . . . . . . . . . . . . . . . . . . . . . . . .. 232
1.4. Сссылка . . . . . . . . . . . . . . . . . . . . . . . … 238
2. Управление Процессами . . . . . . . . . . . . . . . . . . . .. 241
2.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . 241
2.2. Пример процесса . . . . . . . . . . . . . . . . . . . … 241
2.3. Выполнение примера . . . . . . . . . . . . . . . . . . . 241
iv
2.4. Эталонная последовательность настройки процесса . . . . . 267
2.5. Import Ready2Adopt process . . . . . . . . . . . . . . . … 287
3. Локализация интерфейса OTRS . . . . . . . . . . . . . . . . .. 288
6. Appointment Calendar . . . . . . . . . . . . . . . . . . . . . . … 289
1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . … 289
1.1. Особенности и функциональные возможности . . . . . . . … 289
2. Использование . . . . . . . . . . . . . . . . . . . . . . . .. 291
2.1. Управление календарями . . . . . . . . . . . . . . . . .. 291
2.2. Exporting calendars and/or appointments . . . . . . . . . . … 292
2.3. Importing calendars and/or appointments . . . . . . . . . . … 292
2.4. Обзор календарей . . . . . . . . . . . . . . . . . . . .. 293
2.5. Обзор повестки дня . . . . . . . . . . . . . . . . . . … 297
2.6. Management of calendar appointments . . . . . . . . . . . .. 297
2.7. Repeating appointments . . . . . . . . . . . . . . . . . .. 300
2.8. Уведомления . . . . . . . . . . . . . . . . . . . . . … 301
2.9. Event-based appointment/calendar notifications . . . . . . . . . 302
2.10. Link tickets to appointments . . . . . . . . . . . . . . . . 307
2.11. Managed ticket appointments . . . . . . . . . . . . . . … 309
2.12. Dashboard widget for upcoming appointments . . . . . . . . . 313
7. Настройка Производительности . . . . . . . . . . . . . . . . . . . 315
1. OTRS . . . . . . . . . . . . . . . . . . . . . . . . . . . … 315
1.1. TicketIndexModule . . . . . . . . . . . . . . . . . . . … 315
1.2. Ticket Search Index . . . . . . . . . . . . . . . . . . . . 315
1.3. Article Storage (Email, Phone and Internal Articles) . . . . . . . 316
1.4. Архивирование Заявок . . . . . . . . . . . . . . . . . .. 317
1.5. Кэш . . . . . . . . . . . . . . . . . . . . . . . . . .. 318
2. База данных . . . . . . . . . . . . . . . . . . . . . . . . .. 318
2.1. MySQL . . . . . . . . . . . . . . . . . . . . . . . . .. 318
2.2. PostgreSQL . . . . . . . . . . . . . . . . . . . . . . … 319
3. Веб-сервер . . . . . . . . . . . . . . . . . . . . . . . . . . 319
3.1. Предустановленное соединение с базой данных . . . . . . … 319
3.2. Предварительно загруженные модули — startup.pl . . . . . . .. 319
3.3. Перезагрузка Perl-модулей во время обновления с диска . . . .. 319
3.4. Выбор Правильной Стратегии . . . . . . . . . . . . . . .. 319
3.5. mod_gzip/mod_deflate . . . . . . . . . . . . . . . . . . . 320
A. Дополнительные ресурсы . . . . . . . . . . . . . . . . . . . . … 321
B. Справочник параметров настройки . . . . . . . . . . . . . . . . … 323
1. CloudService . . . . . . . . . . . . . . . . . . . . . . . . … 323
2. CloudService → Admin → ModuleRegistration . . . . . . . . . . . . 323
3. Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
4. Core → AppointmentCalendar . . . . . . . . . . . . . . . . . . 325
5. Core → AppointmentCalendar → Plugin . . . . . . . . . . . . . . .. 326
6. Core → AppointmentCalendar → TicketAppointments . . . . . . . . . . 327
7. Core → Auth → Agent → TwoFactor . . . . . . . . . . . . . . . . . 328
8. Core → Auth → Customer . . . . . . . . . . . . . . . . . . . … 329
9. Core → Auth → Customer → TwoFactor . . . . . . . . . . . . . . … 333
10. Core → Autoload . . . . . . . . . . . . . . . . . . . . . . … 334
11. Core → Cache . . . . . . . . . . . . . . . . . . . . . . . … 334
12. Core → CommunicationChannel . . . . . . . . . . . . . . . . … 335
13. Core → CommunicationChannel → MIMEBase . . . . . . . . . . . … 336
14. Core → CommunicationLog . . . . . . . . . . . . . . . . . . … 336
15. Core → Crypt → PGP . . . . . . . . . . . . . . . . . . . . . . 337
16. Core → Crypt → SMIME . . . . . . . . . . . . . . . . . . . . . 338
17. Core → DB → Mirror . . . . . . . . . . . . . . . . . . . . . .. 339
18. Core → Draft . . . . . . . . . . . . . . . . . . . . . . . . . 341
19. Core → DynamicFields → DriverRegistration . . . . . . . . . . . . . 341
20. Core → DynamicFields → ObjectTypeRegistration . . . . . . . . . . . 343
21. Core → Email . . . . . . . . . . . . . . . . . . . . . . . . 344
v
22. Core → Email → PostMaster . . . . . . . . . . . . . . . . . . .. 347
23. Core → Event → AppointmentCalendar . . . . . . . . . . . . . . 357
24. Core → Event → CustomerCompany . . . . . . . . . . . . . . . . 357
25. Core → Event → CustomerUser . . . . . . . . . . . . . . . . . 358
26. Core → Event → DynamicField . . . . . . . . . . . . . . . . . .. 359
27. Core → Event → LinkObject . . . . . . . . . . . . . . . . . . .. 359
28. Core → Event → Package . . . . . . . . . . . . . . . . . . . .. 359
29. Core → Event → Queue . . . . . . . . . . . . . . . . . . . . 360
30. Core → Event → Ticket . . . . . . . . . . . . . . . . . . . . . 360
31. Core → LinkObject . . . . . . . . . . . . . . . . . . . . . . 363
32. Core → Log . . . . . . . . . . . . . . . . . . . . . . . . … 365
33. Core → MailQueue . . . . . . . . . . . . . . . . . . . . . . 366
34. Core → PDF . . . . . . . . . . . . . . . . . . . . . . . . … 367
35. Core → Package . . . . . . . . . . . . . . . . . . . . . . . 368
36. Core → PerformanceLog . . . . . . . . . . . . . . . . . . . … 370
37. Core → Permission . . . . . . . . . . . . . . . . . . . . . . 370
38. Core → ProcessManagement . . . . . . . . . . . . . . . . . . 372
39. Core → Queue . . . . . . . . . . . . . . . . . . . . . . . .. 374
40. Core → ReferenceData . . . . . . . . . . . . . . . . . . . . . 374
41. Core → SLA . . . . . . . . . . . . . . . . . . . . . . . . … 374
42. Core → SOAP . . . . . . . . . . . . . . . . . . . . . . . . 375
43. Core → Service . . . . . . . . . . . . . . . . . . . . . . . . 375
44. Core → Session . . . . . . . . . . . . . . . . . . . . . . . . 375
45. Core → Stats . . . . . . . . . . . . . . . . . . . . . . . . . 379
46. Core → SupportDataCollector . . . . . . . . . . . . . . . . . … 380
47. Core → SystemMaintenance . . . . . . . . . . . . . . . . . . . 380
48. Core → Ticket . . . . . . . . . . . . . . . . . . . . . . . … 381
49. Core → Ticket → ACL . . . . . . . . . . . . . . . . . . . . . 390
50. Core → Ticket → DynamicFieldDefault . . . . . . . . . . . . . . .. 393
51. Core → Ticket → FulltextSearch . . . . . . . . . . . . . . . . . 398
52. Core → Ticket → Permission . . . . . . . . . . . . . . . . . . . 412
53. Core → Time . . . . . . . . . . . . . . . . . . . . . . . . . 415
54. Core → Time → Calendar1 . . . . . . . . . . . . . . . . . . . 418
55. Core → Time → Calendar2 . . . . . . . . . . . . . . . . . . . 420
56. Core → Time → Calendar3 . . . . . . . . . . . . . . . . . . . 422
57. Core → Time → Calendar4 . . . . . . . . . . . . . . . . . . . 424
58. Core → Time → Calendar5 . . . . . . . . . . . . . . . . . . . 426
59. Core → Time → Calendar6 . . . . . . . . . . . . . . . . . . . 429
60. Core → Time → Calendar7 . . . . . . . . . . . . . . . . . . . 431
61. Core → Time → Calendar8 . . . . . . . . . . . . . . . . . . . 433
62. Core → Time → Calendar9 . . . . . . . . . . . . . . . . . . . 435
63. Core → WebUserAgent . . . . . . . . . . . . . . . . . . . . .. 437
64. Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . 438
65. Daemon → Log . . . . . . . . . . . . . . . . . . . . . . . . 438
66. Daemon → ModuleRegistration . . . . . . . . . . . . . . . . . . 439
67. Daemon → SchedulerCronTaskManager → Task . . . . . . . . . . . 440
68. Daemon → SchedulerGenericAgentTaskManager . . . . . . . . . . . 449
69. Daemon → SchedulerGenericInterfaceTaskManager . . . . . . . . . . 449
70. Daemon → SchedulerTaskWorker . . . . . . . . . . . . . . . . . 450
71. Frontend → Admin . . . . . . . . . . . . . . . . . . . . . . 450
72. Frontend → Admin → ModuleRegistration . . . . . . . . . . . . . . 453
73. Frontend → Admin → ModuleRegistration → AdminOverview . . . . . . 469
74. Frontend → Admin → ModuleRegistration → Loader . . . . . . . . . .. 482
75. Frontend → Admin → ModuleRegistration → MainMenu . . . . . . . . 495
76. Frontend → Admin → ModuleRegistration → MainMenu → Search . . . . . 504
77. Frontend → Admin → View → CustomerCompany . . . . . . . . . . . 505
78. Frontend → Admin → View → CustomerUser . . . . . . . . . . . . . 505
79. Frontend → Admin → View → NotificationEvent . . . . . . . . . . . 505
vi
80. Frontend → Admin → View → SelectBox . . . . . . . . . . . . . … 508
81. Frontend → Admin → View → SysConfig . . . . . . . . . . . . . … 508
82. Frontend → Agent . . . . . . . . . . . . . . . . . . . . . . . 509
83. Frontend → Agent → ArticleComposeModule . . . . . . . . . . . . 520
84. Frontend → Agent → FrontendNotification . . . . . . . . . . . . . 520
85. Frontend → Agent → LinkObject . . . . . . . . . . . . . . . . … 524
86. Frontend → Agent → MIMEViewer . . . . . . . . . . . . . . . . . 525
87. Frontend → Agent → ModuleRegistration . . . . . . . . . . . . . .. 526
88. Frontend → Agent → ModuleRegistration → Loader . . . . . . . . . .. 538
89. Frontend → Agent → ModuleRegistration → MainMenu . . . . . . . . . 547
90. Frontend → Agent → ModuleRegistration → MainMenu → Search . . . . .. 553
91. Frontend → Agent → TicketOverview . . . . . . . . . . . . . . . 554
92. Frontend → Agent → TicketOverview → MenuModule . . . . . . . . … 556
93. Frontend → Agent → ToolBar . . . . . . . . . . . . . . . . . . 559
94. Frontend → Agent → View → CustomerInformationCenter . . . . . . . 563
95. Frontend → Agent → View → CustomerUserAddressBook . . . . . . . . 567
96. Frontend → Agent → View → CustomerUserInformationCenter . . . . . . 567
97. Frontend → Agent → View → CustomerUserSearch . . . . . . . . . … 571
98. Frontend → Agent → View → Dashboard . . . . . . . . . . . . . … 572
99. Frontend → Agent → View → Dashboard → EventsTicketCalendar . . . . . 582
100. Frontend → Agent → View → Dashboard → TicketFilters . . . . . . . .. 583
101. Frontend → Agent → View → LinkObject . . . . . . . . . . . . . . 583
102. Frontend → Agent → View → Preferences . . . . . . . . . . . . … 584
103. Frontend → Agent → View → Stats . . . . . . . . . . . . . . . . 593
104. Frontend → Agent → View → TicketBounce . . . . . . . . . . . . . 595
105. Frontend → Agent → View → TicketBulk . . . . . . . . . . . . . . 596
106. Frontend → Agent → View → TicketClose . . . . . . . . . . . . . 598
107. Frontend → Agent → View → TicketCompose . . . . . . . . . . . .. 603
108. Frontend → Agent → View → TicketCustomer . . . . . . . . . . . . 606
109. Frontend → Agent → View → TicketEmailNew . . . . . . . . . . . . 606
110. Frontend → Agent → View → TicketEmailOutbound . . . . . . . . . 609
111. Frontend → Agent → View → TicketEmailResend . . . . . . . . . . 611
112. Frontend → Agent → View → TicketEscalation . . . . . . . . . . . 611
113. Frontend → Agent → View → TicketForward . . . . . . . . . . . . 613
114. Frontend → Agent → View → TicketFreeText . . . . . . . . . . . … 614
115. Frontend → Agent → View → TicketHistory . . . . . . . . . . . . . 620
116. Frontend → Agent → View → TicketLocked . . . . . . . . . . . . . 621
117. Frontend → Agent → View → TicketMerge . . . . . . . . . . . . … 622
118. Frontend → Agent → View → TicketMove . . . . . . . . . . . . . 623
119. Frontend → Agent → View → TicketNote . . . . . . . . . . . . . . 626
120. Frontend → Agent → View → TicketOwner . . . . . . . . . . . . .. 631
121. Frontend → Agent → View → TicketPending . . . . . . . . . . . . 636
122. Frontend → Agent → View → TicketPhoneInbound . . . . . . . . . .. 640
123. Frontend → Agent → View → TicketPhoneNew . . . . . . . . . . . 642
124. Frontend → Agent → View → TicketPhoneOutbound . . . . . . . . … 645
125. Frontend → Agent → View → TicketPrint . . . . . . . . . . . . . . 647
126. Frontend → Agent → View → TicketPriority . . . . . . . . . . . . . 647
127. Frontend → Agent → View → TicketProcess . . . . . . . . . . . . . 652
128. Frontend → Agent → View → TicketQueue . . . . . . . . . . . . .. 653
129. Frontend → Agent → View → TicketResponsible . . . . . . . . . . .. 655
130. Frontend → Agent → View → TicketSearch . . . . . . . . . . . . .. 661
131. Frontend → Agent → View → TicketService . . . . . . . . . . . . . 668
132. Frontend → Agent → View → TicketStatus . . . . . . . . . . . . .. 669
133. Frontend → Agent → View → TicketWatch . . . . . . . . . . . . … 670
134. Frontend → Agent → View → TicketZoom . . . . . . . . . . . . … 671
135. Frontend → Agent → View → TicketZoom → ArticleAction . . . . . . … 676
136. Frontend → Agent → View → TicketZoom → MenuModule . . . . . . … 679
137. Frontend → Base . . . . . . . . . . . . . . . . . . . . . . . 687
vii
138. Frontend → Base → Loader . . . . . . . . . . . . . . . . . . . 694
139. Frontend → Base → NavBarModule . . . . . . . . . . . . . . . . 700
140. Frontend → Base → OutputFilter . . . . . . . . . . . . . . . . . 701
141. Frontend → Customer . . . . . . . . . . . . . . . . . . . . . 703
142. Frontend → Customer → FrontendNotification . . . . . . . . . . . 711
143. Frontend → Customer → ModuleRegistration . . . . . . . . . . . .. 712
144. Frontend → Customer → ModuleRegistration → Loader . . . . . . . … 715
145. Frontend → Customer → ModuleRegistration → MainMenu . . . . . . . 716
146. Frontend → Customer → View → Preferences . . . . . . . . . . . . 718
147. Frontend → Customer → View → TicketMessage . . . . . . . . . . . 721
148. Frontend → Customer → View → TicketOverview . . . . . . . . . . 724
149. Frontend → Customer → View → TicketPrint . . . . . . . . . . . … 725
150. Frontend → Customer → View → TicketProcess . . . . . . . . . . … 725
151. Frontend → Customer → View → TicketSearch . . . . . . . . . . . 725
152. Frontend → Customer → View → TicketZoom . . . . . . . . . . . .. 727
153. Frontend → Public . . . . . . . . . . . . . . . . . . . . . … 729
154. Frontend → Public → ModuleRegistration . . . . . . . . . . . . . 730
155. GenericInterface . . . . . . . . . . . . . . . . . . . . . . . 731
156. GenericInterface → ErrorHandling → ModuleRegistration . . . . . . … 731
157. GenericInterface → Invoker → ModuleRegistration . . . . . . . . . . 731
158. GenericInterface → Mapping → ModuleRegistration . . . . . . . . . 732
159. GenericInterface → Operation . . . . . . . . . . . . . . . . . 732
160. GenericInterface → Operation → ModuleRegistration . . . . . . . . . 733
161. GenericInterface → Operation → TicketCreate . . . . . . . . . . . 734
162. GenericInterface → Operation → TicketSearch . . . . . . . . . . . 735
163. GenericInterface → Operation → TicketUpdate . . . . . . . . . . … 735
164. GenericInterface → Transport → ModuleRegistration . . . . . . . . .. 736
C. GNU Free Documentation License . . . . . . . . . . . . . . . . . . . 738
0. PREAMBLE . . . . . . . . . . . . . . . . . . . . . . . . . … 738
1. APPLICABILITY AND DEFINITIONS . . . . . . . . . . . . . . . . … 738
2. VERBATIM COPYING . . . . . . . . . . . . . . . . . . . . . . 739
3. COPYING IN QUANTITY . . . . . . . . . . . . . . . . . . . . … 739
4. MODIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . .. 740
5. COMBINING DOCUMENTS . . . . . . . . . . . . . . . . . . . … 741
6. COLLECTIONS OF DOCUMENTS . . . . . . . . . . . . . . . . . .. 741
7. AGGREGATION WITH INDEPENDENT WORKS . . . . . . . . . . . . .. 742
8. TRANSLATION . . . . . . . . . . . . . . . . . . . . . . . . .. 742
9. TERMINATION . . . . . . . . . . . . . . . . . . . . . . . . .. 742
10. FUTURE REVISIONS OF THIS LICENSE . . . . . . . . . . . . . . .. 742
How to use this License for your documents . . . . . . . . . . . . . . 743
viii
List of Figures
2.1. Welcome screen . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2. GNU GENERAL PUBLIC LICENSE . . . . . . . . . . . . . . . . . . . 27
2.3. Выбор базы данных . . . . . . . . . . . . . . . . . . . . . . . 28
2.4. Database credentials . . . . . . . . . . . . . . . . . . . . . . . 28
2.5. Настройки базы данных . . . . . . . . . . . . . . . . . . . . . . 29
2.6. Successful database setup . . . . . . . . . . . . . . . . . . . . … 29
2.7. System settings . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.8. Mail configuration . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.9. Web installer final screen . . . . . . . . . . . . . . . . . . . . . . 31
2.10. Загрузка OTRSCloneDB — скриншот . . . . . . . . . . . . . . . . .. 32
2.11. Установка OTRSCloneDB — скриншот . . . . . . . . . . . . . . . . 33
2.12. Получение пароля БД вашей целевой системы — скриншот . . . . . . .. 35
2.13. Настройте OTRSCloneDB SysConfig 1 — скриншот . . . . . . . . . . . 36
2.14. Настройте OTRSCloneDB SysConfig 2 — скриншот . . . . . . . . . . . 37
2.15. Запуск OTRSCloneDB script 1 — скриншот . . . . . . . . . . . . . . 38
2.16. Запуск OTRSCloneDB script 2 — скриншот . . . . . . . . . . . . . . 39
2.17. Запуск OTRSCloneDB script 3 — скриншот . . . . . . . . . . . . . . 40
3.1. Login screen of the agent interface . . . . . . . . . . . . . . . . . . 47
3.2. Login screen of the customer interface . . . . . . . . . . . . . . . . 48
3.3. Общедоступный веб-интерфейс . . . . . . . . . . . . . . . . . . 49
3.4. Прислать новый пароль . . . . . . . . . . . . . . . . . . . . . . 50
3.5. Dashboard of the agent interface . . . . . . . . . . . . . . . . . . . 51
3.6. Нижний колонтитул/»подвал» . . . . . . . . . . . . . . . . . . . 52
3.7. Виджеты Панели Управления . . . . . . . . . . . . . . . . . . . 53
3.8. Виджет «Календарь событий по заявкам» . . . . . . . . . . . . . . 55
3.9. Dashboard Settings . . . . . . . . . . . . . . . . . . . . . . . … 57
3.10. Обзор очередей (по умолчанию) для агентов . . . . . . . . . . . . 59
3.11. Agent Queue View visual alarms . . . . . . . . . . . . . . . . . . 60
3.12. Agent’s personal preferences . . . . . . . . . . . . . . . . . . . . 60
3.13. Customer’s personal preferences . . . . . . . . . . . . . . . . . … 61
4.1. Экран панели администрирования OTRS . . . . . . . . . . . . . . .. 63
4.2. Управление агентами . . . . . . . . . . . . . . . . . . . . . . . 64
4.3. Добавление нового агента . . . . . . . . . . . . . . . . . . . . . 64
4.4. Управление Группами . . . . . . . . . . . . . . . . . . . . . . . 65
4.5. Агенты <-> Группы . . . . . . . . . . . . . . . . . . . . . . . 65
4.6. Изменение группы, к которой принадлежит агент. . . . . . . . . . . 66
4.7. Изменение агентов, входящих в определенную группу. . . . . . . . . 66
4.8. Управление Ролями . . . . . . . . . . . . . . . . . . . . . . . . 69
4.9. Добавление новой роли . . . . . . . . . . . . . . . . . . . . . . 69
4.10. Изменение Ролей, связанных с Агентом. . . . . . . . . . . . . . . 69
4.11. Изменение Агентов, связанных с конкретной Ролью. . . . . . . . . . 70
4.12. Управление связями Роли-Группы . . . . . . . . . . . . . . . . … 70
4.13. Изменить связи группы для роли . . . . . . . . . . . . . . . . . 70
4.14. Изменить связи роли для группы . . . . . . . . . . . . . . . . . 71
4.15. Customer User management . . . . . . . . . . . . . . . . . . . .. 71
4.16. Adding a customer user . . . . . . . . . . . . . . . . . . . . . . 72
4.17. Customer Users-Customers relations management . . . . . . . . . . . 73
4.18. Customer Users-Group relations management . . . . . . . . . . . . … 73
4.19. Change Group relations for a Customer User . . . . . . . . . . . . . . 74
4.20. Change Customer user relations for a Group . . . . . . . . . . . . . . 74
4.21. Customers-Group relations management . . . . . . . . . . . . . . … 75
4.22. Change Group relations for a Customer User . . . . . . . . . . . . . . 75
4.23. Change Customer user relations for a Group . . . . . . . . . . . . . . 76
4.24. Управления очередями . . . . . . . . . . . . . . . . . . . . . . 81
4.25. Добавление новой очереди . . . . . . . . . . . . . . . . . . . .. 81
ix
4.26. Управления приветствиями . . . . . . . . . . . . . . . . . . . .. 82
4.27. Добавление нового приветствия . . . . . . . . . . . . . . . . . . 83
4.28. Управление подписями . . . . . . . . . . . . . . . . . . . . . . 83
4.29. Добавление новой подписи . . . . . . . . . . . . . . . . . . . .. 84
4.30. Управление вложениями . . . . . . . . . . . . . . . . . . . . .. 85
4.31. Добавление нового вложения . . . . . . . . . . . . . . . . . . .. 85
4.32. Связать вложения с шаблонами. . . . . . . . . . . . . . . . . . . 85
4.33. Изменить связь Вложения с Шаблоном . . . . . . . . . . . . . . .. 85
4.34. Изменить связь Шаблона с Вложением . . . . . . . . . . . . . . .. 86
4.35. Управление шаблонами . . . . . . . . . . . . . . . . . . . . . 87
4.36. Добавление шаблона . . . . . . . . . . . . . . . . . . . . . . 87
4.37. Настройка Шаблонов для Очередей . . . . . . . . . . . . . . . … 87
4.38. Изменить связь Очереди с Шаблоном . . . . . . . . . . . . . . . 88
4.39. Изменить связь Шаблона с Очередью . . . . . . . . . . . . . . . 88
4.40. Настройка авто-ответов . . . . . . . . . . . . . . . . . . . . … 89
4.41. Добавление авто-ответа . . . . . . . . . . . . . . . . . . . . … 89
4.42. Настройка авто-ответов для очередей . . . . . . . . . . . . . . … 90
4.43. Изменение авто-ответов для очереди . . . . . . . . . . . . . . . 90
4.44. Настройка системных адресов почты . . . . . . . . . . . . . . . . 91
4.45. Добавление системного адреса исходящей почты . . . . . . . . . . 91
4.46. Настройка уведомлений по тикетам . . . . . . . . . . . . . . . … 92
4.47. Настройка уведомлений . . . . . . . . . . . . . . . . . . . . … 93
4.48. Настройка получателей уведомлений . . . . . . . . . . . . . . . 94
4.49. Настройка способов уведомлений . . . . . . . . . . . . . . . . … 94
4.50. Настройка S/MIME . . . . . . . . . . . . . . . . . . . . . . . .. 95
4.51. Настройка PGP . . . . . . . . . . . . . . . . . . . . . . . . … 95
4.52. Настройка статусов . . . . . . . . . . . . . . . . . . . . . . .. 96
4.53. Graphical user interface of the system configuration. . . . . . . . . . . 97
4.54. Управление почтовыми ящиками . . . . . . . . . . . . . . . . . 97
4.55. Управление фильтрами PostMaster . . . . . . . . . . . . . . . . .. 98
4.56. Add a PostMaster filter . . . . . . . . . . . . . . . . . . . . . . 100
4.57. Список заданий для GenericAgent . . . . . . . . . . . . . . . . . 101
4.58. Создание заданий для GenericAgent . . . . . . . . . . . . . . . . 101
4.59. Admin notification screen . . . . . . . . . . . . . . . . . . . . . 102
4.60. Управление сеансами . . . . . . . . . . . . . . . . . . . . . . 103
4.61. Подробности сеанса/сессии . . . . . . . . . . . . . . . . . . … 103
4.62. The system maintenance overview screen with some scheduled periods . . 104
4.63. The system maintenance edit screen . . . . . . . . . . . . . . . … 104
4.64. Системный журнал . . . . . . . . . . . . . . . . . . . . . . . 105
4.65. Communication Log Overview . . . . . . . . . . . . . . . . . . .. 105
4.66. Communication Log Time Range Selection . . . . . . . . . . . . . … 106
4.67. Communication Log Account Status . . . . . . . . . . . . . . . . . 106
4.68. Communication Log Account Status . . . . . . . . . . . . . . . . . 106
4.69. Communication Log Detail View . . . . . . . . . . . . . . . . . … 107
4.70. Communication Log Priority Filter . . . . . . . . . . . . . . . . . . 107
4.71. SQL-запросы . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.72. Менеджер пакетов . . . . . . . . . . . . . . . . . . . . . . .. 108
4.73. Package Manager Update All Installed Packages Button . . . . . . . . … 109
4.74. Package Manager Update All Installed Packages In Progress Notification . . . 110
4.75. Package Manager Update All Installed Packages Summary . . . . . . . .. 110
4.76. Графический интерфейс для веб-сервисов . . . . . . . . . . . . .. 110
4.77. The dynamic fields overview screen with some dynamic fields . . . . . . 111
4.78. The calendar management screen with some calendars . . . . . . . . .. 112
4.79. Графический интерфейс для настройки системы . . . . . . . . . . 113
4.80. System configuration deployment . . . . . . . . . . . . . . . . . 114
4.81. Добавление учетной записи электронной почты . . . . . . . . . . . 117
4.82. Changing the Responsibility of a ticket in its zoomed view . . . . . . . .. 149
4.83. Pop-up dialog to change a ticket’s responsibility . . . . . . . . . . . .. 149
x
В этой статье я покажу как реализован процесс в OTRS 6 по созданию и введению в работу нового сотрудника со стороны отдела ИТ.
Вот такую я нарисовал схему взаимодействия между сотрудниками отдела ИТ:
А вот так выглядит процесс в OTRS 6:
- Первое окно интерфейса (Активность «A_start»)
Начало процесса в интерфейсе OTRS выглядит так:
Для создания этого окна этого нам потребуется:
Активность «A-start» — это начало процесса. Инженер тех. поддержки передает заявку о создании нового пользователя в очередь системному администратору. Почему так: в нашей организации все заявки OTRS первоначально попадают в очередь «технической поддержки» к инженеру, а он в свою очередь уже распределяет их по другим очередям. По сути это окно, оболочка в котором отображается все взаимодействие с пользователем.
и уже к этой активности мы назначаем:
Диалог активности «Начать создание пользователя» — Это уже «начинка» активности, в диалоге активности уже можно отображать поля, в которых возможно делать какой то выбор, например ставить чекбоксы (как в нашем случае), или выбирать из выпадающего списка значение (далее, в другом диалоге активности я это использую и т.д.)
Как видно в этой активности используется созданное мной ранее динамическое поле «newUserStart»
которое уже по умолчанию имеет отмеченный чекбокс
В процессе у него установлено «заполнение обязательно»,
т.е. если мы снимем чекбокс, то дальше этой активности процесс не пойдет, так как после этого диалога активности мы используем проверку на то — отмечен ли чекбокс или нет.
Следующий этап переход к активности «A_создание нового пользователя в AD» эта активность (окно веб интерфейса по сути) становится доступна очереди «Системный администратор», после того как инженер нажал кнопку «в работу» в первой активности «A-start»
Как видно между активностями «A_start» и «A_создание нового пользователя в AD» используется переход «T_start». Что такое «переход«?
Это логический блок, в котором можно задавать условия при которых возможно перейти к следующей активности (в нашем случае проверить отмечен ли чекбокс у динамического поля «newUserStart» ), какое выбрано значение из выпадающего списка и т.д.
Вот как настроена проверка на то, отмечен ли чекбокс:
Если условие выполнено, то процесс идет дальше и если «переходу» назначены «действия перехода», то выполняются они. В моем случае переходу назначены два «действия перехода» в одном («TA_toAdminSetName«) происходит изменение владельца заявки по ID на конкретного системного администратора:
и во втором действии перехода происходит изменение очереди на очередь «системный администратор»:
2. Второе окно интерфейса , активность «A_Создание учетной записи AD»
В этом интерфейсе уже работает системный администратор.
Вот так выглядит в интерфейсе OTRS:
Назначение этого окна для системного администратора в напоминании о том какие поля при создании нового пользователя в Active Directory должны быть заполнены. Напоминание описано в поле «Не забыть заполнить в AD»
После того как он создаст новую запись — он выставляет значение выпадающего списка «создание учетной записи в AD» в значение «yes» и проверяет является ли новый сотрудник руководителем (у нас у всех руководителей должен быть настроен ярлык для работы с 1C и создана учетная запись в 1C , этим занимается уже программист по 1C и в этой активности мы задаем разветвление процесса в зависимости от выбранного значения выпадающего списка «Это начальник?»
Вот так это выглядит в настройках Процесса:
Активность «A_Создание учетной записи AD и назначенный ей диалог активности «Создать учетную запись в Active Directory»
Сам диалог активности «Создать учетную запись в Active Directory»:
В этом диалоге активности используются 3 динамических поля
- textAD — простое текстовое поле, где перечислены инструкции для напоминания системному администратору
2. ADcreateUser — выпадающий список, имеющий два значения «no» (по умолчанию) и «yes».
3. isBoss — выпадающий список, имеющий два значения «no» (по умолчанию) и «yes».
Итак: выбрали «yes» в выпадающем списке «Это начальник?» (динамическое поле «isBoss«)
У нас срабатывает вот это действие перехода «T_Yes_isBossSendMail»
Внутри него происходит проверка на то какие значения выбраны в динамических полях:
после этого мы попадем в активность «A_For1C«:
где используется диалог активности «Заполнить и отправить заявку в 1С«
В ней используются 3 текстовых динамических поля, в которые нужно записать данные, которые необходимы программисту 1С для создания учетной записи непосредственно в 1С. Настройки этих полей одинаковые, приведу пример только одного «adminFioFor1C«:
В интерфейсе агента это выглядит вот так:
После нажатия на кнопку «отправить» начинает работать переход «TA_createTicket_1C«
Этот переход проверяет, заполнено ли что то в полях
и если проверка прошла, то выполняется действие перехода «TA_createTicket_1C» , это действие создает заявку в очереди «Группа 1С» которая заведена в OTRS и которую мы используем для создания заявок для программиста 1С.
Но в OTRS есть проблема — нельзя (из коробки) передавать значение дианамических полей. Т.е. если мы заполнили, например, поле «ФИО» в предыдущей активности, то передать значение этого поля в заявку программисту 1С не получится.
Само действие перехода, которое создает заявку программисту 1С, выглядит так:
В результате создается заявка в группе 1С вот в таком виде:
Так как никаких данных нет, мы их добавляем в виде заметки к этой заявке, где указываем нужные данные для создания учетки в 1С. Это конечно не удобно, но пока так. Далее программист 1С создает учетку, закрывает свою заявку и мы получаем об этом уведомление.
В интерфейсе же агента, после создания заявки программисту 1С, происходит переход в активность «A_todo_admin_createUser_1С»:
В интерфейсе агента выглядит так:
Как мы видим у нас отображаются заполненные ранее динамические поля («ФИО», «должность», «логин»)
=================Отступление========================
Для того, чтобы значения динамических полей отображались в процессных заявках нужно их добавить в настройках системы вот здесь Ticket::Frontend::AgentTicketZoom###ProcessWidgetDynamicField в значение «1»
И включить отображение динамического поля и как оно будет называться вот здесь:
Ticket::Frontend::AgentTicketZoom###ProcessWidgetDynamicFieldGroups
============================Конец отступления================
— отсюда удобно копировать данные для заметки в заявку программисту 1С. Отсюда нам доступен диалог активности «Добавить в группу 1С«
Для чего это нужно: чтобы не забыть добавить пользователя в определенную группу в AD. У нас, для работы пользователя в программе 1С, используется терминальный режим и для этого пользователь должен состоять в специальной группе в Active Directory.
Здесь используются 2 динамических поля
DynamicField_adminAddGrop1C — выпадающий список (вариант «да» и «нет»)
DynamicField_adminArtcle1C — тип «чекбокс»
Эти типы полей мы рассматривали выше, настройки приводить не буду.
В интерфейсе OTRS агента это выглядит так:
После нажатия на кнопку попадаем в переход «TA_go_TODO_ADMIN«, который проверяет, что выбрано значение «yes» и поставлена галочка в активности «A_todo_admin_createUser_1С«
После этого попадаем в активность «A_todo_admin» , где нам доступен диалог активности «Проверить выполнены ли действия» :
Вот таки поля у этого диалога в интерфейсе OTRS агента:
Вот так в настройках процесса:
Думаю здесь пояснения не нужны, по сути это напоминание сис. администратору о небходимости проверить выполнены ли действия перечисленные в динамических полях. Да, мы попали бы в эту активность «A_todo_admin» если бы в активности «A_Создание учетной записи AD» в ее диалоге активности «Создать учетную запись в Active Directory» в динамическом поле «DynamicField_isBoss» выбрали значение «no«:
Как только все поля заполнены мы переходим в переход «T_toSupport«
В этом переходе я сделал проверку на то что в выпадающих списках выбраны значения «yes», т.е. я не стал проверять заполнены ли поля где нужно указывать логин и временный пароль пользователя, я просто сделал их обязательными к заполнению (на что указывает * в интерфейсе агента у этого поля)
вот так делается обязательность заполнения поля:
а вот настройки перехода «T_toSupport» :
После того как проверка прошла, выполняются 2 действия перехода:
Действие перехода «TA_toSupportSetName» изменяет владельца процессной заявки:
Действие перехода «TA_QueueToSupport» перемещает заявку в очередь «Группа поддержки»
Далее заявка попадает к инженеру тех. поддержки, в интерфейсе инженера она выглядит так:
Это окно активности «A_support» :
Нам доступен диалог активности «Выполняется на рабочем месте пользователя» , вот его настройки:
Вот так этот диалог выглядит в интерфейсе агента:
Инженер проверяет, выполняет работы перечисленные в этом интерфейсе, проставляет галочки напротив работ и передает в работу начальнику ИТ. Перед этим заявка проходит через переход «T_toChief» , где проверяется что все чекбоксы отмечены:
и если все ок, то отрабатывают два действия перехода, которые меняют владельца заявки и очередь заявки
Активность «A_chief»
Здесь интерес может представить поле «Проблема» с уже выбранным значением «Создание рабочего места». У нас при закрытии заявок в OTRS агент обязан указать к какой проблематике относилась заявка (имеется выпадающий список с перечнем известных проблем) за это отвечает динамическое поле «Programs», вот настройки динамического поля:
Вот так настроено это поле в процессной заявке:
После того как начальник проверил свой перечень работ, он нажимает кнопку «выполнено, закрыть заявку», заявка попадает в действие «Close Ticket»
где происходит проверка что галочки у полей проставлены:
и если это так, то выполняется действие перехода
которое меняет состояние заявки на закрыта успешно и назначает ответственного по заявке (кто закрыл заявку — в моем случае Начальник СИТ):
После этого процесс завершается, выполняется встроенная активность «Process complete»
Выгрузка процесса в формате yml:
В данный момент у компании EFSOL для поддержки клиентов, а также внутренних сервисов используется платная тикет-система, которую мы получаем по модели SaaS. Со стороны функционала претензий к системе нет. Однако, мы задумались о другом решении для организации тикет-системы из-за экономических факторов:
- Количество сотрудников нашей компании постоянно увеличивается и, соответственно, ежемесячные затраты растут.
- У нас есть свой хостинг (облачные серверы и техническая поддержка) – нет проблем размещать сервис у себя, а не пользоваться сторонним облачным решением.
Выбор решения для тикет-системы
Поиск тикет-системы производился, используя следующие требования:
- Продукт должен быть на базе свободного ПО
- Установка должна выполняться на бесплатную ОС
- Система должна соответствовать принципам ITSM
- Система должна иметь широкие возможности по кастомизации и доработке.
- Постановка заявок стандартными способами : Email, телефон, web-интерфейс пользователя.
- Должна быть возможность формировать необходимые отчеты:
- отчет по заявкам: количество, %просрочки, %инцидентов, статистика по клиентам и исполнителям)
- отчет по оценке заявок
- отчет по количеству возвращенных заявок
Были обозначены цели, которые планируем достичь с использованием новой тикет-системы:
- Перевести все взаимодействие внутренних служб ( план «Минимум»)
- Перевести текущих клиентов и использовать для новых (план «Максимум»).
Из всех решений, которые были рассмотрены, наиболее подходящим показался OTRS.
В таблице 1 ниже приведены наиболее распространенные термины которые используются при работе с системой.
Таблица 1 – Термины, используемые при работе с тикет-системой
| № | Термин | Обозначение |
| 1 | Заявка (Тикет) | Любое обращение в службу технической поддержки. |
| 2 | Инцидент | Незапланированное прерывание сервиса или снижение качества его работы. Например выход из строя оборудования, медленная работа сервисов. |
| 3 | Запрос на обслуживание | Запрос от пользователя для предоставления консультации или выполнения плановых действий, например, установка нового ПО или оборудования. |
| 4 | Клиент | Внешний пользователь системы. Тот, кто формирует заявку. |
| 5 | Агент | Внутренний пользователь системы. Тот, кто заявку обрабатывает |
| 6 | Очередь | Место расположения заявки, сущность, которая позволяет разделить общий массив заявок. |
| 7 | Каталог услуг | База данных или документ, который содержит перечень услуг, предоставляемых клиенту. |
| 8 | SLA | Соглашение об уровне услуг. Соглашение, в котором регламентированы сроки решения заявок в зависимости от услуги, типа заявки и ее приоритета. |
| 9 | Блокировка заявки | Агент, когда принимает заявку к выполнению, становится ее владельцем и, таким образом, блокирует заявку. Заблокированная заявка не видна другим агентам очереди и они не могут ее закрыть. |
Обзор OTRS
Рассмотрим функционал системы, который можно получить сразу после установки и базовой настройки:
- Заведение клиентов, группировка их по компаниям.
- Заведение агентов , группировка их по группам – это могут быть группы или линии поддержки.
- Создание каталога услуг.
- Создание очередей. К разным очередям можно предоставить разные доступы и разные оповещения.
- Регистрация заявок доступна 3-мя способами:
- По почте. Письмо с почты автоматически преобразуется в заявку в определенной очереди. Можно настроить прием заявок в разные очереди с разных ящиков.
Рисунок 1 – Интерфейс настройки почты для приема заявок
- Через Web-интерфейс. Клиент оставляет заявку через Web-сайт. При постановке заявки через Web-интерфейс, есть возможность выбрать услугу, а также срочность заявки.
Рисунок 2 – Интерфейс пользователя OTRS
- По телефону. Агент ставит заявку, которую он принял по телефону от клиента.
- По почте. Письмо с почты автоматически преобразуется в заявку в определенной очереди. Можно настроить прием заявок в разные очереди с разных ящиков.
- Обо всех движениях заявки приходят оповещения на почту клиента.
- Создание SLA. Есть возможность настроить граничное время решения заявки в зависимости от сервиса и приоритета заявки. Стоит отметить, что делается это не очень просто. Сначала создаются SLA, в которых прописано граничное время реакции, эскалации и решения в привязке к сервису.
Рисунок 3 – Настройка SLA
Далее необходимо сопоставить приоритет заявки с ее типом и SLA. В таблице ниже настраивается матрица какой ID SLA будет выбран при определенном ID типа заявки и приоритете.
Рисунок 4 – Сопоставление SLA, типа заявки и приоритета
- Присутствуют базовые отчеты:
- Перечень открытых заявок.
- Перечень закрытых заявок.
- Перечень заявок созданных за последний месяц.
- Новые заявки.
- Обзор изменения статусов заявок за месяц.
- Обзор всех заявок в системе.
- Обработка заявки происходит достаточно просто. Входящая заявка попадает в определенную очередь. Заявку видят все операторы данной очереди, если оператор принимает заявку – она им блокируется и другие операторы уже не смогут с ней работать.
Рисунок 5 – Интерфейс обработки заявки оператором
Оператор проводит классификацию заявки указывая приоритет и сервис. Далее может закрыть ее сам или же передать другому оператору или в другую очередь.
Рисунок 6 – Интерфейс классификации заявки
Настройка системы OTRS
Для реализации первого этапа установили систему и начали ее настройку.
Базовая настройка
После того как система была установлена, ее нужно было настроить.
- Создан и подключен к системе почтовый ящик для приема писем с заявками.
- Создано и подключено DNS имя для использования Web-интерфейса.
- Заведены сотрудники компании «агенты» и сгруппированы по отделам. Клиентов не создавали – так как система будет пока служить для постановки заявок между сотрудниками.
- Созданы 2 очереди техподдержки: 1-я и 2-я линия поддержки.
- Созданы 2 очереди техподдержки: 1-я и 2-я линия поддержки.
- Вставили логотип и русифицировали интерфейс и уведомления.
Рисунок 7 – Страница входа в OTRS
В результате получился инструмент, позволяющий использовать такой функционал:
- Отправить заявку письмом или же через web-интерфейс.
- Заявка регистрируется, ей присваивается номер, передается между исполнителями, закрывается.
- Автору заявки приходят уведомления о состоянии заявки, также автор может прикрепить свой комментарий через личный кабинет или ответив на письмо.
Базовая кастомизация
Для соответствия системы потребностям компании выполнили небольшую кастомизацию:
Настроен SLA. Регламентное время решения заявки вычисляется в зависимости от типа заявки (запрос на обслуживание или инцидент), приоритета и сервиса. Настроено рабочее время. Также выполнен расчет приоритета в зависимости от срочности и критичности заявки. Изначально в заявках есть только параметр приоритета.
Настроено ограничение на прием заявок. Настроили прием заявок только с почты клиентов или агентов. С адресов, не зарегистрированных в системе, заявки не принимаются, в ответ отправляется уведомление о незарегистрированном адресе.
Реализован механизм оценки заявок. При закрытии заявки исполнителем, автор получает уведомление с просьбой принять выполнение заявки и поставить оценку. Если у автора есть замечания, он отвечает на данное письмо и заявка возобновляется в работу, а его ответ крепиться комментарием к заявке.
Рисунок 8 – Уведомление на почту о закрытой заявке
Рисунок 9 – Результат оценки заявки
Реализован механизм подсчета возвращенных заявок. Количество возвращенных заявок и количество раз, которое они были возвращены является очень важным показателем качества работы ИТ-службы, поэтому в форму заявки был добавлен счетчик возобновления заявок.
Отчеты
Для оценки качества работы ИТ-подразделения пока решили использовать 3 отчета:
Отчет по заявкам. Показывает количество заявок за определенный период, в том числе количество и процент просроченных заявок – наиболее важный параметр. Также предоставляется информация по количеству и процентному соотношению типов заявок и состояний.
Рисунок 10 – Пример Отчета по заявкам
Отчет по оценке заявок. Показывает среднюю оценку по всем заявкам за выбранный период и по каждому типу в отдельности.
Рисунок 11 – Пример Отчета по оценке заявок
Отчет «Возвращенные заявки». Показывает количество возвращенных заявок в абсолютном и процентном соотношении и показывает сколько раз была возвращена конкретно каждая заявка.
Рисунок 12 – Пример Отчета «Возвращенные заявки»
Во всех отчетах настроен интервал диапазона дат – текущее число. Отчеты можно формировать по отдельному клиенту, исполнителю или очереди.
Рисунок 13 – Интерфейс для формирования отчетов на примере Отчета по заявкам
Планы по дальнейшему развитию
В данный момент система успешно запущена для работы внутренней службы. В планах поработать несколько недель и составить список новых пожеланий к системе, которые всплывут во время боевой эксплуатации системы. Далее будем решать, какие из них действительно нужны и будем их реализовывать.
В будущем планируется реализовать следующий функционал:
- Создать веб-форму для отчетов. В данный момент отчеты выгружаются сразу в файл. Было бы удобнее чтобы формировалась форма в браузере, а уже потом, если необходима выгрузка, выгружать ее в необходимый формат.
- Сделать более презентабельную форму формирования отчетов.
- Реализовать механизм «Замораживания заявок». Сделать возможность, когда исполнитель смог бы приостановить выполнение заявки, указав причину. При этом SLA замораживается. Актуально для заявок, к решению которых невозможно приступить в ближайшее время, например, автор заявки просит подключить ему компьютер, который будет куплен только через 3 дня.
- Создание красивого клиентского интерфейса.
- Механизм согласования заявок. Необходимо создать механизм, когда определенный тип заявок не может быть выполнен исполнителем без согласования ответственного сотрудника. Очень актуально для заявок связанных с безопасностью и предоставлению доступа к данным. Такие заявки ставят сотрудники клиента, но согласовывает их выполнение служба безопасности клиента или руководитель.
Вывод
OTRS – это очень перспективная система. Основным ее преимуществом, кроме того, что она бесплатная, является большая степень гибкости. Отсюда появляется и самый большой недостаток системы – ее нужно полностью настраивать и кастомизировать под свои задачи. Без этого удастся получить только базовый функционал. Очень мало компаний используют OTRS в базовом варианте, а некоторые создают собственные платные продукты на базе OTRS или же делают платные модули, отчеты и прочее.
Мы запустили готовую тикет-систему в облаке и предлагаем её в аренду.
Что такое очередь?
Очереди в OTRS предназначены для разделения функциональных групп агентов, занятых в службе поддержки или иных рабочих процессах. Наиболее близкая аналогия для очереди — каталог в почтовом ящике, в который поступают обращения клиентов. С каждым таким «каталогом» может работать заданная группа пользователей — агентов.
Варианты классификации очередей
По функциональной группе в рабочем процессе (workflow)
- Сопровождение (1-я линия)
- Сопровождение (2-я линия)
- Анализ
- Тестирование
- Выпуск
По оргструктуре компании
- Отдел Продаж
- Отдел Обслуживания
- Бухгалтерия
Смешанный вариант с применением иерархии очередей (подочередей)
- Департамент Продаж
- Заказы
- Коммерческие предложения
- Акты
- Департамент Обслуживания
- Центральный федеральный округ
- Южный федеральный округ
- Дальневосточный федеральный округ
- Департамент учета и отчетности
К слову сказать, глубина вложенности очередей в OTRS регулируется параметром Ticket::Frontend::MaxQueueLevel (дефолтное значение — 5). На практике не приходилось встречать более 3-4 уровней вложенности.
Настройка очередей
По умолчанию в OTRS доступны 4 очереди:
- Postmaster — очередь для почтовых заявок
- Raw — очередь для заявок сформированных в клиентском портале
- Misc — различные заявки
- Junk — спам
Предположим, что в нашей компании существует 2 подразделения, ответственных за взаимодействие с клиентами:
Служба поддержки — В эту очередь будут помещаться заявки, поступившие на адрес support@contoso.com и через Customer Portal, доступ к ней имеет группа users.
Отдел продаж — В эту очередь будут помещаться заявки, поступившие на адрес info@contoso.com и из кого-нибудь внешнего приложения (CRM-системы, формы обратной связи на сайте) с использованием GenericAgent, доступ — группа sales.
Последовательность настройки
- Администрирование — Адреса E-mail — настроить адреса e-mail, которые будут использоваться для отправки сообщений клиентами
- Администрирование — Приветствия, Подписи, Шаблоны — выполнить настройку шаблонов, подписей и приветствий. См. информацию об используемых тегах.
- Выполнить настройку праздничных дней (рабочих дней, часовых поясов) в календарях (Core::Time::Calendar) — при необходимости
- Создание очереди (см. настройки в Таблице 1)
- Привязка шаблонов ответов к очереди (можно выполнить позже в разделе Templates — Queues (Шаблоны — Очереди)).
- Учетные записи почты для Postmaster — настроить распределение входящей почты по очередям
- Внести изменения в конфигурационные параметры PostmasterDefaultQueue — очередь по умолчанию для почтовых заявок, Process::DefaultQueue — очередь по умолчанию для процессных заявок, Ticket::Frontend::UserDefaultQueue — очередь по умолчанию для заявок, создаваемых в интерфейсе агента
- В случае, если активна настройка Ticket::Frontend::CustomerTicketMessage###Queue (позволяет клиенту при формировании заявки через клиентский портал выбрать очередь), необходимо исправить настройку Ticket::Frontend::CustomerTicketMessage###QueueDefault
- Отключить дефолтные очереди, указав Действительность = Нет
Настройки очереди
Таблица 1. Настройки очереди
| Параметр (Рус) | Параметр (Eng) | Описание |
|---|---|---|
| Имя | Name | Наименование очереди |
| Подочередь | Sub-queue of | Указывается имя вышестоящей очередь — если хотим использовать иерархию очередей |
| Группа | Group | Группа агентов, имеющих доступ к очереди |
| Срок блокировки минут | Unlock timeout minutes | Время (в минутах) по истечении которого заявка, заблокированная агентом, будет автоматически разблокирована и станет доступна другим агентам |
| Эскалация — время первого ответа (минут) | Escalation — first response time (minutes) | При отсутствии активности по новой заявке (письма или звонка клиенту) по истечении заданного времени, выполняется эскалация |
| Эскалация — время обновления (минут) | Эскалация — время обновления (минут) | При отсутствии активности (ответа клиента) по заявке в течении заданного времени, выполняется эскалация |
| Эскалация — время решения (минут) | Escalation — solution time (minutes) | В случае, если заявка не будет решена (закрыта) в течении заданного времени, выполняется эскалация |
| Параметры повторных ответов | Follow up option | Поведение системы при получении ответа клиента по закрытой заявке: возможен, создать новую заявку, отвергнуть — задается в соответствии с условиями обслуживания клиентов |
| Блокировка заявки после получения повторного ответа клиента | Ticket lock after a follow up | При получении ответа на закрытую заявку, она блокируется на предыдущего агента-владельца |
| Системный адрес | System address | Адрес электронной почты, который будет использоваться при отправке исходящих сообщений (см. пункт 1 последовательности настройки) |
| Приветствие | Salutation | Привязка используемого приветствий (шапка сообщения) |
| Подпись | Signature | Привязка используемой подписи (подвала сообщения) |
| Календарь | Calendar | Привязка календаря (позволяет использовать разные календари для разных очередей, в случае, если рабочие дни и время не определены на уровне SLA) |
| Действительность | Validity | Опция, позволяющая отключить неиспользуемую очередь |
Использование очереди для получения входящей услуги
Предположим, наша компания (линия поддержки, департамент ИТ, etc) является получателем услуг со стороны внешнего поставщика услуг (компании-партнера, вендора, разработчика системы, провайдера и т.д.). В рамках процесса получения услуги мы можем обращаться к поставщику услуг, направляя заявки по электронной почте. Каким образом в этом случае должна быть организована работа с очередями?
Необходимо создать записи адреса E-mail и настройку входящей почты (Postmaster), указав в них адрес E-mail, использующийся для взаимодействия с поставщиком услуг. Контакты поставщика услуг должны быть зарегистрированы в базе клиентов OTRS. При формировании заявки в адрес поставщика услуг необходимо использовать пункт Новая заявка по e-mail, в качестве очереди для заявки — указывать очередь для взаимодействия с поставщиком.
Для того, чтобы входящая почта от поставщика (рассылки, уведомления) попадала в нужную очередь, требуется настроить почтовые фильтры (Администрирование — фильтры Postmaster). Пример такого фильтра приведен ниже (письма поступившие от email@engage.redhat.com переносятся в очередь Партнеры).
- Имя — Партнеры
- Условие фильтра — Найти поле заголовка — From, Значение — email@engage.redhat.com
- Выставить заголовки письма — X-OTRS-Queue, Значение — Партнеры
Step by step instructions for installing the OTRS 6 (Community Edition) open source help desk system in the latest version for all common Linux distributions (minimal installation).
Note: For the sake of simplicity, all Linux commands are displayed without the additional sudo, which is required for some commands if the installation is not performed as root.
Despite the comments, commands can be copied 1:1 and inserted into the command line.
Linux distribution which OTRS should be installed on:
1. Linux packages
dnf config-manager --set-enabled powertools && `# Extends the package management` \
dnf upgrade -y && `# Updates installed packages` \
dnf install -y -d1 \
epel-release `# Repository for additional packages` \
httpd `# Apache as web server` \
mariadb mariadb-server `# MariaDB as DBMS` \
cpanminus `# Allows to install the latest Perl modules` \
tar
subscription-manager repos --enable "codeready-builder-for-rhel-8-$(/bin/arch)-rpms" && `# Extends the package management` \
dnf upgrade -y && `# Updates installed packages` \
dnf install -y -d1 \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm `# Repository for additional packages` \
httpd `# Apache as web server` \
mariadb mariadb-server `# MariaDB as DBMS` \
cpanminus `# Allows to install the latest Perl modules` \
tar `# To extract files`
apt -y -qq upgrade && `# Updates installed packages` \
apt install -y -qq \
apache2 `# Apache as web server` \
mariadb-client mariadb-server `# MariaDB as DBMS` \
cpanminus `# Allows to install the latest Perl modules`
apt -y -qq upgrade && `# Updates installed packages` \
apt install -y -qq \
apache2 `# Apache as web server` \
mariadb-client mariadb-server `# MariaDB as DBMS` \
cpanminus `# Allows to install the latest Perl modules` \
curl `# To download files`\
make `# Dependency on installing packages`
zypper addrepo https://download.opensuse.org/repositories/devel:languages:perl/$(hostnamectl | grep -oP 'Operating System: \K.*' | tr ' ' '_')/devel:languages:perl.repo && `# Extends the package management` \
zypper --no-gpg-checks refresh && \
zypper update -y && `# Updates installed packages` \
zypper -q -n install \
perl-Module-Install-Repository `# Repository for additional packages` \
apache2 `# Apache as web server` \
mariadb mariadb-client `# MariaDB as DBMS` \
perl-App-cpanminus `# Allows to install the latest Perl modules` \
make `# Dependency on installing packages`
2. Linux settings
Database
The database configuration /etc/my.cnf.d/mariadb-server.cnf must be adapted.
The changes are added under [mysqld]. This works automatically with the following command:
sed -i '/\[mysqld\]/a max_allowed_packet=64M\nquery_cache_size=32M\ninnodb_log_file_size=256M\ncharacter-set-server=utf8\ncollation-server=utf8_unicode_ci' /etc/my.cnf.d/mariadb-server.cnf
The database configuration /etc/mysql/mariadb.conf.d/50-server.cnf must be adapted
The changes are added under [mysqld]. This works automatically with the following command:
sed -i '/\[mysqld\]/a max_allowed_packet=64M\ninnodb_log_file_size=256M\n' /etc/mysql/mariadb.conf.d/50-server.cnf
The database configuration /etc/my.cnf must be adapted
The changes are added under [mysqld]. This works automatically with the following command:
sed -i '/\[mysqld\]/a max_allowed_packet=64M\nquery_cache_size=32M\ninnodb_log_file_size=256M\ncharacter-set-server=utf8\ncollation-server=utf8_unicode_ci' /etc/my.cnf
[mysqld]
# …
max_allowed_packet=64M
query_cache_size=32M
innodb_log_file_size=256M
character-set-server=utf8
collation-server=utf8_unicode_ci
The basic configuration for the database server is then started. Assistance can be found under the command.
systemctl restart mariadb && `# Start the database server` \ mysql_secure_installation `# Start basic configuration`
Enter current password for root (enter for none): # Press enter without input. Set root password? # Y New password: # Enter new root password (keep it safe) Re-enter new password: # Repeat new root password Remove anonymous users? # Y Disallow root login remotely? # Y Remove test database and access to it? # Y Reload privilege tables now? # Y
Since MariaDB 10.4.3 logging in as DB user root is only possible in the shell and as superuser (additional information). For this reason the OTRS database has to be created by hand.
Note: Change the CustomPassword in the command mentioned below. The password is saved in clear text. You will be prompted to enter the root password for the database.
mysql -p -uroot -e "CREATE DATABASE otrs CHARACTER SET utf8; GRANT ALL PRIVILEGES ON otrs.* TO otrs@localhost IDENTIFIED BY 'CustomPassword' WITH GRANT OPTION; FLUSH PRIVILEGES;"
Firewall
The ports for HTTP and HTTPS must be opened so OTRS can be accessed from the browser:
firewall-cmd --zone=public --add-port=80/tcp --permanent && `# HTTP` \ firewall-cmd --zone=public --add-port=443/tcp --permanent && `# HTTPS` \ firewall-cmd --reload `# Apply the settings`
SELinux
OTRS requires a deactivated SELinux.
Note: If SELinux has to be used, exceptions are required. Since the status is set to permisse, all rules are logged that have to be added later as exceptions.
setenforce 0 && `# Deactivates SElinux for the current session` \ sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config `# Deactivates SElinux completely`
The current status can be showed with the sestatus command. Current mode should now show permissive.
3. OTRS installation
Download and linking
For historical reasons, the installation takes place in the /opt/ directory. In addition, a symbolic link is created to ensure the path always stays the same — even after updates.
cd /opt/ && `# Change the directory` \ curl https://download.znuny.org/releases/otrs-latest-6.0.tar.gz -P ./ | tar xvz > /dev/null 2>&1 && `# Download and extract the latest OTRS version` \ ln -fns $(ls | grep "otrs-6.0*") otrs `# link otrs-6.0.x to otrs`
For historical reasons, the installation takes place in the /opt/ directory.
cd /opt/ && `# Change the directory` \ curl https://download.znuny.org/releases/otrs-latest-6.0.tar.gz -P ./ | tar xvz > /dev/null 2>&1 && `# Download and extract the latest OTRS version` \ mv $(ls | grep "otrs-6.0*") otrs `# link otrs-6.0.x to otrs`
Installation of Perl modules
OTRS needs some additional Perl modules. This command shows all modules that are installed or needs to be installed:
/opt/otrs/bin/otrs.CheckModules.pl
You can either install each module by hand or run the following command which will automatically install all dependencies.
Note: It is strongly recommended to install optional modules in order to avoid future error messages and to obtain the best possible performance (with the exception of the Oracle, PostgreSQL and MSSQL connectors which are not required).
dnf install -y --skip-broken -d1 `/opt/otrs/bin/otrs.CheckModules.pl | grep -oP '(?<=").*(?=")'`
Not all modules were installed in the required version. cpanminus helps to catch up on that.
cpanm -n -q DateTime::TimeZone Mail::IMAPClient
apt install -y -qq `/opt/otrs/bin/otrs.CheckModules.pl | grep -oP "(?<=-y ).*(?='\.)"`
apt install -y -qq `/opt/otrs/bin/otrs.CheckModules.pl | grep -oP "(?<=-y ).*(?='\.)"`
Not all modules were installed in the required version. cpanminus helps to catch up on that.
cpanm -n -q IO::Socket::SSL
zypper -q -n -i install `/opt/otrs/bin/otrs.CheckModules.pl | grep -oP "(?<='cpan ).*(?=')" | sed 's/.*/perl(&)/'`
Not all modules were installed in the required version. cpanminus helps to catch up on that.
cpanm -n -q IO::Socket::SSL Net::SMTP Crypt::Random::Source
The output of the CheckModules script should now appear completely in green:
4. OTRS settings
Create Linux user
useradd -M -d /opt/otrs -G $(apachectl -S | grep -oP 'Group: name="\K[^"]+') -c 'OTRS user' otrs `# Create user in the Apache group`
Copy files and Apache settings
cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm && `# File for general OTRS settings` \ mv /opt/otrs/var/cron/aaa_base.dist /opt/otrs/var/cron/aaa_base && `# Crontab file` \ mv /opt/otrs/var/cron/otrs_daemon.dist /opt/otrs/var/cron/otrs_daemon && `# Crontab file` \ ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/httpd/conf.d/zzz_otrs.conf && `# Links the Apache setting to the correct directory` \ sed -i '/^LoadModule mpm_event_module modules\/mod_mpm_event.so/s/^/#/' /etc/httpd/conf.modules.d/00-mpm.conf && `# Disable Apache MPM event` \ sed -i '/^#LoadModule mpm_prefork_module modules\/mod_mpm_prefork.so/s/^#//' /etc/httpd/conf.modules.d/00-mpm.conf && `# Activate Apache MPM prefork` \ systemctl restart httpd && `# Restart the web server` \ systemctl enable httpd mariadb crond `# Enable autostart of all relevant services`
cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm && `# File for general OTRS settings` \ mv /opt/otrs/var/cron/aaa_base.dist /opt/otrs/var/cron/aaa_base && `# Crontab file` \ mv /opt/otrs/var/cron/otrs_daemon.dist /opt/otrs/var/cron/otrs_daemon && `# Crontab file` \ ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-available/zzz_otrs.conf && `# Links the Apache setting to the correct directory` \ a2ensite zzz_otrs && a2dismod mpm_event && a2enmod mpm_prefork && a2enmod headers && systemctl restart apache2 && `# Enable required modules` \ systemctl enable apache2 mariadb cron `# Enable autostart of all relevant services`
cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm && `# File for general OTRS settings` \ mv /opt/otrs/var/cron/aaa_base.dist /opt/otrs/var/cron/aaa_base && `# Crontab file` \ mv /opt/otrs/var/cron/otrs_daemon.dist /opt/otrs/var/cron/otrs_daemon && `# Crontab file` \ ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/conf.d/zzz_otrs.conf && `# Links the Apache setting to the correct directory` \ a2enmod access_compat && a2enmod headers && a2enmod perl && a2enmod deflate && a2enmod filter && systemctl restart apache2 && `# Enable required modules` \ systemctl enable apache2 mariadb cron `# Enable autostart of all relevant services`
Permissions and daemon
/opt/otrs/bin/otrs.SetPermissions.pl && `# Sets the Linux permissions` \ su -c "/opt/otrs/bin/otrs.Daemon.pl start > /dev/null 2>&1" -s /bin/bash otrs && `# Starts the OTRS daemon` \ su -c "/opt/otrs/bin/Cron.sh start" -s /bin/bash otrs `# Creates crontabs in Linux`
/opt/otrs/bin/otrs.SetPermissions.pl --web-group=www && `# Sets the Linux permissions` \ su -c "/opt/otrs/bin/otrs.Daemon.pl start > /dev/null 2>&1" -s /bin/bash otrs && `# Starts the OTRS daemon` \ su -c "/opt/otrs/bin/Cron.sh start" -s /bin/bash otrs `# Creates crontabs in Linux`
5. OTRS in the web interface
The rest of the installation is carried out in the web interface. Call up your domain with the addition /otrs/installer.pl.
For example, http://localhost/otrs/installer.pl, https://support.efflux.de/otrs/installer.pl or https://1.1.1.1/otrs/installer.pl.
Assistance can be found under the pictures.
Start the installation
Step 1: Accept the license
Step 2: Database Settings
Type MySQL (also applies to MariaDB) Installation type Create a new database for OTRS
Type MySQL (also applies to MariaDB) Installation type Use an existing database for OTRS
User DB user who can create databases (root by default) Password Password of the DB user Host 127.0.0.1, localhost or address of a remote server User Name of the new DB user Password Password of the new DB user; the generated password can be changed (stored as plain text) Database Name of the new database
User otrs Password Password of the DB user Host 127.0.0.1, localhost or address of a remote server Database name otrs
Step 3: General Specifications and Mail Settings
SystemID Unique ID of the system; important when multiple OTRS systems communicate with each other System FQDN FQDN under which the page should be accessed Organization Your organization LogModule When writing to a file: make sure the OTRS user has write permissions (e.g. if outside of /opt/otrs/var/) Default Language Of the users CheckMXRecord See displayed information
These settings can be changed in the admin area.
Step 4: Finish
The installation is complete. Save the password for the root@localhost user.
Restart
A restart ensures that all services start correctly.
reboot
6. User settings in OTRS
In future, you will use the ending /otrs/index.pl to log in (we will show you how to change this in another blog entry).
After you have logged in with root@localhost, you should change the generated password. You can do this by clicking on the user icon in the top left corner, Personal preferences and then User Profile.
You should no longer work with this user in the future. Write down the password carefully and create your own agent with full RW (Read and Write) permissions in the admin area and log in with your new account.
Congratulations, your OTRS system has been successfully installed and is ready for use.
Please feel free to leave a comment if you have any questions or suggestions.
You can also contact us if you need professional support, development or anything else OTRS related.
