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

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

Автор: serge.


   Здесь будет рассмотрена установка Open Ticket Request System (otrs) на сервер работающий на связке Apache20 + mod_perl2 + mysql50.
  Так как основная часть файлов конфигурации идентична как для использования otrs с Apache1, так и с Apache2, то буду обращать Ваше внимание только на принципиальные отличия. Все остальные действия буду называть в той последовательности, как они идут в предыдущей статье.  
  С учетом изменений получаем следующий make.conf
 ВНИМАНИЕ! Следующие действие затрет Ваш make.conf, если ОС рабочая. Аккуратнее с copy-past!
# cat > /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
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

  Ставим mod_perl2, модуль Apache::DBI, MySQL и otrs. Apache2 притянется с mod_perl2.
# cd /usr/ports/www/mod_perl2 && 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

Правим конфиг Apache20. Для увеличения производительности, удаляем модули которые не будут использоваться, задействуем сжатие страниц (mod_deflate) и еще некоторые возможности Apache20.
# vi /usr/local/etc/apache2/httpd.conf
...
LoadModule access_module libexec/apache2/mod_access.so
LoadModule deflate_module libexec/apache2/mod_deflate.so
LoadModule log_config_module libexec/apache2/mod_log_config.so
LoadModule logio_module libexec/apache2/mod_logio.so
LoadModule mime_magic_module libexec/apache2/mod_mime_magic.so
LoadModule expires_module libexec/apache2/mod_expires.so
LoadModule headers_module libexec/apache2/mod_headers.so
LoadModule unique_id_module libexec/apache2/mod_unique_id.so
LoadModule setenvif_module libexec/apache2/mod_setenvif.so
LoadModule mime_module libexec/apache2/mod_mime.so
LoadModule autoindex_module libexec/apache2/mod_autoindex.so
LoadModule asis_module libexec/apache2/mod_asis.so
LoadModule info_module libexec/apache2/mod_info.so
LoadModule negotiation_module libexec/apache2/mod_negotiation.so
LoadModule dir_module libexec/apache2/mod_dir.so
LoadModule imap_module libexec/apache2/mod_imap.so
LoadModule actions_module libexec/apache2/mod_actions.so
LoadModule alias_module libexec/apache2/mod_alias.so
LoadModule perl_module libexec/apache2/mod_perl.so
...
ServerAdmin admin@server.ru
ServerName support.server.ru:80
DocumentRoot "/usr/local/otrs/var/httpd/htdocs"
...
EnableMMAP On
EnableSendfile On
...
ErrorLog /var/log/support.server.ru-error.log
...
DeflateFilterNote ratio
LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
CustomLog /var/log/support.server.ru-deflate.log deflate
CustomLog /var/log/support.server.ru-access.log combined
...
# В конец конфига
ScriptAlias /otrs/ "/usr/local/otrs/bin/cgi-bin/"
Alias /otrs-web/ "/usr/local/otrs/var/httpd/htdocs/"

# загружаем все модули otrs
Perlrequire /usr/local/otrs/scripts/apache2-perl-startup.pl

# Apache::Reload - Перезагружаем Perl модули, когда они изменяются
PerlModule Apache2::Reload
PerlInitHandler Apache2::Reload
PerlModule Apache2::RequestRec

# устанавливаем mod_perl2 опции
<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

    SetOutputFilter DEFLATE
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    SetEnvIfNoCase Request_URI \
    \.(?:gif|jpe?g|png)$ no-gzip dont-vary
    Header append Vary User-Agent env=!dont-vary
</Location>
<Directory "/usr/local/otrs/var/httpd/htdocs/">
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

  Правим файл, подгружающий perl-модули otrs при запуске Apache.
# vi /usr/local/otrs/scripts/apache2-perl-startup.pl
...
use Apache::DBI ();
Apache::DBI->connect_on_init('DBI:mysql:otrs', 'otrs', 'some-pass');
...

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

Стартуем Apache и MySQL. После того как MySQL создаст свои директории, копируем файл конфигурации MySQL со стандартными настройками для средне-нагруженного сервера и перезапускаем MySQL.
# /usr/local/etc/rc.d/apache2 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

На этом отличия закончились. Дальнейшая установка по предыдущей статье.



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


Maximka, 2007-12-30 в 22:05:38

WITH_LINUXTHREADS=        yes
Те же замечания, что и в комментариях к предыдущей статье.
Не используйте этот флаг на современной фряхе.

violant, 2008-02-05 в 19:15:43

А по поводу LDAP. Этот модуль позволит подтягивать юзеров с домена под Windows

LMik, 2008-02-11 в 19:33:14

Попа произошла какая то :)

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
       LC_ALL = (unset),
       LANG = "ru_RU.KOI8-R"
   are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

karakurty, 2008-08-05 в 18:58:00

Пока не изменил это:
PerlModule Apache2::Reload
PerlInitHandler Apache2::Reload
на это:
PerlModule Apache::Reload
PerlInitHandler Apache::Reload

Мой апач не поднимался, выдавая вот такую ошибку:
[Tue Aug 05 14:46:12 2008] [error] Can't locate Apache2/Reload.pm in @INC (@INC contains: ../../ /usr/local/otrs/Kernel/cpan-lib /usr/local/otrs/ /usr/local/lib/perl5/5.8.8/BSDPAN /usr/local/lib/perl5/site_perl/5.8.8/mach /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/mach /usr/local/lib/perl5/5.8.8 . /usr/local) at (eval 119) line 3.\n
[Tue Aug 05 14:46:12 2008] [error] Can't load Perl module Apache2::Reload for server my.host.net:0, exiting...

Вопрос - как поставить из портов этот самый преславутый Apache2::Reload? Я у себя нашел только:
#locate Reload | grep Makefile
/usr/ports/devel/p5-Module-Reload/Makefile
/usr/ports/devel/p5-Module-Reload-Sel/Makefile
/usr/ports/www/p5-Apache-Reload/Makefile

BlackHawk, 2008-10-20 в 16:08:47

вопрос с mod_perl2 и Apache2::Reload очень актуален с версией mod_perl 2.0.4 :(

mikele, 2009-03-10 в 14:31:11

У меня проблема с кодировкой картинок в статистике - все надписи кракозябликами. Хотя и письма и интерфейс очень хорошо работает. при установке указал utf-8. Никак не могу победить...

Algor, 2009-03-16 в 19:06:14

cd /usr/ports/www/p5-Apache-Reload && make -DWITH_MODPERL2 all install clean

dmkold, 2009-09-20 в 4:33:50

Спасибо, Algor'у. Одной строчкой помог решить проблему с Apache2:Reload.
Включить в статью!

Алексей, 2010-09-21 в 12:20:43

Теперь у нас есть русский ресурс www.otrs.ru . Я думаю что тем кто смотрит установку, будет полезно зайти и туда.



 

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

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0679 секунд
Из них PHP: 28%; SQL: 72%; Число SQL-запросов: 77 шт.
У Вас отключено GZIP-сжатие в браузере. Размер страницы 24805