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

Jesse Vincent jesse at bestpractical.com
Wed Oct 10 20:23:51 EDT 2001


mod_perl isn't compartmentalized within vhosts.  what you want to do 
is to set up each seperate RT instance on its own apache httpd running
on a high port bound to localhost. Then use mod_proxypass to pass 
connections off to the right subserver.  Or use the fastcgi handler.

	-j


On Wed, Oct 10, 2001 at 06:27:49PM -0400, Adam R Prato wrote:
> 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
> 
> _______________________________________________
> rt-users mailing list
> rt-users at lists.fsck.com
> http://lists.fsck.com/mailman/listinfo/rt-users
> 

-- 
http://www.bestpractical.com/products/rt  -- Trouble Ticketing. Free.




More information about the rt-users mailing list