I certainly don't understand the intimate details of all the parts and pieces of the different technologies or applications that I use sometimes. I have an intermediate level understanding of a lot of the parts such as Apache. Through trial and error I had figured out how to configure it to do what I wanted it to do. The old server had MOD_JK installed and would forward some requests over to my GLASSFISH server. Due to a lack of understanding I had gone through the exercise of compiling apache and mod_jk myself to get it all working. And I was pretty happy with that, he advantage of doing that is that you know exactly where all the binaries and configuration is and where it's located.
With this version of the server I'm (trying) to use the synaptic package manager and haven't had to compile anything yet. I simply clicked on Apache in the Synaptic Package Manager and it installed a working version- very simple, very painless. The configs and htdocs are a bit scattered but I found them eventually. MOD_JK came down through the synaptic package manager as well. So what do we need to do to get it all working? There are several posts that are very helpful:
Amy Roh's blog is laid out pretty clearly
Step 1) install MOD_JK (thanks Ubuntu)
Step 2) get the necessary jars from tomcat and put them in the glassfish lib. I initially installed Tomcat 6.0.14 hoping that it would have the necessary jars but it didn't. So I had to go get the recommended version (5.5.16) Jean-Francois says you only need tomcat-ajp.jar but Amy Roh's says you need 3 (tomcat-ajp, commons-logging and commons-modeler)
Step 3) enable ajp:
$GLASSFISH_HOME/bin/asadmin create-jvm-options -Dcom.sun.enterprise.web.connector.enableJK=8009
Also you need to define where the properties file is :
$GLASSFISH_HOME/bin/asadmin create-jvm-options -Dcom.sun.enterprise.web.connector.enableJK.propertyFile = <fileName>
That is it sort of... There are a couple of gotcha's on the way, but nothing that is too terribly difficult. I have to take a lot of things on faith and they usually work but when they don't things get ugly quickly. The mod_jk needs to be configured in your httpd.conf, also there is a worker.properties file that defines worker's and what they do, and the enabled MODS (taken care of on step one).
Ubuntu/Apache does have a very fancy set of commands called a2enmod and a2ensite. If you're wanting to create a virtual host you setup an virtual host file in the site-available directory and call a2ensite on it - a2enmod works about the same... read here if you're interested about it.
Next I think I'll talk about getting websvn and hgweb setup both are pretty cool. WebSvn has far more features but Mercurial is pretty dang fancy too though...
Talk to ya later.