Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Since it is not trivial to get a Java servlet container, such asApache Tomcat, to listen on the "standard" TCP ports for a Web web server, this page explains alternative ways to accomplish it.

What does "port" mean? A server program, like a web server, has to "listen" (i.e. tell the operating system it is offering a service; accepts incoming requests) at a well-known port so that clients, like your Web web browser, can find it. The combination of host and port uniquely identifies a service:
For example, the URL http://dspace.mit.edu/  identifies a network service running on host dspace.mit.edu and port 80 (the default HTTP port).

It is desireable desirable to implement DSpace on the default ports so you don't have to clutter your URLs with port numbers and try to get users to remember them.

The problem arises on Unix-based servers because the default, well-known, Web web server ports are in the range that require root (superuser) privileges to listen toon. Since the DSpace server (a Java VM) should always be running as an unprivileged user, it cannot directly open these ports. It can only listen on higher-numbered ports. So, the solution is to run the JVM as an unprivileged user and find a way to accept Web HTTP requests on the standard ports and redirect them to the higher-numbered ports.

...

This allows you to use a pure Java servlet container such as Jetty or Apache Tomcat as the actual Web web server.

See your system's documentation for the iptables and iptables-save commands for more information.

...