This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I'm presently running Tomcat 3.3.1 on a Red Hat 6.2 server on port 8080, which is the default port for Tomcat. The problem occurs when I try to switch to port 80. After I edited to the server.xml to change the HttpConnector to port 80, running Tomcat gave me a permission denied message on port 80, followed by a really long stack trace. I also tried changing to port number to 90, and I got exactly the same error message. Our Red Hat 6.2 server was originally set up by an employee who has since been laid off from my company. He configured the installation to be ultra-secure, disabling such programs as the FTP command-line client and even ping Now that this guy no longer works for us, there is no hard-core Linux expert at my company. We're left to scratch our heads and try to figure this out. Where do I start? How do I change the Linux configuration so that port 80 will be free for tomcat to use? We have no other option. A very large client specifically requested that we reconfigure Tomcat to run on port 80.
As much as anything I think this is actually an analysis and requirements issue. You say your client wants you to run Tomcat on port 80. Is this really what the client wants, or do they just want a URL for your web application which doesn't have a port number in it ? If they just want a simple URL, then you should be able to put a little port-redirector on another machine (or in your firewall/router etc) which redirects all traffic for port 80 to port 8080 "behind the scenes". Alternatively, if you already have an Apache running on port 80, you should be able to configure it to hand off all or some of its traffic to Tomcat (see the Tomcat web site for details of integration with Apache). As another alternative, Java is portable, so do you really have to run your web application on a Linux machine? If you have admin skills for another operating system with Java support (Windows, for example) why not put Tomcat, and thus your application on port 80 of some spare Windows machine. To offer more detailed advice we really need to know a bit more about what the real possibilities and constraints you are facing boil down to.