Установка OTRS на Ubuntu Server
Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить OTRS на Ubuntu Server.
OTRS Community Edition - это бесплатная система управления сервисами с открытым исходным кодом, которую часто используют службы управления ИТ-услугами, службы обслуживания клиентов и корпоративной безопасности, чтобы структурировать свои коммуникации и задачи.
Обратите внимание, OTRS AG - компания, стоящая за OTRS, больше не поддерживает OTRS Community Edition. Инициативу дальнейшего развития OTRS Community Edition перехватила компания Znuny.
Вы можете установить старую версию OTRS на Ubuntu Server, следуя данному руководству, или установить новую версию OTRS от компании Znuny, прочитав мое руководство “Установка OTRS с Docker Compose”.
В этом руководстве мы будем рассматривать тот случай, когда у вас уже есть сервер с установленной на нем операционной системой Ubuntu Server 22.04 LTS.
Подробно о том, как установить Ubuntu Server 22.04 LTS, вы можете прочитать в моем руководстве “Установка Ubuntu Server 22.04 LTS”.
Кроме того, на сервер должен быть установлен OpenSSH, а также открыт 22 порт, чтобы иметь возможность подключаться к серверу по протоколу SSH.
Для установки OpenSSH на сервер вы можете воспользоваться командой:
sudo apt install openssh-server
Если вы планируете подключиться к серверу, используя операционную систему Windows, то можете воспользоваться PuTTY или MobaXterm.
В данном руководстве рассматривается подключение к серверу при помощи терминального эмулятора iTerm2, установленного на операционную систему macOS.
Обратите внимание, вам потребуется открыть следующие порты TCP для доступа к вашему серверу:
- TCP порт 80 - для получения бесплатного криптографического сертификата через центр сертификации Let’s Encrypt.
- TCP порт 443 - для доступа к веб-интерфейсу OTRS.
Подключаемся к серверу, на который планируется установить OTRS.
Обновим локальный индекс пакетов до последних изменений в репозиториях с помощью команды:
sudo apt update
В данном руководстве рассматривается получение бесплатного криптографического сертификата через центр сертификации Let’s Encrypt. Для получения и последующего обновления бесплатного SSL-сертификата мы будем использовать программный клиент Certbot, который призван максимально упростить получение и обновление сертификата через центр сертификации Let’s Encrypt.
Теперь установим пакеты, необходимые для работы OTRS, с помощью команды:
sudo apt install -y postgresql apache2 zip unzip build-essential bash-completion libapache2-mod-perl2 libdbd-pg-perl libtimedate-perl libnet-dns-perl libnet-ldap-perl libio-socket-ssl-perl libpdf-api2-perl libsoap-lite-perl libtext-csv-xs-perl libjson-xs-perl libapache-dbi-perl libxml-libxml-perl libxml-libxslt-perl libyaml-perl libarchive-zip-perl libcrypt-eksblowfish-perl libencode-hanextra-perl libmail-imapclient-perl libtemplate-perl libdigest-md5-perl libcrypt-ssleay-perl libdatetime-perl libauthen-ntlm-perl libpdf-api2-simple-perl libgd-text-perl libgd-graph-perl libyaml-libyaml-perl libmoo-perl apt-transport-https certbot python3-certbot-apache
Обратите внимание, в данном руководстве в качестве системы для управления базами данных будет использоваться PostgreSQL, а в качестве веб-сервера - Apache.
Теперь необходимо создать базу данных, которую в дальнейшем будет использовать OTRS, а также пользователя с необходимыми правами в этой базе данных.
Переключаемся на пользователя “postgres”, который обладает правами администратора в PostgreSQL, с помощью команды:
sudo su - postgres
Далее переключаемся на командную строку PostgreSQL с помощью команды:
psql
Создаем нового пользователя с помощью команды:
CREATE USER otrsdbuser WITH PASSWORD 'dktLkE(UvUWupy3Y7d((9b';
В данном руководстве в качестве имени пользователя будет использоваться “otrsdbuser”, с паролем “dktLkE(UvUWupy3Y7d((9b”.
Создаем новую базу данных и выдаем на нее права ранее созданному пользователю с помощью команды:
CREATE DATABASE "otrsdb" WITH OWNER "otrsdbuser" ENCODING 'UTF8';
В данном руководстве в качестве имени для базы данных будет использоваться “otrsdb”.
Выходим из командной строки “PostgreSQL” с помощью команды:
\q
Выходим из-под пользователя “postgres” с помощью команды:
exit
Теперь загрузим архив “rel-6_0.zip”, содержащий файлы для работы OTRS, с помощью команды:
wget https://github.com/OTRS/otrs/archive/refs/heads/rel-6_0.zip
Распакуем загруженный архив “otrs-latest.tar.gz” с помощью команды:
unzip rel-6_0.zip
Теперь удалим ранее загруженный архив “otrs-latest.tar.gz”, содержащий файлы для работы OTRS, с помощью команды:
sudo rm -f rel-6_0.zip
Переместим и переименуем каталог с файлами для работы OTRS, полученный из архива, с помощью команды:
sudo mv otrs-* /opt/otrs
Теперь создадим пользователя “otrs”, который будет использоваться для запуска OTRS, с помощью команды:
sudo useradd -d /opt/otrs -c 'OTRS user' otrs
Далее добавим нового пользователя в группу “www-data” с помощью команды:
sudo usermod -G www-data otrs
Подготовим конфигурационный файл OTRS с помощью команды:
sudo cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm
Теперь необходимо внести изменения в конфигурационный файл OTRS, открыв его в текстовом редакторе, с помощью команды:
sudo vim /opt/otrs/Kernel/Config.pm
Нажимаем на кнопку “i”, чтобы перейти в режим редактирования, находим параметр $Self->{‘DatabaseDSN’} = “DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost}”; и закомментируем его, поставив перед параметром символ “#”.
Затем находим параметр $Self->{DatabaseDSN} = “DBI:Pg:dbname=$Self->{Database};”; и раскомментируем его, убрав перед параметром символ “#”.
Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.
Теперь необходимо внести изменения в конфигурационный файл Apache, открыв его в текстовом редакторе, с помощью команды:
sudo vim /opt/otrs/scripts/apache2-perl-startup.pl
Затем находим параметры “use DBD::Pg ();” и “use Kernel::System::DB::postgresql;”, а затем раскомментируем их, убрав перед параметрами символ “#”.
Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.
Назначим корректные права для пользователя “otrs” на файлы и каталоги с помощью команды:
sudo chown -R otrs:otrs /opt/otrs
Теперь необходимо проверить, что все модули Perl, необходимые для работы OTRS, установлены и не требуют обновления.
Проведем проверку модулей Perl, необходимых для работы OTRS, с помощью команды:
sudo /opt/otrs/bin/otrs.CheckModules.pl
Все модули Perl, необходимые для работы OTRS, установлены и не требуют обновления.
Далее необходимо провести еще несколько проверок на наличие недостающих зависимостей и модулей Perl.
Выполняем первую проверку на наличие недостающих зависимостей и модулей Perl с помощью команды:
sudo perl -cw /opt/otrs/bin/cgi-bin/index.pl
Первая проверка на наличие недостающих зависимостей и модулей Perl прошла успешно.
Выполняем вторую проверку на наличие недостающих зависимостей и модулей Perl с помощью команды:
sudo perl -cw /opt/otrs/bin/cgi-bin/customer.pl
Вторая проверка на наличие недостающих зависимостей и модулей Perl прошла успешно.
Выполняем третью проверку на наличие недостающих зависимостей и модулей Perl с помощью команды:
sudo perl -cw /opt/otrs/bin/otrs.Console.pl
Третья проверка на наличие недостающих зависимостей и модулей Perl прошла успешно.
Настроим Apache для последующей работы с панелью управления OTRS.
Включаем модуль веб-сервера Apache под названием “headers” с помощью команды:
sudo a2enmod headers
Обратите внимание, модуль “headers” можно использовать для добавления более специфических параметров “Cache-Control”.
Включаем модуль веб-сервера Apache под названием “rewrite” с помощью команды:
sudo a2enmod rewrite
Обратите внимание, модуль “rewrite” является одним из самых часто используемых модулей веб-сервера Apache и предоставляет гибкий и мощный способ манипулирования URL-адресами.
Обратите внимание, для корректной работы OTRS еще потребуется модули Apache, такие как “perl”, “deflate” и “filter”. Эти модули должны быть включены по умолчанию, но вы можете проверить это с помощью команд:
sudo a2enmod perl
sudo a2enmod deflate
sudo a2enmod filter
Теперь нужно создать четыре файла виртуальных хостов (в Nginx называется блок), с которыми в дальнейшем будет работать OTRS.
Два файла виртуальных хостов потребуются для обеспечения доступа к OTRS по HTTPS, а также для перенаправления агентов с субдомена otrs.heyvaldemar.net на адрес для работы агентов https://otrs.heyvaldemar.net/otrs/index.pl.
Два других файла виртуальных хостов потребуются для обеспечения доступа к OTRS по HTTPS, а также для перенаправления клиентов с субдомена support.heyvaldemar.net на адрес для работы клиентов https://otrs.heyvaldemar.net/otrs/customer.pl.
В данном руководстве для доступа агентов к веб-интерфейсу OTRS из сети Интернет будет использоваться субдомен otrs.heyvaldemar.net, а для доступа клиентов - субдомен support.heyvaldemar.net. Вам нужно будет указать ваши домены или субдомены, по которым OTRS будет доступен из сети Интернет для агентов и клиентов.
Создадим первый файл виртуального хоста, воспользовавшись текстовым редактором, с помощью команды:
sudo vim /etc/apache2/sites-available/otrs.heyvaldemar.net.conf
Нажимаем на кнопку “i”, чтобы перейти в режим редактирования, затем вставляем следующую конфигурацию для работы веб-сервера.
В данном руководстве для доступа агентов к веб-интерфейсу OTRS из сети Интернет будет использоваться субдомен otrs.heyvaldemar.net, с которого агенты будут перенаправляться на адрес https://otrs.heyvaldemar.net/otrs/index.pl. Вам нужно будет указать ваш домен или субдомен, по которому OTRS будет доступен из сети Интернет для агентов.
Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.
Создадим второй файл виртуального хоста, воспользовавшись текстовым редактором, с помощью команды:
sudo vim /etc/apache2/sites-available/otrs.heyvaldemar.net-ssl.conf
Нажимаем на кнопку “i”, чтобы перейти в режим редактирования, затем вставляем следующую конфигурацию для работы веб-сервера.
В данном руководстве для доступа агентов к веб-интерфейсу OTRS из сети Интернет будет использоваться субдомен otrs.heyvaldemar.net, с которого агенты будут перенаправляться на адрес https://otrs.heyvaldemar.net/otrs/index.pl. Вам нужно будет указать ваш домен или субдомен, по которому OTRS будет доступен из сети Интернет для агентов.
Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.
Создадим третий файл виртуального хоста, воспользовавшись текстовым редактором, с помощью команды:
sudo vim /etc/apache2/sites-available/support.heyvaldemar.net.conf
Нажимаем на кнопку “i”, чтобы перейти в режим редактирования, затем вставляем следующую конфигурацию для работы веб-сервера.
В данном руководстве для доступа клиентов к веб-интерфейсу OTRS из сети Интернет будет использоваться субдомен support.heyvaldemar.net, с которого клиенты будут перенаправляться на адрес https://otrs.heyvaldemar.net/otrs/customer.pl. Вам нужно будет указать ваш домен или субдомен, по которому OTRS будет доступен из сети Интернет для клиентов.
Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.
Создадим четвертый файл виртуального хоста, воспользовавшись текстовым редактором, с помощью команды:
sudo vim /etc/apache2/sites-available/support.heyvaldemar.net-ssl.conf
Нажимаем на кнопку “i”, чтобы перейти в режим редактирования, затем вставляем следующую конфигурацию для работы веб-сервера.
В данном руководстве для доступа клиентов к веб-интерфейсу OTRS из сети Интернет будет использоваться субдомен support.heyvaldemar.net, с которого клиенты будут перенаправляться на адрес https://otrs.heyvaldemar.net/otrs/customer.pl. Вам нужно будет указать ваш домен или субдомен, по которому OTRS будет доступен из сети Интернет для клиентов.
Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.
Теперь необходимо назначить корректные права на файлы и каталоги для корректной работы OTRS. Для этого нужно воспользоваться специальным скриптом.
Перейдем в папку “otrs” с помощью команды:
cd /opt/otrs
Назначим корректные права к файлам и каталогам для корректной работы OTRS с помощью команды:
sudo bin/otrs.SetPermissions.pl --otrs-user=www-data --web-group=www-data
Активируем первый виртуальный хост с помощью команды:
sudo a2ensite otrs.heyvaldemar.net.conf
Активируем второй виртуальный хост с помощью команды:
sudo a2ensite otrs.heyvaldemar.net-ssl.conf
Активируем третий виртуальный хост с помощью команды:
sudo a2ensite support.heyvaldemar.net.conf
Активируем четвертый виртуальный хост с помощью команды:
sudo a2ensite support.heyvaldemar.net-ssl.conf
Теперь необходимо активировать виртуальный хост для работы OTRS, который должен быть загружен после всех остальных настроек. Для этого можно использовать символическую ссылку с префиксом “zzz”.
Активируем виртуальный хост для работы OTRS с помощью команды:
sudo ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-enabled/zzz_otrs.conf
Деактивируем виртуальный хост, созданный по умолчанию, с помощью команды:
sudo a2dissite 000-default.conf
Убедимся, что в синтаксисе нового конфигурационного файла Apache нет ошибок, с помощью команды:
sudo apache2ctl configtest
Перезапустим Apache, чтобы применить внесенные изменения, с помощью команды:
sudo systemctl restart apache2
Проверим, что Apache успешно запустился, с помощью команды:
sudo systemctl status apache2
Теперь, чтобы повысить уровень безопасности веб-сервера, необходимо получить криптографический сертификат для домена или субдомена, по которому веб-интерфейс OTRS будет доступен из сети Интернет.
Для получения и последующего обновления бесплатного SSL-сертификата мы будем использовать центр сертификации Let’s Encrypt, а также программный клиент Certbot, который призван максимально упростить получение и обновление сертификата через центр сертификации Let’s Encrypt.
В данном руководстве для доступа агентов к веб-интерфейсу OTRS из сети Интернет будет использоваться субдомен otrs.heyvaldemar.net, а для доступа клиентов субдомен support.heyvaldemar.net. Вам нужно будет указать ваши домены или субдомены, по которым OTRS будет доступен из сети Интернет для агентов и клиентов.
Запросим криптографический сертификат с помощью команды:
sudo certbot --apache -d otrs.heyvaldemar.net -d support.heyvaldemar.net
Далее указываем адрес электронной почты, на который Let’s Encrypt будет присылать уведомления об истечении срока криптографического сертификата, и нажимаем на кнопку “Enter”.
На следующем этапе необходимо прочитать и принять условия использования предоставляемых сервисов.
Нажимаем на кнопку “a”, затем “Enter”, если вы согласны с условиями использования предоставляемых сервисов.
На следующем этапе необходимо выбрать: хотите ли вы поделиться указанным ранее адресом электронной почты с Electronic Frontier Foundation для получения информационных рассылок.
Нажимаем на кнопку “n”, затем “Enter”.
На следующем этапе необходимо выбрать: хотите ли вы, чтобы в конфигурационный файл Apache были автоматически добавлены параметры для автоматического перенаправления HTTP-трафика на HTTPS.
Нажимаем на кнопку “1”, затем “Enter”.
Обратите внимание, криптографические сертификаты, полученные через центр сертификации Let’s Encrypt, действительны в течение девяноста дней. Certbot автоматически добавляет скрипт для обновления сертификата в планировщик задач, и скрипт запускается два раза в день, автоматически обновляя любой криптографический сертификат, срок действия которого истекает в течение тридцати дней.
Проверить работоспособность процесса обновления криптографического сертификата можно с помощью команды:
sudo certbot renew --dry-run
Для продолжения процесса установки OTRS необходимо с рабочей станции перейти по ссылке https://otrs.heyvaldemar.net/otrs/installer.pl, где otrs.heyvaldemar.net - имя моего сервера. Соответственно, вам необходимо указать имя или IP-адрес вашего сервера с установленным OTRS.
Нажимаем на кнопку “Next”.
На следующем шаге необходимо принять условия лицензии.
Нажимаем на кнопку “Accept license and continue”, если вы согласны с лицензионным соглашением OTRS.
Далее необходимо указать систему для управления базами данных и ранее созданную базу данных, которая будет использоваться для работы с OTRS.
В поле “Type” выбираем “PostgreSQL”.
В разделе “Install Type” выбираем “Use an existing database for OTRS”.
Нажимаем на кнопку “Next”.
На следующем шаге необходимо указать данные для подключения к ранее созданной базе данных.
В данном руководстве в качестве имени пользователя, обладающего правами на базу данных для работы OTRS, используется “otrsdbuser”.
В поле “User” указываем “otrsdbuser”.
В поле “Password” указываем пароль, присвоенный пользователю “otrsdbuser”.
В поле “Host” указываем “127.0.0.1”.
В данном руководстве в качестве имени базы данных для работы OTRS используется “otrsdb”.
В поле “Database name” указываем “otrsdb”.
Нажимаем на кнопку “Check database settings”.
Подключение к базе данных успешно установлено.
Нажимаем на кнопку “Next”.
База данных успешно подготовлена для работы с OTRS.
Нажимаем на кнопку “Next”.
На следующем шаге необходимо указать еще несколько параметров для работы OTRS.
В поле “SystemID” выбираем желаемый номер, который будет служить идентификатором системы OTRS. Этот идентификатор будет частью номера для всех заявок в OTRS.
В поле “System FQDN” указываем домен или субдомен, по которому OTRS доступен из сети Интернет.
В данном руководстве для доступа к веб-интерфейсу OTRS из сети Интернет будет использоваться субдомен otrs.heyvaldemar.net Вам нужно будет указать ваш домен или субдомен, по которомому OTRS будет доступен из сети Интернет.
В поле “AdminEmail” указываем актуальный адрес электронной почты администратора OTRS.
В поле “Organization” указываем название вашей организации.
В поле “LogModule” указываем “Syslog”.
В поле “Default Language” указываем язык для вашей системы OTRS.
В поле “CheckMXRecord” указываем “Yes”, чтобы осуществлять проверку записей MX для указываемых в OTRS адресов электронной почты.
Нажимаем на кнопку “Next”.
На следующем шаге можно указать данные, которые OTRS будет использовать для отправки и получения электронных писем. Эти настройки рассматриваются в руководстве по настройке OTRS, и на данном этапе их лучше пропустить.
Подробно о том, как настроить OTRS, вы можете прочитать в моем руководстве “Настройка OTRS”.
Нажимаем на кнопку “Skip this step”.
На следующем шаге вы получите имя пользователя и пароль учетной записи, обладающей правами администратора OTRS.
Сохраните эти данные в надежное место.
Теперь необходимо запустить демон OTRS.
Возвращаемся в терминальный эмулятор и запускам демон OTRS с помощью команды:
sudo su - otrs -c "/opt/otrs/bin/otrs.Daemon.pl start"
Обратите внимание, демон будет запущен под пользователем “otrs”.
Теперь нужно активировать два файла, которые будут использоваться планировщиком задач cron для проверки, что демон OTRS запущен.
Перейдем в папку “cron” с помощью команды:
cd /opt/otrs/var/cron
Активируем первый файл для планировщика задач cron с помощью команды:
sudo cp aaa_base.dist aaa_base
Активируем второй файл для планировщика задач cron с помощью команды:
sudo cp otrs_daemon.dist otrs_daemon
Теперь, чтобы запланировать задания в планировщике задач cron, нужно воспользоваться скриптом “Cron.sh” с помощью команды:
sudo su - otrs -c "/opt/otrs/bin/Cron.sh start"
Обратите внимание, запланированные задания будут выполняться под пользователем “otrs”.
Установка OTRS успешно завершена.
Теперь необходимо внести изменения в конфигурацию OTRS, чтобы гарантировать, что все внутренние ссылки в OTRS будут использовать HTTPS.
С рабочей станции переходим по ссылке https://otrs.heyvaldemar.net/otrs/index.pl, где otrs.heyvaldemar.net - имя моего сервера. Соответственно, вам необходимо указать имя или IP-адрес вашего сервера с установленным OTRS.
Указываем имя пользователя и пароль учетной записи, обладающей правами администратора OTRS, и нажимаем на кнопку “Login”.
Добро пожаловать в веб-интерфейс для агентов OTRS.
Нажимаем на кнопку “Admin”.
Теперь в разделе “Administration” выбираем “System Configuration”.
В строке поиска указываем “HttpType” и в представленном результате поиска выбираем “HttpType”
В разделе “HttpType” указываем “https”.
Нажимаем на галочку справа от измененного параметра, чтобы сохранить изменения.
Сделанные изменения сохранены. Теперь их нужно применить.
Нажимаем на уведомление “You have undeployed settings, would you like to deploy it them?”.
В разделе “Changes Overview” выбираем изменение, которое необходимо применить, и нажимаем на кнопку “Deploy selected changes”.
Нажимаем на кнопку “Deploy now”, чтобы подтвердить применение внесенных ранее изменений.
Теперь необходимо поменять часовой пояс для учетной записи администратора OTRS.
Нажимаем на уведомление “Please select a time zone in your preferences and confirm it by clicking save button”.
В поле “Time Zone” выбираем подходящий часовой пояс.
Нажимаем на галочку справа от измененного параметра, чтобы сохранить изменения.
Затем нажимаем на изображение дома левом верхнем углу экрана, чтобы вернуться на главную страницу OTRS для агентов.
Подробно о том, как настроить OTRS, вы можете прочитать в моем руководстве “Настройка OTRS”.