OpenCms Documentation

Traditional installation with Apache Webserver

For OpenCms before version 10.5 we recommended 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.

In earlier OpenCms versions (< 10.5) the setup with Apache webserver was recommended, especially for URL-Rewriting. Now, a stand-alone Tomcat instance is typically sufficient - since a special filter does the rewriting.
On the other hand, if you need a proxy infront of OpenCms, HaProxy, nginx, etc. are very good alternatives to Apache webserver. So the installation process described here is deprecated.

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 2GB of memory available.

In many scenarios it will suffice if all elements of an OpenCms installation (OpenCms itself in the servlet containter, the DBMS, optionally an additional webserver) reside on one computer, or are splitted over several servers. Sites expecting heavy traffic will probably need a clustered configuration where the load is distributed across more than one OpenCms instance. For a clustered installation use the Alkacon OCEE Cluster Manager.

Software requirements

We only mention relevant components.

In essence, to run OpenCms you need:

Database management system

OpenCms supports multiple DBMS. It is best tested with MySQL/MariaDB.

Servlet container

We recommend using Apache Tomcat as the servlet container.

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.