На момент написания статьи использовались следующие версии:
apache-2.2.16
mysql-server-5.0.90
otrs-2.4.7_2
p5-Apache-DBI-1.08
p5-Apache-Reload-0.10_2
perl-5.10.1_2
Весь необходимый софт будет ставиться из портов, перед установкой их рекомендуется обновить:
portsnap fetch update
Далее ставим apache22, mod_perl2, mysql и сам otrs:
otrs# cd /usr/ports/www/apache22 && make install clean
otrs# cd /usr/ports/www/mod_perl2 && make install clean
otrs# cd /usr/ports/databases/mysql50-server && make install clean
otrs# cd /usr/ports/www/p5-Apache-DBI && make -DWITH_MODPERL2 install clean
otrs# cd /usr/ports/www/p5-Apache-Reload && make -DWITH_MODPERL2 install clean
otrs# cd /usr/ports/devel/otrs && make install clean
Небольшое пояснение: перловые модули p5-Apache-DBI и p5-Apache-Reload нужны для ускорения работы otrs, они подгружают необходимые скрипты, а также создают подключение к базе.
Добавляем возможность загрузки apache при старте системы, включаем модуль mod_perl2, а также делаем минимальную настройку самого apache22:
otrs# echo 'apache22_enable="YES"' >> /etc/rc.conf
otrs# ee /usr/local/etc/apache22/httpd.conf
…
LoadModule perl_module libexec/apache22/mod_perl.so
…
ServerAdmin postmaster@otrs.local
…
ServerName otrs.local:80
…
Далее добавляем поддержку OTRS в apache:
otrs# cp /usr/local/otrs/scripts/apache2-httpd-new.include.conf /usr/local/etc/apache22/Includes/otrs.conf
Правим скрипты для подключения к базе и стартуем apache:
otrs# ee /usr/local/otrs/scripts/apache2-perl-startup.pl
…
use Apache::DBI ();
Apache::DBI->connect_on_init('DBI:mysql:otrs', 'otrs', 'otrs-password');
…
otrs# /usr/local/etc/rc.d/apache22 start
Где mysql:otrs – название базы в mysql, otrs – имя пользователя, otrs-password – пароль пользователя otrs в mysql.
Теперь настраиваем mysql: добавляем возможность при старте системы:
otrs# echo 'mysql_enable="YES"' >> /etc/rc.conf
Запускаем mysql:
otrs# /usr/local/etc/rc.d/mysql-server start
Устанавливаем пароль для root, удаляем безымянных пользователей, а также удаляем тестовую базу mysql:
otrs# mysql -u root
> USE mysql;
> UPDATE user SET Password=PASSWORD('root-password') WHERE User='root';
> DELETE FROM user WHERE User='';
> DROP DATABASE test;
> FLUSH PRIVILEGES;
> EXIT
Копируем стандартную конфигурацию для mysql и исправляем ее в нужных местах:
otrs# cp /usr/local/share/mysql/my-medium.cnf /var/db/mysql/my.cnf
otrs# ee /var/db/mysql/my.cnf
[mysqld]
log = /var/log/mysql.log
…
skip-networking
…
max_allowed_packet = 32M
…
Создаем лог файл для mysql и перезапускаем его для применения изменений в конфигурации:
otrs# touch /var/log/mysql.log
otrs# chown mysql:mysql /var/log/mysql.log
otrs# /usr/local/etc/rc.d/mysql-server restart
Теперь ставим OTRS, зайдя на FQDN вашего сервера в нашем случае это:
http://otrs.local/otrs/installer.pl
Принимаем пользовательское соглашение:
Устанавливаем настройки БД для OTRS:
В случае если процесс установки БД прервется с ошибкой:
Can't locate object method "new" via package "Kernel::Config" at /usr/local/otrs/bin/cgi-bin/installer.pl line 51
Вам необходимо добавить следующие строки в начало файла (более подробно):
otrs# ee /usr/local/otrs/scripts/apache2-perl-startup.pl
BEGIN {
$ModPerl::Util::DEFAULT_UNLOAD_METHOD = 'unload_package_xs';
}
use ModPerl::Util;
Перезапустить apache22:
otrs# apachectl restart
и начать процесс установки заново.
На третьем шаге проставляем информацию о системе:
В случае успешной установки вы сможете зайти в систему с логином и паролем по умолчанию:
Для окончательной установки OTRS требуется добавить скрипты в cron для системных нужд (назначение скриптов можно посмотреть в документации):
otrs# cd /usr/local/otrs/var/cron/
otrs# sh
# for foo in *.dist; do cp $foo `basename $foo .dist`; done
# exit
otrs# su otrs
%/usr/local/otrs/bin/Cron.sh start
%exit
Для проверки заданий можно использовать следующую команду:
otrs# crontab -l -u otrs
Все, на этом установка OTRS завершена, в следующей статье будет написано про его настройку.