On Fri, 2005-09-16 at 19:31 -0700, Mark Eggers wrote: > > --- Michael Sullivan <[EMAIL PROTECTED]> wrote: > > > OK. For clarification I am running > > tomcat-5.0.27-r6. I want user's > > tomcat files to be read from > > /home/*/webspace/webapps. My personal > > account is michael so my personal tomcat directory > > would > > be /home/michael/webspace/webapps . Just for the > > sake of arguments I > > created a directory called user under > > /home/michael/webspace/webapps and > > moved my jsp files into it. > > My /opt/tomcat5/conf/Catalina/localhost/user.xml > > file looks like this > > now: > > > > <Context > > docBase="/home/michael/webspace/webapps/user" > > debug="0" privileged="true"> > > </Context> > > You don't need privledged="true", so let's remove > that. > > > I restarted Tomcat. I am using mod_jk and when I go > > to > > www.espersunited.com/index.jsp I see the Tomcat > > start page. However, > > Good, you're using mod_jk. You will need to do some > Apache configuration in order for this to work. > > I am going to assume that /home/* lies outside of the > DocumentRoot directory tree. > > 1. Get Apache to recognize web directories outside of > the DocumentRoot tree. There are several ways of > doing this. One such way is given in the actuall > httpd.conf file that comes with the stock Apache. > > Basically you need to give a set of Directory > directives that give Apache access to the material in > the home directories. > > If you use the userdir_module in Apache, then > ~username/<directory> will become a part of the web > space (if you take the comments out). > > If you do this by hand, you'll need to give both > Directory directives and an Alias directive to move it > into the web space that Apache serves. > > 2. Once you do that, you'll need to add JkMount > statements as well. I suspect that JkMount statements > will respond to Alias directives since JkMount deals > with web space and not directories. > > I don't know if JkMount interacts with the > userdir_module. In other words, I don't know what > will happen if you put in a JkMount statment that > reads: > > JkMount /~*/*.jsp tomcat > > It would be interesting to find out if that would end > up mapping to /~<username>/<directory>/*.jsp where > <username> is the user name and <directory> is the > value of UserDir. > > 3. Once you do that, it's always nice to make a small > WEB-INF/web.xml, even for plain jsp pages. Something > like the following should work: > > <?xml version="1.0" encoding="UTF-8"?> > <!DOCTYPE web-app PUBLIC > "-//Sun Microsystems, Inc.//DTD Web Application > 2.3//EN" > "http://java.sun.com/dtd/web-app_2_3.dtd"> > <web-app> > <display-name>Beginning JSP</display-name> > <description>Container for quick > jsptests</description> > <welcome-file-list> > <welcome-file>index.jsp</welcome-file> > </welcome-file-list> > </webapp> > > Sorry for the wrapping. > > In short, you need to do the following three steps. > > 1. Make sure your Apache server knows about > directories outside of DocumentRoot. Use Directory > and Alias directives or userdir_module. > > 2. Use JkMount to map the expected incoming URLs to > the Tomcat server. Experiment to see if JkMount picks > up on the substitutions done by userdir_module. > > 3. Make a small WEB-INF/web.xml with the appropriate > structure. Creating a proper web application is > useful, especially once you start adding servlets to > the mix. > > /mde/ >
I've been wrestling the past week with the hassles of upgrading to Apache-2.0.54-r31 on my Gentoo system. I think I've finally got everything working the way it's supposed to except mod_jk for my user directories. I tried to do the userdir thing you suggested, but I couldn't get it to work. Right now I use symlinks to my individual users' website directories, but now that I've discovered Alias I'll probably switch completely to using Aliases. I created a test Alias point to the ~/webspace/webapps directory in my personal account, but I can't seem to JkMount it, and I can't figure out why. Here is the mod_jk portion of my httpd.conf file: #mod_jk stuff LoadModule jk_module modules/mod_jk.so JkMount /*.jsp wrkr JkMount /servlet/* wrkr # Deny direct access to WEB-INF <LocationMatch ".*WEB-INF.*"> AllowOverride None deny from all </LocationMatch> Alias /michael /home/michael/webspace/webapps <Directory /home/michael/webspace/webapps> Options FollowSymLinks AllowOverride None </Directory> I don't know if I need that <LocationMatch> stuff - It was part of a <VirtualHost> block that seemed to be unecessary, so I took it out. I tried putting my JkMount statements inside the <Directory> block, but when I tried to restart Apache it gave me the following error: JkMount can not have a path when defined in a location In /home/michael/webspace/webapps there is a file called colors.jsp. When I navigate my browser to www.espersunited.com/michael/colors.jsp I get the Tomcat 404 error, yet when I navigate to www.espersunited.com/index.jsp I get the Tomcat start page. What am I doing wrong? --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]