Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> WWW —> OTRS на Apache1

OTRS. Установка под Apache 1.3

Автор: serge.


   Open Ticket Request System (otrs) - открытая система обработки заявок (билетов). Otrs позволяет группе людей, занимающихся технической поддержкой каких-либо проектов, совместно работать над решением проблем пользователей.
  В моем случае встала необходимость организации работы службы технической поддержки пользователей в своей организации. Применение otrs позволило мне сократить время решения некоторых вопросов до нескольких минут и дало возможность без лишних усилий вести очередность заявок, назначать заявки на исполнение своим сотрудникам и контролировать процесс их выполнения.
  Так же эту систему планируется использовать для техподдержки пользователей хостинга. Otrs будет работать на одном сервере с хостингом, поэтому часть настроек приведенных ниже введена для него. Хостинг работает на связке Apache1.3 + FastCGI + MySQL50. Для повышения производительности работы otrs используется установка Perl как модуля Apache. В данной статье я рассматриваю установку otrs на чистую ОС FreeBSD 6.3-PRERELEASE #0. Но также все должно работать без изменений на других ветках и релизах.
  Итак, поехали!
  Для установки опций сборки портов, правим make.conf. Тут уж без комментариев.
 ВНИМАНИЕ! Следующие действие затрет Ваш make.conf, если ОС рабочая. Аккуратнее с copy-past!
# cat > /etc/make.conf
DEFAULT_PHP_VER=               5
PORTSDIR?=                     /usr/ports

# Для apache1
.if ${.CURDIR} == ${PORTSDIR}/www/apache13-modperl
WITH_APACHE_SUEXEC=		yes
APACHE_SUEXEC_DOCROOT=	        /
APACHE_SUEXEC_USERDIR=	        www
APACHE_SUEXEC_LOG=		/var/log/httpd-suexec.log
.endif

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

  Ставим поочередно Apache, модуль для Apache, который автоматом не ставиться с otrs и MySQL сервер и клиент.
# cd /usr/ports/www/apache13-modperl && make install clean
# cd /usr/ports/www/p5-Apache-DBI && make install clean
# cd /usr/ports/databases/mysql50-server && make install clean
# cd /usr/ports/devel/otrs && make install clean

Отмечаем нужные опции сборки otrs.
[X] MYSQL MySQL database support
[ ] PGSQL PostgreSQL database support
[X] REPORTS_MODULES Reports support
[X] SMTP Send email via SMTP
[ ] LDAP Enable LDAP support
[X] ISPELL Enable spell checking
[ ] GNUPG Use GnuPG

Вносим изменения в конфиг Apache, разрешая тем самым создание именных виртуальных хостов. Для удобства конфиги виртуальных хостов складываем отдельно.
# vi /usr/local/etc/apache/httpd.conf
...
NameVirtualHost *:80				# Снимаем коментарий
...
Include /usr/local/etc/apache/configs/*.conf	# Добавляем в самый низ конфига

Добавляем запуск Apache и MySQL в rc.conf
# echo "" >> /etc/rc.conf
# echo "# Add by Serge for otrs `date +%d-%m-%Y`" >> /etc/rc.conf
# echo 'apache_enable="YES"' >> /etc/rc.conf
# echo 'mysql_enable="YES"' >> /etc/rc.conf

Создаем директорию для конфигов виртуальных серверов и создаем файл конфигурации для otrs.
# mkdir /usr/local/etc/apache/configs/
# cat > /usr/local/etc/apache/configs/support.server.ru.conf
<VirtualHost *:80>
    ServerAdmin     admin@server.ru
    DocumentRoot    /usr/local/otrs/var/httpd/htdocs/
    ServerName      support.server.ru
    CustomLog       /var/log/support.server.ru-access.log       combined
    ErrorLog        /var/log/support.server.ru-error.log

    ScriptAlias /otrs/ "/usr/local/otrs/bin/cgi-bin/"
    Alias /otrs-web/ "/usr/local/otrs/var/httpd/htdocs/"
        
    # загружаем все модули otrs (увеличение скорости работы!)
    Perlrequire /usr/local/otrs/scripts/apache-perl-startup.pl
		
    # Apache::StatINC - перерегрузить %INC файлы, когда они обновяться на диске
    # (используйте только для тестирования, установки, но не на рабочих системах)
    # (прим. автора - не забудьте закоментить после запуска системы в работу)
    PerlInitHandler Apache::StatINC
		
    <Location /otrs>
        ErrorDocument 403 /otrs/index.pl
        SetHandler  perl-script
        PerlHandler Apache::Registry
        Options ExecCGI
        PerlSendHeader On
        PerlSetupEnv On
    </Location>
    <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>
</VirtualHost>

Правим файл, подгружающий perl-модули otrs при запуске Apache. Здесь указываем параметры соединения с БД. Имя пользователя оставляем по умолчанию, пароль меняем на свой. (Здесь оставлен вариант по умолчанию - 'some-pass')
# vi /usr/local/otrs/scripts/apache-perl-startup.pl
...
# Снимаем коментарий
use Apache::DBI ();
# Снимаем коментарий
Apache::DBI->connect_on_init('DBI:mysql:otrs', 'otrs', 'some-pass');
...

Стартуем Apache и MySQL. После того как MySQL создаст свои директории, копируем файл конфигурации MySQL со стандартными настройками для средне-нагруженного сервера и перезапускаем MySQL.
# /usr/local/etc/rc.d/apache start
# /usr/local/etc/rc.d/mysql-server start
# cp /usr/local/share/mysql/my-medium.cnf /var/db/mysql/my.cnf

# vi /var/db/mysql/my.cnf
...
skip-networking
...

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

В браузере открываем по следующей ссылке веб-инсталятор otrs. Там все пояснения на русском языке, поэтому комментариев минимум.
http://support.server.ru/otrs/installer.pl
2 шаг. Нужно указать рутовый логин и пасс от mysql. Т.к. пароль еще не задавли, оставляем как есть. Базу для otrs оставляем по-умолчанию, пароль такой же как ставили выше. У меня 'some-pass'
3 шаг. FDQN имя хоста то, что давали в конфиге виртуального сервера Apache. У меня support.server.ru

При успешном завершении, нас просят перезапустить Apache. Делаем!
# /usr/local/etc/rc.d/apache restart

Теперь можно зайти в систему и посмотреть как она выглядит. Для этого в браузере забиваем следующую ссылку.
http://support.server.ru
Для входа в систему используем дефолтные логин и пасс.
Логин:  root@localhost
Пароль: root

Часть задач otrs выполняет по расписанию. Файл планировщика (cron) заполняется скриптом автоматически. Но для того чтобы скрипт успешно отработал, необходимо у файлов с описаниями заданий убрать расширение '.dist'. Для этого используем простейший shell-скрипт, предложенный в официальной документации otrs. После переименования запускаем Cron.sh от имени пользователя otrs.
# cd /usr/local/otrs/var/cron/
# sh
# for foo in *.dist; do cp $foo `basename $foo .dist`; done
# Ctrl+d
# su otrs
# /usr/local/otrs/bin/Cron.sh start
# Ctrl+d

В завершении не забываем устанавить пароль для root'а на MySQL.
# mysql -u root
mysql> SET PASSWORD = PASSWORD('password');

На этом установка otrs считается законченной и можно переходить к ее настройке. Но это уже тема для отдельной статьи.

Ветка для обсуждения статьи на форуме.



размещено: 2007-12-22,
последнее обновление: 2007-12-24,
автор: serge


Maximka, 2007-12-30 в 22:02:01

WITH_LINUXTHREADS=        yes
Уважаемый, не учите глупостям! Это нужно было раньше, когда трэдов не было своих нормальных у Фряхи и мускул на ней тормозил по сравнению с Линуксом. Сейчас у семёрки трэды в порядке и масштабируемость что мускула что постгреса при увеличении количества ядер в норме! А на плтформе АМД64 Фря не захочет собрать мускул с такой опцией! Я думаю, что в 6.3 трэды и планировщик ядра ULE2 будут бэкпортированы из семёрки. Так что лучше собирайте мускул без этой опции и юзайте ULE2...

EveryonE, 2008-01-13 в 20:55:39

Если в хостинге торчит FastCGI то в otrs есть специальные для этого скрипты в папке fcgi-bin (рядом с cgi-bin), это позволит не поднимать mod_perl и сэкономить память

andrey, 2009-05-26 в 19:07:00

Клевая статейка спасибо, вот только на форуме зарегаться не могу, пишлось сюда писать, ваш форум не пишет мне активационные письма:) юзер golychev активируйте плз.

GGSS, 2011-10-28 в 1:02:18

у root после установки пароль root (независимо от того что задавали при установке).



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0405 секунд
Из них PHP: 28%; SQL: 72%; Число SQL-запросов: 77 шт.
Исходный размер: 28383; Сжатая: 8024