Установка 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
Вы должны увидеть 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.

Шаг 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 — это подтверждает, что система готова к установке.

Скопируйте конфигурационный шаблон и отредактируйте его:
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 для каждого файла.

Шаг 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
Создайте задачу для 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
Шаг 9 — Проверка веб-интерфейса
Откройте в браузере:
Войдите под учётной записью root@localhost с паролем root (значение по умолчанию в примере). Система будет предупреждать о использовании дефолтной учётной записи — создайте нового администратора.

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

Для клиентской части откройте:
http://192.168.33.14/otrs/customer.pl
Войдите как customer, чтобы проверить создание тикета.


Шаг 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»
- su - otrs
- cd /opt/otrs/
- bin/otrs.Daemon.pl start –debug (посмотреть вывод)
- tail -n 200 /var/log/syslog и /var/log/apache2/error.log
- /opt/otrs/bin/otrs.CheckModules.pl
- Проверить права: /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)
- Подготовка сервера и установка зависимостей.
- Создание пользователя и базы данных.
- Установка OTRS и проверка модулей.
- Импорт схемы и данных.
- Настройка Apache, прав и Cron.
- Тестирование и перевод на HTTPS.
- Включение мониторинга и бэкапа.
Когда этот подход не подходит
- Для больших корпоративных инсталляций с высокой нагрузкой лучше использовать кластерную БД и балансировщик нагрузки.
- На новых версиях 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[Завершено]Частые ссылки и источники
- http://wiki.otterhub.org/index.php?title=Installation_on_Debian_6_with_Postgres
- http://www.geoffstratton.com/otrs-installation-5011-ubuntu-1604
- https://www.linkedin.com/pulse/ticketing-system-otrs-ubuntu-1404-muhammad-faiz-khan
Резюме
OTRS — мощная OSS-система тикетов на Perl. Установка на Ubuntu 16.04 с PostgreSQL и Apache требует установки системных пакетов, большинства Perl-модулей, создания отдельного системного пользователя, настройки БД и корректной настройки прав и cron. После базовой установки обязательно поменяйте пароли, включите HTTPS и настройте резервное копирование.
Примечание: сохраняйте оригинальные конфигурационные файлы и тестируйте установку в изолированной среде перед переносом в рабочую.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента