Hardware and software requirements

This section presents information about the environment needed to run an OpenKM server, listing the required and optional software and providing some facts about their configuration.

This sections aims at helping you to validate or define the production environment. However, the check-list is not exhaustive and needs to be completed with the user's experience.  

Requirements

OpenKM can be installed on any operating system (Linux, Windows, Mac OS X,) since it is a multi-platform application. 

A Linux host is a good choice because this OS handles heavy I/O applications, it works with OpenKM quite well, and it is conveniently priced.

The only requirement to run the OpenKM is to have Java 8 (also called Java 1.8) installed.

Make sure you're installing OpenJDK 1.8 if you install JRE the application will not run correctly.

Checking the Java version

  1. Open a terminal:
    • On Linux or Mac OS X: open a terminal.
    • On Windows: press "windows" key + r, type cmd (or command) in the Run window and press "OK" or open the "Prompt command" from "Start > Programs > Accessories" menu.
  2. Type java -version and press Enter
    If Java is correctly installed on your computer, the name and version of the Java virtual machine is displayed:

Java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)

If Java is not installed on your computer, it will fail to display the Java version. Then, you will need to install Java (see below).

If Java is installed but not included in the PATH, it will fail to find the Java command. Then, you will need to add $JAVA_HOME/bin/ in your PATH (see: How do I set or change the PATH system variable?).

Installing Java

For Windows users

 If the required version of Java is not installed on your computer:

  1. Download it from the Oracle website (Java 8) and choose the appropriate platform for your hardware and Windows version.
  2. Run the downloaded .exe file and follow the instructions displayed.

For Linux users

You can download Java 8 from Oracle website (choose the right architecture). You can find RPM and TGZ packages to install. If you use Ubuntu the following is a better method:

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

This way your OpenJDK will be upgraded every time a new release is available. 

In case you have another OpenJDK installed (like GCJ), you can select the right one this way:

$ sudo update-alternatives --config java

For Mac OS X Users

Java packages and instructions for installation are available from the Oracle website:

Recommendations

Hardware configuration

OpenKM runs quite well on any computer with a common hardware configuration. For a better performance we recommend at least 4 GB RAM (have at least >=2GB of plenty RAM) and a fast hard disk like SATA or better.

A dual-core Intel based CPU with 3.20 GHz should be fine for a reduced number of users (30-50 concurrent users).

Be sure to have enough disk space for the document repository and its versions.

A Linux host is a good choice because this OS handles heavy I/O applications like this quite well, and it is not expensive.

It is highly recommended 64 bits architecture.

 

We suggest having a modern server with good performance.

Although OpenKM can be installed on a server with other applications, the best scenario is a dedicated server. Keep in mind that on a shared scenario other applications can have a negative effect on OpenKM.

For more information about hardware requirements consult with your sales & marketing representatives as they should provide you a hardware requirements estimation.

Try giving them as much detailed information as possible for a more accurate estimation:

  • Estimated number of concurrent users.
  • Type of users (% of reader and % of writers).
  • Estimated first year number of files.
  • Estimated number of files growing per year.
  • Estimated document size average.
  • Most common document types (MS Office, OpenOffice, PDF, etc.).

You can use your older history of documents and folders to get some of these values.

Browser support

OpenKM user interface is based on GWT framework, than means the supported browsers are determinated by GWT browser support.

Actual browsers supported:

  • Firefox
  • Internet Explorer 8, 9, 10, 11
  • Safari 5, 6
  • Chromium and Goggle Chrome
  • Opera latest version

More information at GWT Browsers and Servers.

We encourage your browser to be updated to the latest version.

We recommend Firefox and Chrome rather than IE, for several reasons; best performance, less security holes, follow the standards.

Operating systems

Linux (Known working configurations):

  • Ubuntu
  • Debian
  • CentOS
  • Red Hat Linux

Red Hat Linux is a more difficult scenario, because some packages aren't by default in the Red Hat official repositories.

Ubuntu is the preferred Linux choise. We run the tests against Linux distribution and we build the packages for it. However, any recent Linux distribution should be usable as long as:

 Windows (Known working configurations):

  • For development: Windows 7, Windows 8
  • For deployment: Windows Server 2003, Windows Server 2008, Windows Server 2012

Databases

Known working configurations:

  • MySQL
  • PostgreSQL
  • Oracle
  • SQL server

The application internally uses  Hibernate, in fact you should get it running from any of the supported Hibernate dialects, for more information read Hibernate: SQL Dialects.

JVM

Although OpenKM can run with other JDK we recommend the use of OpenJDK 8 (64 bits architecture is highly recommended).

LDAP

  • Open LDAP
  • Microsoft Active Directory

Small questionary

In questions where the expected answers are a numerical value, the average value is of particular interest.

The questions below are a basic guide to describe the document management system problem to solve and may be helpful to estimate hardware requisites:

  • Do you have an initial import of documents?
    • If so, how many?
    • If so, what is the size in GB of the data?
  • How many documents are created in a day?
  • How many documents are created in a week?
  • How many documents are created in a month?
  • How many documents are created in a year?
  • What is the expected repository size in GB for the first year ( initial import not included ).
  • What is the typical document size in your repository?
  • How many concurrent users are expected?
  • How many of the concurrents users are readers and how many writers?
  • Do you have some daily, weekly, or another kind of periodical bulk upload?
    • If so, how many documents are uploaded?
    • The bulk upload can be done in a non-working hours?
  • Will you have some integration with thirdparty-application?
    • If so, describe the usage in terms of:
      • used for reading data?
      • used for writing data?
      • how many expected queries per minute and per hour?
  • What kind of documents did you manage, standard documents like standard Office documents, PDF or less common like video, large TIFF files, etc..?
    • Describe them, especially what you know is no the most common in the companies.