Гид по технологиям

Установка OTRS 5 на Ubuntu 16.04 с PostgreSQL

• 7 min read • Инструкции • Обновлено 21 Nov 2025
Установка OTRS 5 на Ubuntu 16.04 с PostgreSQL
Установка OTRS 5 на Ubuntu 16.04 с PostgreSQL

О чём эта инструкция

Эта пошаговая инструкция показывает, как установить и настроить OTRS (Open-source Ticket Request System) версии 5 на Ubuntu 16.04. В руководстве используется PostgreSQL как СУБД и Apache в качестве веб-сервера. Подход применим для локальных серверов и небольших продакшен-инсталляций; для корпоративных развёртываний добавьте уровень отказоустойчивости и бэкапа.

Важно: инструкция ориентирована на OTRS 5 и Ubuntu 16.04. На более новых дистрибутивах или версиях OTRS возможны отличия в пакетах и путях.

Быстрые требования перед началом

  • Ubuntu 16.04.
  • Минимум 2 ГБ оперативной памяти (рекомендуется 4 ГБ для администрирования и тестов).
  • Привилегии root или sudo.
  • Доступ по SSH к серверу.

Ключевые понятия (одно предложение)

  • OTRS: веб-приложение на Perl для обработки тикетов, запросов поддержки и управления ИТ-услугами.
  • PostgreSQL: реляционная база данных, используемая как хранилище OTRS.
  • Apache: веб-сервер, под которым запускается OTRS.

Шаг 1 — Установка Apache и PostgreSQL

Подключитесь к серверу по SSH:

ssh [email protected]

Обновите локальные метаданные репозиториев:

sudo apt-get update

Установите Apache и PostgreSQL вместе с модулем Perl для Apache:

sudo apt-get install -y apache2 libapache2-mod-perl2 postgresql

Проверьте, работают ли службы и открыты ли порты (80 для Apache, 5432 для PostgreSQL):

netstat -plntu

Вы должны увидеть, что порт 80 занят apache, а 5432 — postgresql.

Важно: на серверах с UFW или внешним фаерволом откройте соответствующие порты только после оценки угроз и необходимости внешнего доступа.

Шаг 2 — Установка Perl-модулей

OTRS написан на Perl, поэтому нужны дополнительные модули. Установите их из репозитория:

sudo apt-get install -y libapache2-mod-perl2 libdbd-pg-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 libarchive-zip-perl libcrypt-eksblowfish-perl libcrypt-ssleay-perl libencode-hanextra-perl libjson-xs-perl libmail-imapclient-perl libtemplate-perl libtemplate-perl libtext-csv-xs-perl libxml-libxml-perl libxml-libxslt-perl libpdf-api2-simple-perl libyaml-libyaml-perl

После установки активируйте модуль Perl для Apache и перезапустите службу:

a2enmod perl
systemctl restart apache2

Проверьте загруженные модули Apache:

apachectl -M | sort

Модуль Apache Perl активирован

Вы должны увидеть perl_module в списке Loaded Modules.

Шаг 3 — Создание системного пользователя OTRS

Для безопасности запустите OTRS под отдельным системным пользователем, а не под root.

Создайте пользователя otrs с домашней директорией /opt/otrs:

useradd -r -d /opt/otrs -c 'OTRS User' otrs

Параметры:

  • -r: системный аккаунт
  • -d /opt/otrs: домашняя директория
  • -c: комментарий

Добавьте пользователя otrs в группу www-data (Apache работает под этой группой):

usermod -a -G www-data otrs

Проверьте наличие пользователя в /etc/passwd:

grep -rin otrs /etc/passwd

Теперь у вас есть отдельный профиль пользователя для запуска OTRS.

Шаг 4 — Создание и настройка базы данных PostgreSQL

Войдите под системным пользователем postgres и откройте psql:

su - postgres
psql

Создайте роль (пользователя) и базу данных для OTRS. В примере пароль — myotrspw; в продакшене используйте стойкий пароль и управление секретами.

create user otrs password 'myotrspw' nosuperuser;
create database otrs owner otrs;
\q

Отредактируйте файл аутентификации PostgreSQL, чтобы разрешить подключение для роли otrs. Откройте /etc/postgresql/9.5/main/pg_hba.conf (путь на Ubuntu 16.04):

vim /etc/postgresql/9.5/main/pg_hba.conf

Добавьте записи (вставьте после соответствующей строки, например после строки 84 в примере):

local   otrs            otrs                                    password
host    otrs            otrs            127.0.0.1/32            password

Сохраните и перезапустите PostgreSQL:

exit
systemctl restart postgresql

Настройка аутентификации PostgreSQL для OTRS

После перезапуска PostgreSQL готов к использованию OTRS.

PostgreSQL настроен для OTRS

Шаг 5 — Скачивание и первоначальная конфигурация OTRS

Перейдите в /opt и скачайте релиз OTRS 5.0.16 (в примере используется 5.0.16 — проверьте доступные версии на сайте OTRS):

cd /opt/
wget http://ftp.otrs.org/pub/otrs/otrs-5.0.16.tar.gz

Распакуйте архив, переименуйте директорию и назначьте владельца otrs:

tar -xzvf otrs-5.0.16.tar.gz
mv otrs-5.0.16 otrs
chown -R otrs:otrs otrs

Проверьте зависимости и модули командой проверки OTRS:

/opt/otrs/bin/otrs.CheckModules.pl

Все результаты должны быть OK — это подтверждает, что система готова к установке.

Проверка модулей OTRS перед установкой

Скопируйте конфигурационный шаблон и отредактируйте его:

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

Измените пароль базы данных (строка примерно 42):

$Self->{DatabasePw} = 'myotrspw';

Отключите MySQL DSN (закомментируйте строку) и включите PostgreSQL DSN:

# $Self->{DatabaseDSN} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost};";
$Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};";

Далее откройте файл запуска Apache (скрипт старта) и подключите поддержку PostgreSQL:

vim scripts/apache2-perl-startup.pl

Раскомментируйте строки, отвечающие за DBD::Pg и модуль базы данных:

# enable this if you use postgresql
use DBD::Pg ();
use Kernel::System::DB::postgresql;

Проверьте корректность CGI-скриптов Perl:

perl -cw /opt/otrs/bin/cgi-bin/index.pl
perl -cw /opt/otrs/bin/cgi-bin/customer.pl
perl -cw /opt/otrs/bin/otrs.Console.pl

В результате вы должны увидеть OK для каждого файла.

Проверка скриптов OTRS — OK

Шаг 6 — Импорт примерной базы данных

OTRS поставляется с примерной схемой и начальными данными в каталоге scripts/database. Импортируйте их в созданную базу otrs.

su - postgres
cd /opt/otrs/
psql -U otrs -W -f scripts/database/otrs-schema.postgresql.sql otrs
psql -U otrs -W -f scripts/database/otrs-initial_insert.postgresql.sql otrs
psql -U otrs -W -f scripts/database/otrs-schema-post.postgresql.sql otrs

Введите пароль myotrspw при запросе.

Шаг 7 — Запуск OTRS и настройка Apache

Установите права на файлы OTRS для пользователя и группы www-data:

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

Создайте символическую ссылку конфигурации Apache и активируйте виртуальный хост:

ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-available/otrs.conf
a2ensite otrs
systemctl restart apache2

Проверьте, что Apache стартовал без ошибок. Классическая проблема — конфликт портов или недоступные модули Perl.

Шаг 8 — Настройка cron для OTRS

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

Войдите под пользователем otrs и перейдите в директорию var/cron:

su - otrs
cd var/cron/
pwd

Скопируйте шаблоны cron (.dist) в рабочие скрипты:

for foo in *.dist; do cp $foo `basename $foo .dist`; done

Выйдите в root и запустите cron-демон OTRS:

exit
/opt/otrs/bin/Cron.sh start otrs

Cron OTRS включён

Создайте задачу для PostMaster (получение почты каждые 2 минуты) под пользователем otrs:

su - otrs
crontab -e

Вставьте:

*/2 * * * *    $HOME/bin/otrs.PostMasterMailbox.pl >> /dev/null

Сохраните и выйдите. Перезапустите демонов OTRS:

bin/otrs.Daemon.pl stop
bin/otrs.Daemon.pl start

OTRS получает почту

Шаг 9 — Проверка веб-интерфейса

Откройте в браузере:

http://192.168.33.14/otrs/

Войдите под учётной записью root@localhost с паролем root (значение по умолчанию в примере). Система будет предупреждать о использовании дефолтной учётной записи — создайте нового администратора.

Главная страница OTRS после установки

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

Панель администратора OTRS без ошибок

Для клиентской части откройте:

http://192.168.33.14/otrs/customer.pl

Войдите как customer, чтобы проверить создание тикета.

Страница входа клиента OTRS

Страница создания тикета клиентом

Шаг 10 — Отладка и типичные проблемы

Если демоны OTRS не запускаются, включите режим отладки:

su - otrs
cd /opt/otrs/
bin/otrs.Daemon.pl stop
bin/otrs.Daemon.pl start --debug

Частые ошибки и способы их выявления:

  • Проблемы с правами на файлы — проверьте командой otrs.SetPermissions.pl.
  • Неподключённые Perl-модули — повторно запустите /opt/otrs/bin/otrs.CheckModules.pl.
  • Ошибки Apache — проверьте журналы: /var/log/apache2/error.log.
  • Ошибки подключения к БД — проверьте pg_hba.conf и параметры DSN в Kernel/Config.pm.

Runbook для быстрой диагностики «OTRS Daemon is not running»

  1. su - otrs
  2. cd /opt/otrs/
  3. bin/otrs.Daemon.pl start –debug (посмотреть вывод)
  4. tail -n 200 /var/log/syslog и /var/log/apache2/error.log
  5. /opt/otrs/bin/otrs.CheckModules.pl
  6. Проверить права: /opt/otrs/bin/otrs.SetPermissions.pl –otrs-user=www-data –web-group=www-data

Дополнительные рекомендации и лучшие практики

Безопасность и hardening

  • Не используйте дефолтные пароли (root@localhost/root, myotrspw) в продакшене.
  • Закройте доступ к административной панели по IP или включите двухфакторную аутентификацию, если доступно.
  • Настройте HTTPS (TLS) в Apache для всех веб-интерфейсов.
  • Периодически обновляйте пакеты ОС и модули Perl.

Резервное копирование и восстановление

  • Бэкап базы данных: pg_dump -U otrs otrs > otrs-YYYYMMDD.sql
  • Бэкап конфигурации: копируйте /opt/otrs/Kernel/Config.pm и каталог /opt/otrs/var
  • План восстановления: восстановить БД, развернуть файлы и пересоздать права.

Советы по производительности

  • Для большего количества агентов и тикетов увеличьте RAM до 4–8 ГБ.
  • На высоких нагрузках рассмотрите выделение отдельного сервера для БД.

Роли и чек-листы (кратко)

  • Системный администратор:
    • Установить пакеты, создать пользователя otrs, настроить Apache и PostgreSQL.
    • Настроить бэкапы и мониторинг.
  • Администратор OTRS (приложение):
    • Настроить скрипты cron, шаблоны писем, очереди и права агентов.
    • Тестировать создание/закрытие тикетов.

Критерии приёмки

  • Веб-интерфейс OTRS доступен по URL и отображает страницу входа.
  • Вход в панель администратора работает (создан новый админ).
  • Cron-скрипты запускаются, PostMaster получает почту (лог демонстрации).
  • Импорт примерной БД прошёл без ошибок.

Мини-методология развёртывания (SOP)

  1. Подготовка сервера и установка зависимостей.
  2. Создание пользователя и базы данных.
  3. Установка OTRS и проверка модулей.
  4. Импорт схемы и данных.
  5. Настройка Apache, прав и Cron.
  6. Тестирование и перевод на HTTPS.
  7. Включение мониторинга и бэкапа.

Когда этот подход не подходит

  • Для больших корпоративных инсталляций с высокой нагрузкой лучше использовать кластерную БД и балансировщик нагрузки.
  • На новых версиях Ubuntu пути и пакеты отличаются — проверьте совместимость версии OTRS с ОС.

Миграционные заметки

  • При переносе на Ubuntu 18.04/20.04 проверьте версии Perl и пакетов; возможно, потребуется CPAN для установки некоторых модулей.
  • При смене СУБД (MySQL/MariaDB) — скорректируйте DatabaseDSN в Kernel/Config.pm и повторно импортируйте совместимую схему.

Тестовые кейсы и приёмка

  • Создать тикет через customer.pl и убедиться, что он появляется в админке.
  • Отправить письмо на адрес PostMaster и подтвердить создание тикета.
  • Перезапустить демоны OTRS и проверить запуск без ошибок.

Диаграмма принятия решения (Mermaid)

flowchart TD
  A[Начало установки] --> B{Ubuntu 16.04?}
  B -- Да --> C[Установить Apache и PostgreSQL]
  B -- Нет --> D[Проверить совместимость пакетов]
  C --> E[Установить Perl-модули]
  E --> F[Скачать OTRS и распаковать]
  F --> G[Создать DB otrs и роль otrs]
  G --> H[Импортировать схемы]
  H --> I[Настроить Apache и права]
  I --> J[Настроить cron и демоны]
  J --> K[Тестирование]
  K --> L{Ошибки?}
  L -- Да --> M[Отладка логов и прав]
  L -- Нет --> Z[Завершено]

Частые ссылки и источники


Резюме

OTRS — мощная OSS-система тикетов на Perl. Установка на Ubuntu 16.04 с PostgreSQL и Apache требует установки системных пакетов, большинства Perl-модулей, создания отдельного системного пользователя, настройки БД и корректной настройки прав и cron. После базовой установки обязательно поменяйте пароли, включите HTTPS и настройте резервное копирование.

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро