Установка OTRS на Ubuntu 22.04/24.04: Пошаговая инструкция | AdminWiki

Установка OTRS на Ubuntu: Полное руководство для DevOps и системных администраторов

18 декабря 2025 9 мин. чтения #OTRS #devops #linux #nginx #postgresql #ubuntu #система тикетов #установка
Содержание статьи

Представь, что тебе нужно развернуть надежную систему управления заявками для поддержки клиентов или IT-отдела. OTRS (Open-source Ticket Request System) — это мощное решение, которое справляется с этой задачей. Давай разберем, как выполнить установку OTRS на Ubuntu, настроить все компоненты и запустить систему в работу. Это руководство подойдет как для Ubuntu 22.04 LTS, так и для 24.04 LTS.

Предварительные требования и подготовка сервера

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

  • Сервер с Ubuntu 22.04/24.04 (минимум 2 ГБ RAM, 20 ГБ диска)
  • Доступ с правами root или пользователя с sudo
  • Статический IP-адрес или доменное имя, настроенное на сервер
  • Базовые знания работы с терминалом Linux
Рекомендую выполнять все команды из-под пользователя с sudo-правами, а не root, для большей безопасности. Если ты зашел под root, создай отдельного пользователя командой adduser deploy и добавь его в группу sudo: usermod -aG sudo deploy.

Обновление системы и установка базовых пакетов

Первым делом обновим списки пакетов и установим необходимые зависимости для корректной работы OTRS на Ubuntu.

bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget gnupg software-properties-common apt-transport-https ca-certificates

Установка и настройка базы данных для OTRS

OTRS поддерживает MySQL/MariaDB и PostgreSQL. Мы выберем PostgreSQL как более надежную и производительную СУБД для нашей системы управления заявками.

Установка PostgreSQL

bash
sudo apt install -y postgresql postgresql-contrib
sudo systemctl start postgresql
sudo systemctl enable postgresql

Создание базы данных и пользователя OTRS

Теперь создадим отдельную базу данных и пользователя для системы. Это важный шаг для безопасности и изоляции данных.

bash
sudo -u postgres psql -c "CREATE USER otrs WITH PASSWORD 'StrongPassword123!';
CREATE DATABASE otrs OWNER otrs;
\c otrs
CREATE EXTENSION IF NOT EXISTS pg_trgm;
GRANT ALL PRIVILEGES ON DATABASE otrs TO otrs;"
Внимание! Обязательно замени 'StrongPassword123!' на свой сложный пароль. Запиши его — он понадобится при настройке OTRS. Не используй простые пароли в продакшн-среде!

Установка веб-сервера и PHP

OTRS требует веб-сервер и определенную версию PHP. Мы будем использовать Nginx как более производительную альтернативу Apache.

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

bash
sudo apt install -y php8.3-fpm php8.3-cli php8.3-common \
php8.3-curl php8.3-gd php8.3-intl php8.3-json php8.3-mbstring \
php8.3-mysql php8.3-pgsql php8.3-soap php8.3-xml php8.3-zip \
php8.3-bcmath php8.3-imap php8.3-ldap

Настройка PHP для OTRS

Отредактируем основные настройки PHP для оптимальной работы системы управления заявками:

bash
sudo nano /etc/php/8.3/fpm/php.ini

Найди и измени следующие параметры:

config
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 50M
post_max_size = 55M
date.timezone = Europe/Moscow
Укажи свой часовой пояс вместо Europe/Moscow. Список доступных таймзон можно найти в документации PHP или командой timedatectl list-timezones.

Установка и настройка Nginx

bash
sudo apt install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx

Установка OTRS на Ubuntu

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

Скачивание и распаковка OTRS

bash
cd /opt
sudo wget https://ftp.otrs.org/pub/otrs/otrs-latest.tar.gz
sudo tar -xzf otrs-latest.tar.gz
sudo mv otrs-* otrs
sudo rm otrs-latest.tar.gz

Создание пользователя и настройка прав

Для безопасности создадим отдельного системного пользователя для OTRS:

bash
sudo useradd -d /opt/otrs -c 'OTRS user' otrs
sudo usermod -g www-data otrs
sudo chown -R otrs:www-data /opt/otrs
sudo chmod -R 755 /opt/otrs

Настройка конфигурации OTRS

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

bash
cd /opt/otrs
sudo cp Kernel/Config.pm.dist Kernel/Config.pm
sudo nano Kernel/Config.pm

Найди и измени следующие параметры (пример для PostgreSQL):

config
$Self->{DatabaseHost} = 'localhost';
$Self->{Database} = 'otrs';
$Self->{DatabaseUser} = 'otrs';
$Self->{DatabasePw} = 'StrongPassword123!';
$Self->{DatabaseDSN} = "DBI:Pg:dbname=otrs;host=localhost";

Инициализация базы данных OTRS

bash
sudo -u otrs /opt/otrs/bin/otrs.CheckModules.pl
sudo -u otrs /opt/otrs/bin/otrs.Console.pl Maint::Database::Check
sudo -u otrs /opt/otrs/bin/otrs.Console.pl Maint::Database::Create

Настройка Nginx для работы с OTRS

Создадим виртуальный хост для нашей системы управления заявками:

bash
sudo nano /etc/nginx/sites-available/otrs
config
server {
    listen 80;
    server_name otrs.your-domain.com;
    root /opt/otrs/var/httpd/htdocs;
    index index.pl index.html;

    location / {
        try_files $uri @otrs;
    }

    location @otrs {
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME /opt/otrs/bin/cgi-bin/index.pl;
        fastcgi_param QUERY_STRING $query_string;
        include fastcgi_params;
    }

    location ~ ^/(otrs|index.pl) {
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME /opt/otrs/bin/cgi-bin/index.pl;
        include fastcgi_params;
    }

    location ~ \.pl$ {
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
        try_files $uri =404;
    }

    client_max_body_size 50M;
}

Активируем конфигурацию и перезапустим Nginx:

bash
sudo ln -s /etc/nginx/sites-available/otrs /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Настройка Cron-заданий и системных служб

Для корректной работы OTRS необходимо настроить автоматические задачи (cron jobs):

bash
sudo -u otrs /opt/otrs/bin/Cron.sh start
sudo cp /opt/otrs/var/cron/otrs /etc/cron.d/otrs
sudo systemctl restart cron

Запуск OTRS Daemon

Daemon OTRS отвечает за фоновые процессы, такие как отправка email и выполнение асинхронных задач:

bash
sudo -u otrs /opt/otrs/bin/otrs.Daemon.pl start
sudo /opt/otrs/bin/otrs.Daemon.pl status

Завершение установки через веб-интерфейс

Теперь открой браузер и перейди по адресу твоего сервера (http://otrs.your-domain.com или IP-адрес). Ты увидишь мастер настройки OTRS. Выполни следующие шаги:

  1. Проверь системные требования (все должно быть зеленым)
  2. Настрой подключение к базе данных (данные уже в Config.pm)
  3. Создай административную учетную запись
  4. Настрой почтовый сервер для входящих/исходящих писем
  5. Заверши установку и войди в систему

Настройка SSL/TLS (HTTPS)

Для защиты данных обязательно настрой SSL-сертификат. Используем Let's Encrypt:

bash
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d otrs.your-domain.com

Certbot автоматически обновит конфигурацию Nginx для использования HTTPS.

Оптимизация и мониторинг OTRS

Настройка кэширования

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

bash
sudo -u otrs /opt/otrs/bin/otrs.Console.pl Admin::Config::Update \
--setting-name 'Cache::Module' \
--value 'Kernel::System::Cache::Redis' \
--no-deploy

Мониторинг системы

Сравним основные параметры мониторинга для OTRS:

Метрика Нормальное значение Критическое значение Команда проверки
Загрузка CPU < 70% > 90% top -bn1
Использование RAM < 80% > 95% free -h
Daemon статус Running Stopped /opt/otrs/bin/otrs.Daemon.pl status
Дисковое пространство < 85% > 95% df -h

Часто задаваемые вопросы (FAQ)

Как обновить OTRS до новой версии?

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

Почему не отправляются email из OTRS?

Проверь настройки почтового сервера в админ-панели OTRS (Admin → System Configuration → Sendmail). Убедись, что SMTP-сервер доступен, порты не заблокированы фаерволом, и правильно указаны учетные данные. Также проверь логи: /opt/otrs/var/log/otrs.log.

Как настроить резервное копирование OTRS?

Создай скрипт резервного копирования, который будет делать дамп базы данных и архивировать директорию /opt/otrs. Добавь задание в cron для ежедневного выполнения. Пример скрипта:

bash
#!/bin/bash
BACKUP_DIR="/backup/otrs"
DATE=$(date +%Y%m%d_%H%M%S)

# Дамп базы данных
pg_dump -U otrs otrs > $BACKUP_DIR/otrs_db_$DATE.sql

# Архивирование файлов OTRS
tar -czf $BACKUP_DIR/otrs_files_$DATE.tar.gz /opt/otrs/

# Удаление старых бэкапов (старше 30 дней)
find $BACKUP_DIR -type f -mtime +30 -delete

Как увеличить производительность OTRS при высокой нагрузке?

Для оптимизации производительности системы управления заявками:

  1. Настройте кэширование через Redis или Memcached
  2. Оптимизируйте конфигурацию PostgreSQL (shared_buffers, work_mem)
  3. Увеличьте параметры PHP-FPM (pm.max_children, pm.start_servers)
  4. Включите сжатие gzip в Nginx
  5. Регулярно очищайте старые записи в базе данных

Как решить проблему с правами доступа к файлам?

Если возникают ошибки прав доступа, выполни команды:

bash
sudo chown -R otrs:www-data /opt/otrs
sudo chmod -R 755 /opt/otrs
sudo find /opt/otrs -type f -exec chmod 644 {} \;
sudo find /opt/otrs -type d -exec chmod 755 {} \;

Заключение

Ты успешно установил и настроил OTRS на Ubuntu! Теперь у тебя есть полнофункциональная система управления заявками, готовая к работе. Помни о регулярном обновлении системы, мониторинге производительности и резервном копировании данных. OTRS — мощный инструмент, который при правильной настройке станет надежным помощником в организации работы службы поддержки или IT-отдела.

Совет от ментора: Для продакшн-среды обязательно настрой мониторинг (например, Zabbix или Prometheus) и систему алертинга для ключевых метрик OTRS. Также рассмотри возможность настройки репликации базы данных для отказоустойчивости.
Поделиться:
Сохранить гайд? В закладки браузера