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:

We recommend that you use the procedure above even if you intend to install the web application info a third party application server, proceeding with the third party server only when the iKnowBase web server has been verified.

Recommended directory structure

We 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
.../distributions Collection of all distribution files, packed
.../iknowbase-6.4 Version specific directory for the unpacked software (old version)
.../iknowbase-7.2.4 Version specific directory for the unpacked software (current version)
.../development Directory for a given instance (example: “development”)
.../development/plugins Directory containing all plugins (.jar files only)
.../production Directory for a given instance (example: “production”)
.../production/plugins Directory containing all plugins (.jar files only)

Download and install the iKnowBase software

Using the recommended directory structure above, install the iKnowBase software into the proper location. The assumption here is that the distribution file has been downloaded to /tmp.

sudo mkdir /opt/iknowbase
sudo chown iknowbase /opt/iknowbase
mkdir /opt/iknowbase/distributions
cp /tmp/iknowbase-7.2.4-bin.zip /opt/iknowbase/distributions/

# Note: the .zip-file contains top level directory "iknowbase-7.2.4"
cd /opt/iknowbase
unzip distributions/iknowbase-7.2.4-bin.zip

Prepare the instance-specific home directory and configuration

You will typically have multiple iKnowBase repositories, 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. This chapter describes setting up only one such instance, so you should repeat this for e.g. development, test and production.

mkdir /opt/iknowbase/production

For simplicity, and to avoid accidentally using the wrong version of the iKnowBase program, we also recommend creating a “iknowbase.sh” script that forwards to the proper version. Run the script below from each of the instance-specific directories:

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

chmod +x iknowbase.sh

For each repository, create a property file “application.properties” with all the required settings for connecting to the database and running the iKnowBase web server. A sample is provided in etc/application.properties.SAMPLE in the distribution. Copy the sample as application.properties, edit the new file and set proper values for spring.datasource.* and com.iknowbase.setup.*.

cd /opt/iknowbase/production
cp ../iknowbase-7.2.4/etc/application.properties.SAMPLE application.properties

Note that the com.iknowbase.setup.database.sysUser and com.iknowbase.setup.database.sysPassword is only required during installation and upgrade, and may be removed during normal execution, if that is required.

Note that the name “application.properties” is the default and recommended name. Changing this name requires extra environment or JVM options. See Spring Boot’s documentation for details.

Install a new database repository

Use this chapter if you are installing a new iKnowBase repository. If you are upgrading an existing repository, follow the steps in the next chapter.

1. Create user and import schema content

cd /opt/iknowbase/production
./iknowbase.sh createUser
./iknowbase.sh uploadFile ../iknowbase-7.2.4/etc/IKB_MASTER_72.dmp
./iknowbase.sh importFile IKB_MASTER_72.dmp IKB_MASTER_72

2. Optionally download and display import log

./iknowbase.sh downloadFile IKB_MASTER_72.log .
cat IKB_MASTER_72.log

3. Run upgrade scripts on the newly created installation

./iknowbase.sh upgradeAll

4. Set password for ORCLADMIN, so that you may log in with the default security setup on the iKnowBase web server (replace the example password “changeMe” with one of your own choosing):

./iknowbase.sh setIkbPassword orcladmin changeMe

Upgrade an existing database repository

Use this chapter if you are upgrading an existing repository. If you are installing a new iKnowBase repository, follow the steps in the previous chapter.

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

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

Configure and start the iKnowBase Web Application

With the database repository in place, you can run the iKnowBase web applications. There are two main alternatives: Either use the iKnowBase web server, or deploy to one of the supported application servers. This chapter describes how to configure and run the iKnowBase Web Server.

Plugins

If you have any .jar-plugins that you want to use, create a “./plugins” directory and install them there. If you have any .war-plugins that you want to install, this is more complicated. Check the chapter on Java-applications for more information.

Note: The iKnowBase Process Studio application is distributed as a plugin. If you want to use this application, add it in this step (see the iKnowBase Process Studio section).

mkdir /opt/iknowbase/production/plugins

# Copy plugins, e.g. from /where/i/keep/my/plugins/*
# cp /where/i/keep/my/plugins/*.jar /opt/iknowbase/production/plugins/

Start the iKnowBase application

To run the iKnowBase web server, use:

cd /opt/iknowbase/production
./iknowbase.sh webServer

Next steps

Generic Java applications chapter:

Application server specific chapters: