OTRS на Ubuntu
OTRS (Open-source Ticket Request System) — открытая система обработки заявок от пользователей. Программа написана на языке Perl и может взаимодействовать с множеством СУБД. В данной статье будет произведена установка системы OTRS на серверный дистрибутив Ubuntu.
Установка Apache
Apache устанавливается простой командой и сразу готов к работе.
1 |
apt install apache2 -y |
Установка модулей Perl
Они необходимы для правильного запуска скриптов, в процессе установки потребуются дополнительные модули.
1 2 3 4 5 |
apt install libapache2-mod-perl2 libdbd-mysql-perl apt install libnet-dns-perl libnet-ldap-perl apt install libio-socket-ssl-perl libpdf-api2-perl apt install libsoap-lite-perl libgd-text-perl apt install libgd-graph-perl libapache-dbi-perl |
Установка MySQL
1 |
apt install mysql-server |
В процессе установки MySQL будет задан вопрос на установку пароля для root пользователя.
Настройка MySQL
Запускаем скрипт базовой настройки MySQL и защиты.
1 |
mysql_secure_installation |
Скрипт задает следующие вопросы:
Skip root password for root
Вводим пароль root, в ином случае просто жмем Enter.
Install new password for root: security
Установка нового пароля для root
Do remove an anonymous user
Анонимных пользователей необходимо удалить.
Do not disallow remote connections
Вопрос удаленного подключения к MySQL.
Do remove a test database
Удаляем тестовую базу.
Do reload the privileges
Перезапускаем привилегии для их активации.
Скачивание OTRS
Для установки я выбрал последнюю версию которая была доступна — 6.0.23. Скачать можно с официального сайта или у меня. С официального сайта у меня не получилось скачать сразу, сайт почему то был недоступен.
Подготовка к установке OTRS
Создаем директорию:
1 |
mkdir /opt/otrs |
В созданную директорию копируем содержимое.
Создаем пользователя OTRS для запуска системы:
1 |
useradd otrs -d /opt/otrs/ -G www-data -c "otrsuser" |
Переименовываем файл конфигурации OTRS:
1 |
cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm |
Устанавливаем разрешения для пользователя веб-сервера на каталог OTRS:
1 |
perl /opt/otrs/bin/otrs.SetPermissions.pl --web-group=www-data |
Проверяем модули Perl:
1 |
perl /opt/otrs/bin/otrs.CheckModules.pl |
В полученном результате есть подсказки для установки необходимых модулей, необходимо установить все рекомендуемые.
Настройка Apache
Для правильного взаимодействия OTRS и Apache нужно включить модули и создать символическую ссылку на файл хоста.
Создаем символьную ссылку конфигурационного файла виртуального хоста:
1 |
ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-available/otrs.conf |
Активируем файл хоста:
1 |
a2ensite otrs.conf |
Активируем модули Apache:
1 2 3 4 5 6 |
a2enmod perl a2enmod version a2enmod deflate a2enmod filter a2enmod headers a2enmod cgi |
Перезапускаем Apache:
1 |
service apache2 restart |
Установка OTRS
Заходим по адресу и производим установку:
1 |
http://otrs_IP_adress/otrs/installer.pl |
Возможные ошибки в процессе установки
Ошибка: Убедитесь, что ваша СУБД принимает пакеты размером больше 64 MB (текущее значение размера пакета — до 16 MB). Измените значение параметра max_allowed_packet для вашей СУБД во избежание ошибок.
1 |
nano /etc/mysql/my.cnf |
Добавляем в mysqld следующее:
1 2 3 4 |
[mysqld] max_allowed_packet = 64M query_cache_size = 32M innodb_log_file_size = 512M |
После внесения изменений необходимо перезапустить MySQL-сервер:
1 |
service mysql restart |
Неверный collation базы данных (character_set_database — latin1, а требуется utf8)
Открываем опять файл my.cnf и вносим следующие изменения.
Client:
1 |
default-character-set = utf8 |
Mysqld:
1 2 3 4 |
character-set-server=utf8 collation-server=utf8_general_ci init-connect="SET NAMES utf8" skip-character-set-client-handshake |
Mysql:
1 |
default-character-set = utf8 |
Mysqldump:
1 |
default-character-set = utf8 |
Должно получиться вот так:
После внесения изменений необходимо перезапустить MySQL-сервер:
1 |
service mysql restart |
Настройка планировщика OTRS
Планировщик OTRS обязательно должен работать для правильного функционирования системы. Необходимо проверить наличие otrs_daemon и отсутствие у него расширения .dist. Проверить можно посмотрев список файлов в директории:
1 |
/opt/otrs/var/cron/ |
Для проверки работоспособности необходимо запустить файл cron.sh и убедиться от какого имени он запущен:
1 |
/opt/otrs/bin/Cron.sh start |
Задание otrs_daemon проверяет работоспособность планировщика каждые 5 минут. Проверить запущен ли планировщик можно командой:
1 |
/opt/otrs/bin/otrs.Daemon.pl status |
Для правильной настройки планировщика необходимо выполнить следующие команды:
1 2 3 4 |
cp /opt/otrs/var/cron/otrs_daemon.dist /opt/otrs/var/cron/otrs_daemon cp /opt/otrs/var/cron/aaa_base.dist /opt/otrs/var/cron/aaa_base su -c "/opt/otrs/bin/otrs.Daemon.pl start" -s /bin/bash otrs su -c "/opt/otrs/bin/Cron.sh start" -s /bin/bash otrs |
Файлы уберут расширение .dist, будет запущен планировщик от имени otrs и будет создана задача в планировщике системы Ubuntu.
Проверяем запись в планировщике задач у пользователя otrs:
1 |
crontab -u otrs -l |
Должна отобразиться требуемая строка:
1 2 |
# check OTRS daemon status */5 * * * * $HOME/bin/otrs.Daemon.pl start >> /dev/null |
Для корректной работы лучше указывать полный путь до папки:
1 2 |
# check OTRS daemon status */5 * * * * /opt/otrs/bin/otrs.Daemon.pl start >> /dev/null |