Quick installation and upgrade overview

This chapter gives a brief overview of the installation or upgrade of an iKnowBase instance.

The process typically have the following steps:

Download and install the iKnowBase software

Directory structure

We strongly recommend that you choose a server for storing the iKnowBase software and running the installation. In most scenarios this server would be a server where the web applications will run. Here, install into a directory structure similar to the one below, with one directory for each version the actual distribution (named after the distribution version) and one directory for each iknowbase installation (each database repository):

Directory Purpose
/opt/iknowbase Root for all iKnowBase software
/opt/iknowbase/distributions Collection of all distribution files, packed
/opt/iknowbase/iknowbase-6.4 Version specific directory for the unpacked software (old version)
/opt/iknowbase/iknowbase-@app.version Version specific directory for the unpacked software (current version)
/opt/iknowbase/development Directory for a given instance (example: “development”)
/opt/iknowbase/development/custom-resources “development” instance customer specific static files (.js, .css, ...)
/opt/iknowbase/production Directory for a given instance (example: “production”)
/opt/iknowbase/production/custom-resources “production” instance customer specific static files (.js, .css, ...)

Download and install the software

Using the recommended directory structure above, install the iKnowBase software into the proper location.

mkdir /opt/iknowbase

mkdir /opt/iknowbase/distributions

mkdir /opt/iknowbase/development
mkdir /opt/iknowbase/development/custom-resources

mkdir /opt/iknowbase/production
mkdir /opt/iknowbase/production/custom-resources

cd /opt/iknowbase/distributions
# Copy iknowbase-6.6.zip to this directory (/opt/iknowbase/distributions)
cd /opt/iknowbase
unzip /opt/iknowbase/distributions/iknowbase-6.6.zip
# Note: the .zip-file contains top level directory "iknowbase-6.6"

For simplicity, and to avoid accidentally using the wrong version of the quickstart program, we also recommend creating a “quickstart.sh” script that forwards to the proper version:

# For development environment 
cd /opt/iknowbase/development
# Run the following lines including line starting with "EOF" all in one comman
cat > quickstart.sh << 'EOF'
#!/bin/bash
../iknowbase-6.6/quickstart.sh $*
EOF

chmod +x quickstart.sh


# For production environment
cd /opt/iknowbase/production
# Run the following lines including line starting with "EOF" all in one command
cat > quickstart.sh << 'EOF'
#!/bin/bash
../iknowbase-6.6/quickstart.sh $*
EOF

chmod +x quickstart.sh


Configure the repository-specific property file

You will typically have multiple iKnowBase repositories in a single database, to handle different phases in the life cycle, such as development, testing and production. We recommend that you set up a directory for each such repository, where you store configuration files, log files, etc.

For each repository, create a property file with all the required settings for connecting to the database and running the embedded web server. The name can be generic (“iknowbase.properties”) or environment specific (“production.properties”), but that is entirely up to you. A sample is provided in etc/SAMPLE.properties. Copy the sample, edit the new file and set proper values for db.URL, db.sysPassword, db.ikbUser and db.ikbPassword.

A minimal file for repository creation and configuration could look like this:

# Database connection information
db.URL = jdbc:oracle:thin:@//localhost:1521/orcl
db.ikbUser = iknowbase
db.ikbPassword = SECRETPASSWORD
db.sysUser = sys
db.sysPassword = SECRETPASSWORD

Install or upgrade the database repository

To install a fresh iKnowBase repository, run the following steps:

cd /opt/iknowbase/production

./quickstart.sh production.properties createUser
./quickstart.sh production.properties uploadFile ../iknowbase-6.6/etc/IKB_MASTER_66.dmp
./quickstart.sh production.properties importFile IKB_MASTER_66.dmp IKB_MASTER_66

# Optionally download and display import log
./quickstart.sh production.properties downloadFile IKB_MASTER_66.log .
cat IKB_MASTER_66.log

# Run upgrade scripts on the newly created installation
./quickstart.sh production.properties upgradeAll

To upgrade an existing iKnowBase repository, run the following steps instead:

./quickstart.sh iknowbase.properties exportSource source.zip
./quickstart.sh iknowbase.properties configureUser
./quickstart.sh iknowbase.properties upgradeAll

If you have any custom scripts that need to run, for example to grant permissions to custom code, run these now.

Install and run web applications

With the database repository in place, you can run the iKnowBase web applications. There are two main alternatives: Either use the embedded iKnowBase web server “iKnowBase Quickstart”, or deploy to one of the supported application servers.

Note that it is often advisable to configure the quickstart embedded web server even when you will be installing into a full application server, as this is useful for testing and troubleshooting.

Continue with the application server specific chapter: