Web interface configuration question - moving RT off of root

RT 3.8.5 on RHEL4

I did read as much of the documentation as I could absorb. I think I
know where my problem is, I just don’t know the correct syntax to make
everything work as I want. Lots of experimentation – time to ask for
help. New install and everything seems to be working just fine.

I have a web site on this server at /var/www/html that RT has taken
over. I’ll include pieces of httpd.conf and RT_SiteConfig.pm to show
how I’m currently configured.

http://myhost/helpdesk brings up RT just fine, as I want.
https://myhost/helpdesk serves up the “almost there BP” index page
http://myhost brings up RT, replacing my site web page
https://myhost brings up my site web page

What I’d like:

http://myhost/helpdesk = RT
https://myhost/helpdesk = RT
http://myhost = /var/www/html
https://myhost = /var/www/html

This is current accessible from the Internet via my DMZ for testing
purposes.

http://216.99.212.113/ = displays RT login, not my homepage
https://216.99.212.113/ = correctly displays my homepage

http://216.99.212.113/helpdesk/ works correctly
https://216.99.212.113/helpdesk/ gives BP “almost there” page

I set RT_SiteConfig.pm to use the old compat GUI but apache does
not seem to honor that all the time. Note that http://216.99.212.113/
and http://216.99.212.113/helpdesk do not display the same page :frowning:

Any assistance would be GREATLY appreciated.

[root@security frankie]# grep Web /opt/rt3/etc/RT_SiteConfig.pm

{{{ Web interface configuration

Set($WebPath , “”);
#Set($WebPath , “/helpdesk”); # Doing this didn’t help
Set($WebPort , 80);# + ($< * 7274) % 32766 + ($< && 1024));
Set($WebBaseURL , “http://localhost:$WebPort”);
#Set($WebBaseURL , “https://localhost:$WebPort”); # Doing this didn’t help
Set($WebURL , $WebBaseURL . $WebPath . “/”);

/etc/httpd/conf/httpd.conf:

RT Stuff

Alias /rt/ "/opt/rt3/share/html/"
Alias /rt "/opt/rt3/share/html/"
Alias /helpdesk/ "/opt/rt3/share/html/"
Alias /helpdesk “/opt/rt3/share/html/”

NameVirtualHost *:80 # Tried 443, no-go
<VirtualHost *:80> # Ditto
ServerAdmin Certified_Today@Easyrider.com
ServerName backup.easyrider.com
DocumentRoot /opt/rt3/share/html/
AddDefaultCharset UTF-8
# Adding the following for RT (the ticket tracker)
AddHandler fastcgi-script .fcgi
<Directory “/opt/rt3/share/html”>
Options FollowSymLinks ExecCGI
AllowOverride None

# Pass through requests to for noauth
Alias /NoAuth/images /opt/rt3/share/html/NoAuth/images
ScriptAlias / /opt/rt3/bin/mason_handler.fcgi/

End RT stuff

This is all a matter of Apache config.

I have a web site on this server at /var/www/html that RT has taken

Because you’ve told it to:

DocumentRoot /opt/rt3/share/html/

And you do need to set Webpath, it fixes the next problem you’ll run into.
Cambridge Energy Alliance: Save money. Save the planet.

Jerrad Pierce wrote:

This is all a matter of Apache config.

I have a web site on this server at /var/www/html that RT has taken

Because you’ve told it to:

DocumentRoot /opt/rt3/share/html/

And you do need to set Webpath, it fixes the next problem you’ll run into.

Ummmm… thanks. That’s why I included the relevant lines in the two
config files that probably need tweaking. What I’m hoping is that
someone who really knows how this stuff works and has a mind to be
helpful can just tell me which line(s) are wrong and what they need to
be changed to. I’m guessing this is a couple of lines of code at the
most and then I can go back to pursuing my life.

Not being an Apache guru, I’m assuming that DocumentRoot
/opt/rt3/share/html/ tells Apache that RT lives in that directory rather
than in /var/www/html, yes? If not, then you are correct that this is
at least part of my problem. So what do I need to do to get this
working correctly? http://www.example.com/helpdesk used to work fine
until I decided to press on without help so it’s mostly a matter of
getting Apache to NOT serve up RT if someone goes to
http://www.example.com and to respond instead to
http://www.example.com/helpdesk.

I’ve experimented with WebPath and several other settings based on all
the reading I’ve done but so far, the changes don’t help or they made
things worse. Again, it would be REALLY helpful if someone could just
provide the correct setting(s) for what I’m trying to do.

I’ve read reams of documentation and I searched through the last six
months of archives looking for info. I built RT by meticulously
following the instructions. And as near as I can tell, it’s working
just swell except for this one little thing. I tried to fix it on my
own but now I’m stuck. Mea culpa… I would REALLY be grateful if
someone could explain to me like I am 8 years old what I need to do.

With all of this fooling around in an area that I don’t particularly
understand, I managed to break http://www.example.com/helpdesk :frowning:

I seem to recall that you had to do something special to reload changes
to RT_siteconfig.pm (besides restarting httpd) although I saw nothing
about that in any of the docs I read. I’m also assuming, perhaps
incorrectly, that it’s more desirable to make changes to
RT_siteconfig.pm versus httpd.conf. In the attached config files, I
have removed any entry that does not seem to be needed to make
troubleshooting easier.

http://www.example.com serves up RT just fine (but that’s not how I want
it to work)

I want http://www.example.com/helpdesk (only) to serve up RT

I have SSL issues too but one thing at a time.

TIA!

/etc/httpd/conf/httpd.conf:
(did not include any of the experiments that didn’t help)

Alias /helpdesk “/opt/rt3/share/html/”

NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /opt/rt3/share/html/
AddDefaultCharset UTF-8
AddHandler fastcgi-script .fcgi
Alias /NoAuth/images /opt/rt3/share/html/NoAuth/images
ScriptAlias / /opt/rt3/bin/mason_handler.fcgi/

/opt/rt3/etc/RT_SiteConfig.pm:
(did not include any of the experiments that didn’t help)

Set($WebPath , “”);
Set($WebPort , 80);# + ($< * 7274) % 32766 + ($< && 1024));
Set($WebBaseURL , “http://localhost:$WebPort”);
Set($WebURL , $WebBaseURL . $WebPath . “/”);
Set($WebImagesURL , $WebPath . “/NoAuth/images/”);