Метки: 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
В указанный файл необходимо добавить следующее:
--------------------
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. Далее обновляем порты
#portsnap fetch
#portsnap extract
#rehash
При последующих или повторных обновлениях воспользоваться единой коммандой:
#portsnap fetch update
3. Ставим mod_perl2
#make install clean
#rehash
2. Ставим p5-Apache-DBI
#make install clean
#rehash
Примечание:
Если появляется ошибка с тем что нужен 1,3 апач, а стоит 2,0, то в файле "/etc/make.conf" есть ошибки или лишнее, повторите пункт 0.
Возможно следует добавить в начало файла строку:
PORTSDIR?= /usr/ports
3. Ставим mysql50-server
#make install clean
#rehash
Добавим строку в rc.conf:
mysql_enable="YES"
4. Ставим сам 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::Carp...
Перед этими убираем комментарий:
Apache::DBI->connect_on_init('DBI:mysql:otrs', 'otrs', 'password');
...
6. Правим 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
mysql_enable="YES"
8. Копируем файл конфигурации mysql сервера и пробуем запустить службы:
# /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 httpd
Если все работает идем далее.
9. Меняем пароль администратора БД
#mysqladmin -u root password newpassword
10. Внесем изменения в настройку mysql сервера.
Добавить в /etc/my.conf строку:
[mysqld]
default-character-set=utf8
сменить значение на следующее:
--------------------
[mysqld]
max_allowed_packet = 20M
--------------------
Входим в mysql:
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 @@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:
Bye
11. далее выполняем комманду:
#perl -MCPAN -e 'install XML::FeedPP'
Ждем выполнения, отвечаем на вопросы.
Примечание:
При ошибках в процессе выполнения возможно потребуется дополнительно:
#reload cpan
Перегружаем веб и БД сервер.
#/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. Теперь выйдете из системы и сделайте резервную копию только что установленной системы. Она Вам очень поможет сэкономить время. Для это выполните на сервере комманду:
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/de
Назначьте владельцем пользователя otrs группу www, или разрешите запись группе www.
14. Порядок установки ITSM:
С сайта "www.otrs.org" качаем все пакеты ITSM на _клиентский_ компьютер в отдельный каталог.
Регистрируемся на созданном нами сайте с учетной записью root@localhost.
Заходим Администрирование-Управлением пакетами.
Далее выбрать пункт "Пакет - Установить"...
Ставим пакеты в такомпорядке:
GeneralCatalog
ITSMCore
ITSMIncidentProblemManagement
ITSMConfigurationManagement
ITSMServiceLevelManagement
ImportExport
Система готова к работе.
Примечание: в дальнейшем, если в этом же меню выбрать сервер репозиторий ITSM, то пакеты возможно обновить через сам ОТРС сервер автоматически.
Примечание: выполните резервное копирование как указано в пнкте 13. Старайтесь выполнять его перед всеми глобальными изменениями в системе.
15. Оптимизация настроек для производительности, выполните на сервере следующие комманды:
#>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:
query_cache_size=268435456; #будет 256MB
Примечание: размер кеша примерно равен 1/4 размера оперативной памяти.
Перезапустите сервер mysql.
В наших следующих статьях мы расскажем про настройку системы тикетов.
Благодарим за внимание.
на AMD Phenom 2, 2GB озу даже без оптимизации заработало шустренько, правда есть подозрение, что все-таки конфиги PHP и Apache подкручены были еще до установки, все прекрасно, сделал по Вашему мануалу и все заработало отлично. Спасибо!
спасибо за хорошую статью!
незачто.
Ставил по ней отрс , при чем с фри никогда не работал! Все отлично!
Единственная проблема ... пакеты ИТСМ выдают ошибку , хотя я создал папки и дал права на них как написано .. в чем может быть проблема ?
там обычно пишется что не смог сделать. вот его в студию бы.