Cannot resolve file to component?

Hi,

I�ve been trying to install WebRT on a Debian Linux system.

After some hassle withc mod_perl I decided on going for FastCGI + Apache 1.3.26.

When accessing the URL of the server I get the error
[warn] [Mason] Cannot resolve file to component: /usr/local/rt2/bin/mason_handler.fcgi (is file outside component root?)

Why that? What setting is wrong?

The (IMHO) relevant parts of the config are as follows …

Apache:

LoadModule fastcgi_module /usr/lib/apache/1.3/mod_fastcgi.so
User www-data
Group www-data

<VirtualHost 192.168.0.1:80>
AddHandler fastcgi-script fcgi
DocumentRoot /usr/local/rt2/WebRT/html
ServerName rt2.mydomain.de
PerlRequire /usr/local/rt2/bin/webmux.pl
FastCgiServer /usr/local/rt2/bin/mason_handler.fcgi
Alias /NoAuth/images/ /usr/local/rt2/WebRT/html/NoAuth/images/
ScriptAlias / /usr/local/rt2/bin/mason_handler.fcgi/
#PerlModule Apache::DBI

SetHandler perl-script
PerlHandler RT::Mason

Config.pm:

$MasonComponentRoot = “/usr/local/rt2/WebRT/html”;
$MasonLocalComponentRoot = “/usr/local/rt2/local/WebRT/html”;
$MasonDataDir = “/usr/local/rt2/WebRT/data”;
$MasonSessionDir = “/usr/local/rt2/WebRT/sessiondata”;

Any help will be greatly appreciated.

Emre

Emre Bastuz wrote:

When accessing the URL of the server I get the error
[warn] [Mason] Cannot resolve file to component:
/usr/local/rt2/bin/mason_handler.fcgi (is file outside component root?)

    PerlRequire /usr/local/rt2/bin/webmux.pl

Delete this line. It’s for mod_perl only, not for FastCGI.
Phil Homewood, Systems Janitor, www.SnapGear.com
pdh@snapgear.com Ph: +61 7 3435 2810 Fx: +61 7 3891 3630
SnapGear - Custom Embedded Solutions and Security Appliances

Hi Phil,

Phil Homewood wrote:

[warn] [Mason] Cannot resolve file to component:
/usr/local/rt2/bin/mason_handler.fcgi (is file outside component root?)
PerlRequire /usr/local/rt2/bin/webmux.pl

Delete this line. It’s for mod_perl only, not for FastCGI.
I�ve tried that. When this particular line is removed and
Apache restarted, I get a different error in the logs:
[error] Undefined subroutine &RT::Mason::handler called

In the browser it says “Internal Server Error”.

That�s why I thought the line should be kept in httpd.conf.

After playing around with a couple of settings I found out
what I had done wrong.

The line ‘SetHandler perl-script’ also has to be removed
in order to make the fastcgi version work.

For others to follow this thread, a complete Vhost config for
usage of rt2 with fastcgi might look like this:

<VirtualHost 192.168.0.1:80>
AddHandler fastcgi-script fcgi
DocumentRoot /usr/local/rt2/WebRT/html
ServerName rt2-test.somehost.de
FastCgiServer /usr/local/rt2/bin/mason_handler.fcgi
Alias /NoAuth/images/ /usr/local/rt2/WebRT/html/NoAuth/images/
ScriptAlias / /usr/local/rt2/bin/mason_handler.fcgi/
PerlModule Apache::DBI

PerlHandler RT::Mason

Maybe this needs some clarification in the FAQ/docs.

Thanks for your help.

Emre

Two weeks ago, Emre Bastuz wrote:

For others to follow this thread, a complete Vhost config for
usage of rt2 with fastcgi might look like this:

<VirtualHost 192.168.0.1:80>
AddHandler fastcgi-script fcgi
DocumentRoot /usr/local/rt2/WebRT/html
ServerName rt2-test.somehost.de
FastCgiServer /usr/local/rt2/bin/mason_handler.fcgi
Alias /NoAuth/images/ /usr/local/rt2/WebRT/html/NoAuth/images/
ScriptAlias / /usr/local/rt2/bin/mason_handler.fcgi/
PerlModule Apache::DBI

PerlHandler RT::Mason

This can’t be correct, either. There’s still mod_perlisms there.
PerlModule and PerlHandler aren’t applicable to fcgi.

Aside from that, everything appears to be in order.
My AddHandler and FastCgiServer directives appear outside the
VirtualHost; I’m not sure that it really matters one way or
the other (anyone?)

For the record (and to add to the confusion), here’s a config
that works with fcgi, with no trace of mod_perl loaded:

LoadModule fastcgi_module libexec/apache/mod_fastcgi.so
AddModule mod_fastcgi.c

AddHandler fastcgi-script fcgi FastCgiServer /usr/local/rt2/bin/mason_handler.fcgi -idle-timeout 300

<VirtualHost *>
DocumentRoot /usr/local/rt2/WebRT/html
ServerName rt.example.com
Alias /NoAuth/images/ /usr/local/rt2/WebRT/html/NoAuth/images/

ScriptAlias / /usr/local/rt2/bin/mason_handler.fcgi/

(can anyone improve on this for the doco? :slight_smile:
Phil Homewood, Systems Janitor, www.SnapGear.com
pdh@snapgear.com Ph: +61 7 3435 2810 Fx: +61 7 3891 3630
SnapGear - Custom Embedded Solutions and Security Appliances

My AddHandler and FastCgiServer directives appear outside the
VirtualHost; I’m not sure that it really matters one way or
the other (anyone?)

Just as to scope: in general, directives outside a VirtualHost directive
apply to all VirtualHosts (unless overridden), assuming the directive is
applicable at both levels.

Steve

“Outlook not so good.” That magic 8-ball knows everything! I’ll ask
about Exchange Server next.
– (Stolen from the net)