[rt-users] [fwd] Multiple instances of rt2 under one apache server.

Adam R Prato arp-rt2 at metachar.net
Wed Oct 10 18:27:49 EDT 2001


Hi there.

	I've recently set up RT2. I've been through the docs, and the faq,
which so far is a bit sparse, but the mailing lists make up for that. 

I work for the IT group for a bank. We have different groups within the bank
that deals with "requests". Lets say for example: IT systems, IT development,
Facilities, and Operations. Each group will have their own administrative 
users, and each will have their own group of queues for assigning new tasks.

To accomodate this, I've layed out the configuration as follows

- unpack the RT software to /TOP/src
- from /TOP/src, install the software for the SITE:

  make install RT_PATH=/TOP/SITE DB_DATABASE=rt2_SITE

(where SITE is systems, development, facilities, operations, etc)

What I now need to do is to be able to get apache's configuration to support
each of these sites. I tried two methods:

- set up a virtualhost for request.domain.com. DocumentRoot for the vhost is
  /TOP. Set up <Location> containers for each SITE under /TOP. Within the
  location containers, I've added the perl handlers and external
  authentication.

[ SNIP ]
<VirtualHost X.X.X.15>
    DocumentRoot /TOP
    ServerName request.ccmc.commerzbank.com
    <Directory />
        Order deny,allow
        Deny from all
        Allow from X.X.*,Y.Y.*,Z.Z.*
    </Directory>
</VirtualHost>
<VirtualHost X.X.X.15>
    DocumentRoot /TOP
    ServerName request.domain.com
    <Directory />
        Order deny,allow
        Deny from all
        Allow from 190.20.*,10.196.*,10.197.*
    </Directory>
    <Location /demo>
        PerlModule Apache::DBI
        PerlFreshRestart On
        SetHandler perl-script
        PerlHandler RT::Mason
        PerlRequire /TOP/demo/bin/webmux.pl
        AuthName "Request System Authentication"
        AuthType Basic
        PerlSetVar myPDC PDC
        PerlSetVar myBDC BDC
        PerlSetVar myDOMAIN DOMAIN
        PerlAuthenHandler Apache::AuthenSmb
        require valid-user
    </Location>
    <Location /systems>
        PerlModule Apache::DBI
        PerlFreshRestart On
        SetHandler perl-script
        PerlHandler RT::Mason
        PerlRequire /TOP/systems/bin/webmux.pl
        AuthName "Request System Authentication"
        AuthType Basic
        PerlSetVar myPDC PDC
        PerlSetVar myBDC BDC
        PerlSetVar myDOMAIN DOMAIN
        PerlAuthenHandler Apache::AuthenSmb
        require valid-user
    </Location>
    [SNIP]
</VirtualHost>
[SNIP]

Using this configuration (plus mods to each config.pm to handle the MasonRoot
and WebExternalAuth along with the other site specific configs), I'm able to
point to the url http://request.domain.com/demo/WebRT/html/index.html to get
to the demo request system. Unfortunately, I cannot get to system, facilities
or development. When I start apache I get the following output:

Subroutine SetContentType redefined at /TOP/facilities/bin/webmux.pl line 88.
Subroutine CGIObject redefined at /TOP/facilities/bin/webmux.pl line 93.
Subroutine handler redefined at /TOP/facilities/bin/webmux.pl line 122.
Subroutine SetContentType redefined at /TOP/operations/bin/webmux.pl line 88.
Subroutine CGIObject redefined at /TOP/operations/bin/webmux.pl line 93.
Subroutine handler redefined at /TOP/operations/bin/webmux.pl line 122.
Subroutine SetContentType redefined at /TOP/systems/bin/webmux.pl line 88.
Subroutine CGIObject redefined at /TOP/systems/bin/webmux.pl line 93.
Subroutine handler redefined at /TOP/systems/bin/webmux.pl line 122.

Also, when I try to get to any of the other sites, I get this error in the
apache error log:

[Wed Oct 10 16:06:42 2001] [warn] [Mason] Cannot resolve file to component: /TOP/operations/WebRT/html/index.html (is file outside component root?)

My assumption, based on the fact that each "require webmux.pl" generates a
"redefined" error, is that the first (demo) rt2 instance is the only instance
that is used. This would also explain why the html for the other site is
considered "outside the component root".

I've also tried using separate virtualhosts for each instance, but no dice. I
get the same errors about webmux.pl. Thus I suspect its soemthing that perl is
doing thats keeping this from happening.

Note that the /TOP contains some html that allows people to select which
instance they want. I dont have this as the document root because I need to
allow non-users (guest users) to select the url that will allow them to
request a new task, and not all requesters are users. Thus the authentication
is done on the <Location> which is under the document root.

Is there an issue preventing me from running multiple RT instances under the
same apache configuration? Am I just doing something very wrong? 

Any ideas would be greatly appreciated.

Adam

p.s. this is rt2.0.8, perl 5.6.0, apache 1.3.20, mod_perl 1.26, and all the
perl modules listed in "make testdeps" for rt2.0.8




More information about the rt-users mailing list