OTRS + Apache2

Всем доброго времени суток! Люди кто часто общается с апачем подскажите как вылечить следующуюю болезнь.
Ставлю OTRS, это сервисдеск такой, вебморда сделана на perl'овских скриптах, с ними и с апачем у меня как раз проблема.
в настройках апача описываю директорию со скриптами

<Directory "/var/www/sd/otrs-2.3.3/bin/cgi-bin/">
    Options ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

вываливается ошибка

[error] (13)Permission denied: exec of '/var/www/sd/otrs-2.3.3/bin/cgi-bin/installer.pl' failed
[Tue Feb 03 15:42:14 2009] [error] [client 172.168.100.50] Premature end of script headers: installer.pl

в шеле скрипт отрабатывается нормально.
если добавить в описание SetHandler .pl при обращении, выдается предложение сохранить или открыть файл.

права на файл выставлены установочным скриптом, который идет в исходниках
-rwxrwxr-x 1 apache apache 4364 Фев 3 13:51 /var/www/sd/otrs-2.3.3/bin/cgi-bin/installer.pl

пробовал менять владельца и права, лучше не становится, либо premature end либо сохранить как...

Причем у меня на почтовике крутится awstats он также на перловских скриптах, там все нормально, подделываю конфиги такие же как на нем, результата положительного тоже нет.
Можето кто подскажет что? Заранее благодарю.

offtopic

httpd.conf:

    #
    # ScriptAlias: This controls which directories contain server scripts. 
    # ScriptAliases are essentially the same as Aliases, except that
    # documents in the target directory are treated as applications and
    # run by the server when requested rather than as documents sent to the
    # client.  The same rules about trailing "/" apply to ScriptAlias
    # directives as to Alias.
    #
    ScriptAlias /cgi-bin/ "/usr/local/www/apache22/cgi-bin/"
...
# "/usr/local/www/apache22/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/usr/local/www/apache22/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
...

    # To use CGI scripts outside of ScriptAliased directories:
    # (You will also need to add "ExecCGI" to the "Options" directive.)
    #
    AddHandler cgi-script .cgi

У тебя всё прописано соответствующим образом?

:wq
--
Live free or die

+

если вы имеете директивы ScriptAlias и Alias для каталогов /otrs/ и /otrs-web/ да они пристуствуют.

there is only war...

!

Daevy написал(а):
если вы имеете директивы ScriptAlias и Alias для каталогов /otrs/ и /otrs-web/ да они пристуствуют.

Вы приводите Locations!
Для физических (каталогов на файловой системе, параметр Directory) доступ прописан и разрешён?

:wq
--
Live free or die

Вот эта фигня, помоему

Вот эта фигня, помоему означает, что у тебя скрипт в виндовом формате

Цитата:
Premature end of script headers

Попробуй сделать так
cat -A /var/www/sd/otrs-2.3.3/bin/cgi-bin/installer.pl
Если в конце каждой строки будет лишний символ, то я прав.

-----------------------------------------»
если хочешь послать в MAN, лучше промолчи.

+

проверил, там сразу идут переносы строк, да и сразу сомневался, штука эта кросплатформенная, но с упором на люнихи.
вобщем после ковыряний, снес апач полностью, вынес конфиги из etc, вынес otrs, начал все заново, руководствуясь по докам которые шли с исходниками. пришел к тому что vhosts.conf

Listen 80
ServerName sd.uzps.mh.ru
DocumentRoot /var/www/

# agent, admin and customer frontend
ScriptAlias /otrs/ "/var/www/sd/otrs-2.3.3/bin/cgi-bin/"
Alias /otrs-web/ "/var/www/sd/htdocs/ot/"

# if mod_perl is used
<IfModule mod_perl.c>

    # load all otrs modules
    Perlrequire /var/www/sd/otrs-2.3.3/scripts/apache2-perl-startup.pl

    # Apache::Reload - Reload Perl Modules when Changed on Disk
    PerlModule Apache::Reload
    PerlInitHandler Apache::Reload

    # set mod_perl2 options
    <Location /otrs>
#        ErrorDocument 403 /otrs/customer.pl
#        AllowOverride None
        ErrorDocument 403 /otrs/index.pl
        SetHandler  perl-script
        PerlHandler ModPerl::Registry
        Options +ExecCGI
        PerlOptions +ParseHeaders
        Order allow,deny
        Allow from all
    </Location>

</IfModule>

# directory settings
<Directory "/var/www/sd/otrs-2.3.3/bin/cgi-bin/">
    AllowOverride None
    Options +ExecCGI -Includes
    Order allow,deny
    Allow from all
</Directory>
<Directory "/var/www/sd/htdocs/ot/">
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

# MaxRequestsPerChild (so no apache child will be to big!)
MaxRequestsPerChild 400

в гугле также нашел то, что нужно подключить mod_perl.so в httpd.conf
добавил его таким макаром
LoadModule perl_module modules/mod_perl.so

но вспомнил что вынес, конфиги из /etc а там в /etc/apache2/modules.d/ должен быть конфиг для mod_perl, щас запущу обновление mod_perl а там поглядим, но вчера при запуске апача вываливалось это

[error] Can't locate Apache/Reload.pm in @INC (@INC contains: ../../ /var/www/sd/otrs-2.3.3/Kernel/cpan-lib /var/www/sd/otrs-2.3.3/ /etc/perl /usr/lib/perl5/vendor_perl/5.8.8/i486-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/site_perl/5.8.8/i486-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/5.8.8/i486-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/local/lib/site_perl . /usr/lib/apache2) at (eval 110) line 3.\n
[Tue Feb 03 16:59:06 2009] 
[error] Can't load Perl module Apache::Reload for server sd.uzps.mh.ru:0, exiting...

имхо недостаточно ему перловского модуля Apache::Reload, как его поставить? только без CPAN

there is only war...

+

а если сделать

#    PerlModule Apache::Reload
#    PerlInitHandler Apache::Reload

то апач запускается, админка открывается, но читая доки, я так понял что это модуль несет важную функции,.. как собрать то его?
искал find'ом *eload* , конкрентно Reload.pm ненашел, был Reload.pom но это док по модулю, как его включать в апаче, раскурил его и както без толку...

there is only war...

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".