Search the documentation
 Show GitHub edit links  Hide GitHub edit links
Documented since: 9.5 Latest revision for: 10.5 Valid for OpenCms: 10.5.3

You want to run a website with OpenCms. So you need to set up a web server and install OpenCms on it. Here you'll learn about the hardware and software requirements for running OpenCms in the web.

For OpenCms before version 10.5 we recommend the combination of Tomcat and the Apache webserver to run OpenCms.

Since 10.5 you may run OpenCms without having installed an extra webserver besides your servlet container. A newly added servlet filter does the URL rewriting formerly done by the webserver. If you want an installation without additional webserver "Installing OpenCms" is the topic of interest. You can skip all topics concered with the Apache webserver.

Hardware requirements

Do not use a shared server. OpenCms is Java-based and you need to run a JVM on the server. Furthermore, OpenCms will keep a lot of information in the memory of the server, if you want to run a well performing website. Therefore, we do not recommend using a shared server - OpenCms will constantly allocate system resources.

Memory is the most important performance factor. Memory is much more influential than CPU speed. It is recommended to have at least 512MB of memory available.

While in most common scenarios all elements of an OpenCms installation (OpenCms itself, the DBMS, web server and servlet container) will reside on one computer, sites expecting heavy traffic will probably need a clustered configuration where the load is distributed across more than one computer. For a clustered installation use the Alkacon OCEE Cluster Manager.

Software requirements

We will just mention which software components are necessary and recommended for an OpenCms installation on a server. To get information about the currently recommended version see here.

Main server configuration

We recommend using the latest LTS release of Ubuntu Server and install the Java SE Development Kit.

Database management system

The most suitable choices are MySQL or Oracle. We recommend installing MySQL.

Servlet container

We recommend using Apache Tomcat as the servlet container.

Web server

We advise the use of Apache 2.4 as the web server for the OpenCms installation. A Tomcat servlet container can be put behind an Apache web server using the AJP protocol, which carries all request information from Apache to Tomcat. There are two implementations of AJP module:

  • mod_jk which must be installed separately
  • mod_proxy_ajp which is a standard module since Apache 2.2

They both use the AJP protocol, so they both provide the same functionality.

You can improve this page

Please contribute your suggestions or comments regarding this topic on our wiki. For support questions, please use the OpenCms mailing list or go for professional support.