Installing on Windows

This section of the documentation tries to describe how to install OpenKM manually. An OpenKM Installer tool does most things automatically; more information at Using the installer.

Preliminaries

In case to configure OpenKM in a cluster or sharding mode, please, before starting with the installation process, read the sections:

Check that you have enough disk size.

We recommend installing these tools:

  • Notepadd++ ( text editor)
  • Geany ( text editor ).
  • mTail ( Windows Program that works like the Unix command "tail" ).

Checking Java version

C:\> java -version

 If Java is correctly installed on your computer, the name and version of the Java virtual machine are displayed:

openjdk version "11.0.20.1"
OpenJDK Runtime Environment
OpenJDK 64-Bit Server VM

The Java version may differ depending on your installed one, but we recommend the latest 1.8 release.

We recommend also setting the JAVA_HOME variable:

setx JAVA_HOME "C:\Program Files\Java\jdk11.0.20.1" /M

Install Java

Do these steps only if Java 11 is not installed on your server.

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

  1. Download it from the Microsoft website and choose the right platform for your hardware and Windows version.
  2. Run the MSI file and follow the instructions displayed.

Installing database

Install MySQL if you do not have it already installed:

Download MySQL MSI Installer from MySQL Community Server and follow the installation wizard steps.

Installing MySQL Workbench is also a good idea if you do not have MySQL client software.

Check InnoDB is the default MySQL engine

show engines;

It should show something like this:

| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys  | YES | YES | YES |

If it does not default, modify c:\ProgramData\MySQL\MySQL Server 8.0.34\my.ini

and under [mysqld], add

default-storage-engine = innodb

After changing the default MySQL engine, the MySQL service must be restarted to take effect.

Create database

CREATE DATABASE okmdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;
CREATE USER openkm@localhost IDENTIFIED BY 'password';
GRANT ALL ON okmdb.* TO openkm@localhost WITH GRANT OPTION;

Installing Tomcat

Unzip Tomcat-9.0.76.zip to c:\

The Tomcat version numeration name can be altered to be upgraded to a major version.

Configuring Tomcat as a service

Register for the service:

Open a windows terminal as administrator.

 

cd c:\tomcat-9.0.76\bin

service.bat install

Set the JVM parameters for the Tomcat service:

cd c:\tomcat-9.0.76\bin

openkm //US//OpenKM ++JvmOptions="-Xms1024m"
openkm //US//OpenKM ++JvmOptions="-Xmx4096m"
openkm //US//OpenKM ++JvmOptions="-XX:+UseG1GC"
openkm //US//OpenKM ++JvmOptions="-XX:+UseStringDeduplication"
openkm //US//OpenKM ++JvmOptions="-XX:+HeapDumpOnOutOfMemoryError"
openkm //US//OpenKM ++JvmOptions="-XX:HeapDumpPath=%CATALINA_HOME%"
openkm //US//OpenKM ++JvmOptions="-Djava.net.preferIPv4Stack=true"
openkm //US//OpenKM ++JvmOptions="-Dmail.mime.ignoreunknownencoding=true"
openkm //US//OpenKM ++JvmOptions="-Dfile.encoding=UTF-8"
openkm //US//OpenKM ++JvmOptions="-Dsun.jnu.encoding=UTF-8"
openkm //US//OpenKM ++JvmOptions="-Djava.awt.headless=true"
openkm //US//OpenKM ++JvmOptions="-Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider"

Execute the openkmw.exe as administrator:

Check the configuration parameters:

Also, you can change "Startup type" to Automatic.

   

More information about how to configure Tomcat service on Windows at: https://tomcat.apache.org/tomcat-9.0-doc/windows-service-howto.html

Check the service

From terminal

Start the service:

$ net start OpenKM

Stop the service:

$ net stop OpenKM

From the Windows service panel

From openkmw tool

Configuring environment variables

Add to the environment path variable the bin folder:

setx PATH "%PATH%;C:\tomcat-9.0.76\bin" /M

These operations can also be done from Windows environment variables:

The following screens could be quite different depending on your Windows OS version.

 

Installing OpenKM

With Tomcat stopped, copy the OpenKM.war file into /home/openkm/tomcat-9.0.76/webapps

$ copy openkm.war c:\tomcat-9.0.76\webapps

Install third-party software:

SoftwareRequiredDescription

LibreOffice

Yes

We recommend using LibreOffice because it is compatible with Microsoft Office formats.

Tesseract

No

Download from https://tesseract-ocr.github.io/tessdoc/Installation.html and follow the installation wizard.

ClamAV

No

Download from http://www.clamav.net/download.html and follow the installation wizard.

ImageMagick

No

Tomcat bundle comes with an embedded convert tool.

If you decide to install it, go to http://www.imagemagick.org/script/binary-releases.php, download the latest binary release, and follow the installation wizard.

Take into consideration that 16 bits need more hardware resources than 8 bits.

We suggest ImageMagick-6.9.1-7-Q8-x64-dll.exe rather than ImageMagick-6.9.1-7-Q16-x64-dll.exe ( note the version numeration can be distinct due to ImageMagick version upgrade ).

GhostScript

No

Tomcat bundle comes with an embedded Ghostscript tool.

Go to http://ghostscript.com/download/gsdnld.html and follow the installation wizard if you decide to install it.

   There is also an available Extras.zip file that contains all this software as a Portable edition.

Start application

Check openkm.properties parameters

C:\> geany c:\openkm\openkm.properties

Your configuration should be something like this:

# OpenKM Hibernate configuration values
hibernate.dialect=com.openkm.db.dialect.MySQL5InnoDBDialect
hibernate.hbm2ddl=create-only

# Initial configuration - Windows
system.libreoffice.path=C:/Program Files (x86)/LibreOffice

Ensure hibernate.dialect=com.openkm.db.dialect.MySQL5InnoDBDialect is enabled if your database is MySQL.

First-time application start:

$ net start OpenKM

Use mTail Program - or equivalent - to watch the c:\tomcat-9.0.76\log\openkm.log file.

When the application is started, you'll see it in the log file in the lines:

2015-07-04 18:28:10,680 [main] INFO  org.apache.coyote.http11.Http11Protocol - Starting ProtocolHandler ["http-bio-0.0.0.0-8080"]
2015-07-04 18:28:10,688 [main] INFO  org.apache.coyote.ajp.AjpProtocol - Starting ProtocolHandler ["ajp-bio-127.0.0.1-8009"]
2015-07-04 18:28:10,692 [main] INFO  org.apache.catalina.startup.Catalina - Server startup in 41456 ms

The application will be accessible at http://YOUR_IP:8080/openkm by user:okmAdmin with password: admin. ( Do not forget to change it !). For more information: Manage users and roles.

Configure default extensions:

Go to Administration > Utilities > Database query and execute:

INSERT INTO OKM_EXTENSION (EXT_UUID, EXT_NAME) VALUES ('808e7a42-2e73-470c-ba23-e4c9d5c3a0f4', 'Live Edit');
INSERT INTO OKM_EXTENSION (EXT_UUID, EXT_NAME) VALUES ('58392af6-2131-413b-b188-1851aa7b651c', 'HTML Editor 4');
INSERT INTO OKM_PROFILE_MSC_EXTENSION (PEX_ID, PEX_EXTENSION) VALUES (1, '808e7a42-2e73-470c-ba23-e4c9d5c3a0f4');
INSERT INTO OKM_PROFILE_MSC_EXTENSION (PEX_ID, PEX_EXTENSION) VALUES (1, '58392af6-2131-413b-b188-1851aa7b651c');

Access from other computers

Access from other computers will be denied by default due to Windows Firewall configuration. To enable access from anywhere, please execute this command:

netsh advfirewall firewall add rule name="OpenKM" dir=in action=allow protocol=TCP localport=8080

Other standard additional setup configurations 

OpenKM comes with many configuration parameters. Please take a look at Recommended configuration parameters.