OpenKM-image

Document Management System using OpenKM Deployment Guide

Step-by-step guide to installing OpenKM on Ubuntu with MariaDB, NGINX, and ClamAV integration, ensuring secure and efficient document management.

EXECUTIVE SUMMARY

Organizations often implement a Document Management System (DMS) to establish control over their document processes, ensuring trust in the accuracy and currency of the information being used. A robust DMS reduces risks associated with outdated or incorrect information, such as sending the wrong contract or design documents.

Understanding the capabilities and limitations of a DMS is crucial to setting realistic expectations. Success also depends on overcoming implementation challenges, gaining buy-in from stakeholders, and fostering an appreciation for the system’s role in organizational efficiency.

1.1 Authority

The Philippine Linux Windows Users Group (PH-LWUG) developed this document to guide the implementation of OpenKM on Ubuntu. The aim is to provide effective strategies for integrating open-source and proprietary software to achieve optimal results and flexibility.

This guideline is freely available for individuals and organizations, though attribution is appreciated.

1.2 Purpose and Scope

This guide assists individuals, organizations, professionals, non-professionals, and hobbyists in implementing and configuring a Document Management System using OpenKM on Ubuntu. The focus is on OpenKM version 6.2 and its installation on the latest Ubuntu version.

1.3 Audience

This document is intended for IT professionals, system administrators, and others planning to implement a DMS.

1.4 Document Structure

  • Section 2: Introduction to Ubuntu, OpenKM, Document Management Systems, and key terminologies.
  • Section 3: Guidelines for Ubuntu minimal installation.
  • Section 4: Steps for installing applications, dependencies, and database for deploying OpenKM on Ubuntu.
  • Section 5: Setting up a reverse proxy using NGINX for OpenKM.
  • Section 6: Configuring and integrating ClamAV for OpenKM.

INTRODUCTION TO UBUNTU, OPENKM, AND DMS

2.1 What is Ubuntu?

Ubuntu is a popular, open-source Linux distribution based on Debian, known for its ease of use and robust community support. It is widely used for desktop, server, and cloud computing environments.

2.2 What is OpenKM?

OpenKM is a free document management system with a web interface for managing files. Built using Java, it includes features like content repositories, Lucene indexing, and jBPM workflows.

2.3 What is a Document Management System?

A DMS is a computer system for tracking and storing electronic documents. It is often part of Enterprise Content Management (ECM) systems and supports tasks like document imaging, workflow, and records management.

2.3.1 Key Components of a DMS:
  • Metadata: Stores document attributes for easier retrieval.
  • Integration: Connects with other applications for seamless workflows.
  • Capture: Processes scanned documents and digital files.
  • Indexing: Tracks documents for easy classification and retrieval.
  • Storage: Manages documents, including their migration and destruction.
  • Retrieval: Supports complex searches for document access.
  • Distribution: Ensures secure and controlled dissemination of documents.
  • Security: Enforces access control and compliance.
  • Workflow: Automates document routing and approval processes.
  • Collaboration: Enables simultaneous document editing and markup.
  • Versioning: Tracks document revisions.
  • Search: Provides full-text and metadata-based search capabilities.
  • Publishing: Ensures document accuracy and compliance before release.
  • Reproduction: Maintains document integrity during scanning and printing.
2.3.2 Document Control

Proper document control ensures compliance and prevents business risks. Key practices include:

  • Reviewing and approving documents before release.
  • Maintaining version control and clear identification of revisions.
  • Ensuring availability of relevant documents at points of use.
  • Managing external documents effectively.
  • Preventing unintended use of obsolete documents.

UBUNTU INSTALLATION GUIDE

3.1 Minimal Installation

Ubuntu minimal installation provides the basic packages required to run a Linux operating system. Follow these steps:

  1. Download the latest Ubuntu server ISO from the Ubuntu website and create a bootable USB drive or burn it to a CD/DVD.
  2. Boot from the installation media and follow the on-screen instructions for a minimal installation.
  3. During the network configuration, ensure the server has internet access and a static IP address.
  4. After the installation is complete, update the system:
    sudo apt update && sudo apt upgrade -y
    

OPENKM INSTALLATION

4.1 Install and Configure Database

  1. Install MariaDB server:
    sudo apt install mariadb-server -y
  2. Secure the MariaDB installation:
    sudo mysql_secure_installation

    Follow the prompts to set the root password and secure the server.

  3. Log in to MariaDB:
    sudo mysql -u root -p
  4. Create a database and user for OpenKM:
    CREATE DATABASE openkm; 
    CREATE USER 'openkm_user'@'localhost' IDENTIFIED BY 'secure_password'; 
    GRANT ALL PRIVILEGES ON openkm.* TO 'openkm_user'@'localhost'; 
    FLUSH PRIVILEGES; 
    EXIT;
  5. Configure OpenKM to use MariaDB by editing the configuration file:
    sudo nano /opt/openkm/tomcat/conf/OpenKM.cfg

    Add the following settings:

    hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
    hibernate.connection.driver_class=com.mysql.cj.jdbc.Driver
    hibernate.connection.url=jdbc:mysql://localhost:3306/openkm
    hibernate.connection.username=openkm_user
    hibernate.connection.password=secure_password

4.2 Install OpenKM

  1. Download OpenKM from the official site:
    wget https://sourceforge.net/projects/openkm/files/latest/download -O openkm.tar.gz
  2. Extract the downloaded file:
    tar -xzvf openkm.tar.gz -C /opt/
  3. Set up permissions and make the installer executable:
    chmod +x /opt/openkm-*.run 
    sudo /opt/openkm-*.run
  4. Follow the installation wizard to complete the process.

4.3 Install Dependencies

Install the required dependencies:

sudo apt install default-jdk unzip tesseract-ocr libreoffice imagemagick ffmpeg -y

4.4 Configure OpenKM

Edit the OpenKM configuration file:

sudo nano /opt/openkm/tomcat/conf/OpenKM.cfg
Add relevant settings for OCR, OpenOffice, and other integrations. 

4.5 Start OpenKM

Modify server.xml to allow network access and start OpenKM:

sudo nano /opt/openkm/tomcat/conf/server.xml
Update the `<Connector>` section for external access. 
sudo /opt/openkm/tomcat/bin/startup.sh 
 

Access OpenKM via http://<server-ip>:8080/OpenKM using the default admin credentials.


NGINX REVERSE PROXY SETUP

5.1 Install NGINX

  1. Update the system and install NGINX:
    sudo apt update && sudo apt install nginx -y
  2. Start and enable NGINX to run on boot:
    sudo systemctl start nginx && sudo systemctl enable nginx

5.2 Configure NGINX for OpenKM

  1. Create a new NGINX configuration file for OpenKM:
    sudo nano /etc/nginx/sites-available/openkm
  2. Add the following content to the file:
    server { 
         listen 80; 
         server_name your-domain.com; 
         
         location / { 
              proxy_pass http://localhost:8080/OpenKM; 
              proxy_set_header Host $host; 
              proxy_set_header X-Real-IP $remote_addr; 
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
              proxy_set_header X-Forwarded-Proto $scheme; 
         } 
    }
  3. Enable the configuration:
    sudo ln -s /etc/nginx/sites-available/openkm /etc/nginx/sites-enabled/
  4. Test the NGINX configuration:
    sudo nginx -t
  5. Restart NGINX:
    sudo systemctl restart nginx

5.3 Verify the Reverse Proxy

Access OpenKM through the domain name configured in NGINX: http://your-domain.com.


CONFIGURING AND INTEGRATING CLAMAV

6.1 Install ClamAV

  1. Update the system and install ClamAV:
    sudo apt update && sudo apt install clamav clamav-daemon -y
  2. Update the virus definitions:
    sudo freshclam

6.2 Configure ClamAV

  1. Edit the ClamAV configuration file to customize settings:
    sudo nano /etc/clamav/clamd.conf
  2. Ensure that the service is enabled and started:
    
    
    sudo systemctl enable clamav-daemon && sudo systemctl start clamav-daemon

6.3 Integrate ClamAV with OpenKM

  1. Configure OpenKM to use ClamAV by editing the OpenKM configuration file:
    sudo nano /opt/openkm/tomcat/conf/OpenKM.cfg
  2. Add the following line to enable virus scanning:
    system.virus.scan.enabled=true 
    system.virus.scan.command=clamscan --stdout --no-summary
  3. Restart OpenKM for the changes to take effect:
    sudo /opt/openkm/tomcat/bin/shutdown.sh sudo /opt/openkm/tomcat/bin/startup.sh

BIBLIOGRAPHY

lordfrancs3
lordfrancs3

Lordfrancis3 is a member of PinoyLinux since its establishment in 2011. With a wealth of experience spanning numerous years, he possesses a profound understanding of managing and deploying intricate infrastructure. His contributions have undoubtedly played a pivotal role in shaping the community's growth and success. His expertise and dedication reflect in every aspect of the journey, as PinoyLinux continues to champion the ideals of Linux and open-source technology. LordFrancis3's extensive experience remains an invaluable asset, and his commitment inspires fellow members to reach new heights. His enduring dedication to PinoyLinux's evolution is truly commendable.

Articles: 32

Leave a Reply

Your email address will not be published. Required fields are marked *

Protected by CleanTalk Anti-Spam