Установка OTRS на FREEBSD 7.2

Метки: apache, FreeBSD, Howto, mysql, OTRS, Установка

В данной статье описывается процесс установки бесплатно распространяемой системы сервис деска Open Ticket Request System (www.otrs.org). К этому продукту существует дополнение OTRS:ITSM.
Модули ITSM устанавливаются уже на готовую систему OTRS.
Порядок и правила установки почерпнуты из инструкций производителей используемого программного обеспечения. Статья не претендует на звание единственной и правильной. Однако рекомендуется строго придерживаться указаний во избежание появления ошибок из-за разницы мировозрений на сам процесс. После успешной установки Вы можете эксперементировать с другими способами.

Данный процесс инсталляции из портов проверен на аппаратном решении, а также на виртуальных системах VMWare ESXi 4.0 И Xen Server 5.0 на ОС FreeBSD-7.2.
Для успешной работы с модулями ITSM необходимы минимальные знания основ ITSM, в противном случае рекомендую воздержаться от их установки во избежание путаницы и усложения процесса освоения и без того большого объема знаний.

Операционная система FreeBSD 7.2 (www.freebsd.org), процесс установки - "стандарт" с установкой всех портов, сырцов и документации. Подробно здесь не рассматривается. Подразумевается, что сервер подключен к локальной сети и имеет доступ в Интернет.

Установка проходила в ноябре 2009 года с версией OTRS 2.4.5. При смене версии возможны различия в процессе (в нашей лоборатории успешно проверены версии OTRS 2.4.4/2.4.5/2.4.6).

Логины и пароля для самой системы OTRS(даны для примера):

Администратор БД: mysql/newpassword
Системный эккаунт: otrs/password
Администратор сервера: root/strongpass
Пользователь сервера: justauser/simplepass ("wheel" Group member)

Они потребуются в процессе установки.

Порядок пунктов обязателен для выполнения, хотя некоторые можно и поменять местами.
Все действия выполняются удаленно через консоль SSH под Администратором сервера (root).

1. Правим /etc/make.conf

В указанный файл необходимо добавить следующее:

#ee /etc/make.conf
--------------------
PORTSDIR?=                     /usr/ports

# Для apache20
.if ${.CURDIR} == ${PORTSDIR}/www/apache20
WITHOUT_SSL=                   YES
.endif

.if ${.CURDIR} == ${PORTSDIR}/www/p5-Apache-DBI
WITH_MODPERL2=                 YES
.endif

# Для mysql otrs @utf8@
DEFAULT_MYSQL_VER=50
.if ${.CURDIR} == ${PORTSDIR}/databases/mysql50-server
WITH_CHARSET=   utf8
WITH_COLLATION=   utf8
BUILD_OPTIMIZED=  yes
BUILD_STATIC=   yes
WITHOUT_INNODB=   yes
.endif
.if ${.CURDIR} == ${PORTSDIR}/databases/mysql50-client
WITH_CHARSET=   utf8
WITH_COLLATION=   utf8_bin
BUILD_OPTIMIZED=  yes
.endif
--------------------

После установки нужного нам ПО содержимое можно заменить на то, что было или что нужно будет.

2. Далее обновляем порты

#cd /usr/ports
#portsnap fetch
#portsnap extract
#rehash

При последующих или повторных обновлениях воспользоваться единой коммандой:
#portsnap fetch update

3. Ставим mod_perl2

#cd /usr/ports/www/mod_perl2
#make install clean
#rehash

2. Ставим p5-Apache-DBI

#cd /usr/ports/www/p5-Apache-DBI
#make install clean
#rehash

Примечание:
Если появляется ошибка с тем что нужен 1,3 апач, а стоит 2,0, то в файле "/etc/make.conf" есть ошибки или лишнее, повторите пункт 0.
Возможно следует добавить в начало файла строку:
PORTSDIR?= /usr/ports

3. Ставим mysql50-server

#cd /usr/ports/databases/mysql50-server
#make install clean
#rehash

Добавим строку в rc.conf:
mysql_enable="YES"

4. Ставим сам OTRS

#cd /usr/ports/devel/otrs
#make install clean
#rehash

Примечание:
Выбираем все кроме: PGSQL & GNUPG.
При запросе во время установки выбрать только iconv.

5. Правим скрипт, ответственный за подгрузку perl-модуля otrs при запуске Apache.
На этом пункте первый раз нам требуется пользователь и пароль, указанный в начале: otrs/password.

Итак:
# ee /usr/local/otrs/scripts/apache2-perl-startup.pl
...
Перед этими строками ставим комментарий #:

#use CGI(); CGI...
#use CGI...
#CGI->...
#use CGI::Carp...

Перед этими убираем комментарий:

use Apache::DBI ();
Apache::DBI->connect_on_init('DBI:mysql:otrs', 'otrs', 'password');
...

6. Правим httpd.conf
Здесь внимательно указываем адреса почты и имена сервера, домена.

#ee /usr/local/etc/apache2/httpd.conf
----------------
ServerAdmin admin@service.int
ServerName otrs.service.int:80
DocumentRoot "/usr/local/otrs/var/httpd/htdocs"
...
EnableMMAP On
EnableSendfile On
...
ErrorLog /var/log/otrs.service.int-error.log
...
DeflateFilterNote ratio
LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
CustomLog /var/log/otrs.service.int-deflate.log deflate
CustomLog /var/log/otrs.service.int-access.log combined
----------------

Добавляем строки (лучше в конец конфиг Файла):
--------------------
ScriptAlias /otrs/ "/usr/local/otrs/bin/cgi-bin/"
Alias /otrs-web/ "/usr/local/otrs/var/httpd/htdocs/"

<IfModule mod_perl.c>

Perlrequire /usr/local/otrs/scripts/apache2-perl-startup.pl
PerlModule Apache2::Reload
PerlInitHandler Apache2::Reload
PerlModule Apache2::RequestRec

<location /otrs>
#ErrorDocument 403 /otrs/customer.pl
ErrorDocument 403 /otrs/index.pl
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
Options +ExecCGI
PerlOptions +ParseHeaders
PerlOptions +SetupEnv
Order allow,deny
Allow from all
</Location>
</IfModule>

<Directory "/usr/local/otrs/bin/cgi-bin/">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>
<Directory "/usr/local/otrs/var/httpd/htdocs/">
AllowOverride None
Order allow,deny
Allow from all
</Directory>
MaxRequestsPerChild 400
---------------------------

7. Добавляем в автозапуск строки
#ee /etc/rc.conf

apache2_enable="YES"
mysql_enable="YES"

8. Копируем файл конфигурации mysql сервера и пробуем запустить службы:

#/usr/local/etc/rc.d/apache2 start
# /usr/local/etc/rc.d/mysql-server start
#cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
#/usr/local/etc/rc.d/mysql-server restart

Смотрим все ли запустилось:

#sockstat | grep mysql
#sockstat | grep httpd

Если все работает идем далее.

9. Меняем пароль администратора БД

#mysqladmin -u root password newpassword

10. Внесем изменения в настройку mysql сервера.
Добавить в /etc/my.conf строку:

--------------------
[mysqld]
default-character-set=utf8

сменить значение на следующее:
--------------------
[mysqld]
max_allowed_packet = 20M
--------------------

Входим в mysql:

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2096
Server version: 5.0.88-log FreeBSD port: mysql-server-5.0.88

вводим следующие комманды:

mysql> set names 'utf8';
mysql> set @@character_set_client='utf8';

Проверяем командой:
mysql> show variables like 'char%';

Должно быть вот так:

+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | utf8                             |
| character_set_connection | utf8                             |
| character_set_database   | utf8                             |
| character_set_filesystem | binary                           |
| character_set_results    | utf8                             |
| character_set_server     | utf8                             |
| character_set_system     | utf8                             |
| character_sets_dir       | /usr/local/share/mysql/charsets/ |
+--------------------------+----------------------------------+
8 rows in set (0.00 sec)

Если все совпадает, выходим из mysql:

mysql>exit
Bye

11. далее выполняем комманду:
#perl -MCPAN -e 'install XML::FeedPP'

Ждем выполнения, отвечаем на вопросы.

Примечание:
При ошибках в процессе выполнения возможно потребуется дополнительно:

#install CPAN
#reload cpan

Перегружаем веб и БД сервер.

#/usr/local/etc/rc.d/apache2 restart
#/usr/local/etc/rc.d/mysql-server restart

12. С клиентского компьютера через браузер заходим на сайт:
http://otrs.service.int/otrs/installer.pl

Выполняем процедуру настройки, после успешного завершения система предложит перегрузить веб сервер. Здесь нам

понадобятся пароли и логины указанные выше пункта 1. Внимательно читайте все предлагаемые действия.

После выполнения рестарта веб сервера можно зайти под следующим эккаунтом (справедливо лишь для нашего описания, в

Вашем варианте это будет другой адрес):
Главная страница:
http://otrs.service.int

Установлен автоматический редирект на скрипт:
http://otrs.service.int/otrs/index.pl

Пользователь: root@localhost
Пароль: root

Если Вы видите окно "дайджеста", значит все установлено правильно.
Далее не забудьте сменить пароль для root@localhost, для этого зайдите в пункт меню "Предпочтения - Сменить пароль".

В пункте меню "Администрирование - Системный журнал" можно посмотреть сообщения системы.

13. Теперь выйдете из системы и сделайте резервную копию только что установленной системы. Она Вам очень поможет сэкономить время. Для это выполните на сервере комманду:

#/usr/local/otrs/scripts/backup.pl -d /usr/home/justauser/backup
Backup /usr/home/user/backup/2009-12-24_14-52/Config.tar.gz ... done
Backup /usr/home/user/backup/2009-12-24_14-52/Application.tar.gz ... done
Dump MySQL rdbms ... done
Compress SQL-file... done

В нашем случае мы выполнили резервное копирование всей нужно для восстановления информации в каталог

"/usr/home/justauser/backup" в домашней папке пользователя "justauser".

13. При установке пакета FAQ из набора ITSM будут ошибки о невозможности скопировать файлы.
Создайте директории вручную:

#mkdir /usr/local/otrs/doc
#mkdir /usr/local/otrs/doc/de

Назначьте владельцем пользователя otrs группу www, или разрешите запись группе www.

14. Порядок установки ITSM:
С сайта "www.otrs.org" качаем все пакеты ITSM на _клиентский_ компьютер в отдельный каталог.

Регистрируемся на созданном нами сайте с учетной записью root@localhost.

Заходим Администрирование-Управлением пакетами.
Далее выбрать пункт "Пакет - Установить"...

Ставим пакеты в такомпорядке:

GeneralCatalog
ITSMCore
ITSMIncidentProblemManagement
ITSMConfigurationManagement
ITSMServiceLevelManagement
ImportExport

Система готова к работе.

Примечание: в дальнейшем, если в этом же меню выбрать сервер репозиторий ITSM, то пакеты возможно обновить через сам ОТРС сервер автоматически.

Примечание: выполните резервное копирование как указано в пнкте 13. Старайтесь выполнять его перед всеми глобальными изменениями в системе.

15. Оптимизация настроек для производительности, выполните на сервере следующие комманды:

#mysql -u root -p
#>show variables like 'query%';

+------------------------------+-----------+
| Variable_name                | Value     |
+------------------------------+-----------+
| query_alloc_block_size       | 8192      |
| query_cache_limit            | 1048576   |
| query_cache_min_res_unit     | 4096      |
| query_cache_size             | 0 |
| query_cache_type             | ON        |
| query_cache_wlock_invalidate | OFF       |
| query_prealloc_size          | 8192      |
+------------------------------+-----------+
7 rows in set (0.00 sec)

query_cache_size определяет размер кэша, где хранятся результаты запросов. Если равен 0 - ничего не кэшируется.
query_cache_type - режим работы кэша, должен быть ON.

Для оптимизации добавьте в /etc/my.conf:

[mysql]
query_cache_size=268435456; #будет 256MB

Примечание: размер кеша примерно равен 1/4 размера оперативной памяти.

Перезапустите сервер mysql.

В наших следующих статьях мы расскажем про настройку системы тикетов.
Благодарим за внимание.

на AMD Phenom 2, 2GB озу даже без оптимизации заработало шустренько, правда есть подозрение, что все-таки конфиги PHP и Apache подкручены были еще до установки, все прекрасно, сделал по Вашему мануалу и все заработало отлично. Спасибо!

спасибо за хорошую статью!

незачто.

Ставил по ней отрс , при чем с фри никогда не работал! Все отлично!
Единственная проблема ... пакеты ИТСМ выдают ошибку , хотя я создал папки и дал права на них как написано .. в чем может быть проблема ?

там обычно пишется что не смог сделать. вот его в студию бы.

Tags for Установка OTRS на FREEBSD 7.2
Вход в систему
Image CAPTCHA
Enter the characters shown in the image.