Installation Process Overview

There are two main components to Kontrollbase. The webapp and the agent script. Each component needs to be installed in order for the application to work.

  • If you have a large database environment you might be interested in the ability to add hosts in bulk. If that is the case please see this page.

Note: You only have to setup the Webapp one time, but you do have to setup the agent script on each client host that you want to be monitored.

Reference: Location of Files

Here is a brief explanation of where the files are that you will be dealing with. You'll see these once you download the application tar.gz file and then unpack it. Directories The following directories within your installation location have special permissions requirements.
  • system/cache -> this needs to be writeable by the webserver process user.
  • system/logs -> this needs to be writeable by both the webserver.
  • system/application/config -> this needs to be writeable by the webserver process user.
  • includes/ -> this needs to be writeable by the webserver process user.
  • includes/pages -> this needs to be writeable by the webserver process user.
Files
  • Webapp files
    • MVC database config: $root/system/application/config/database.php
    • MVC general config: $root/system/application/config/config.php
    • initial schema (sql file): $root/sql/kontrollcomm-$datetime.sql
  • Client files
    • client script (called the agent): $root/bin/kontrollcomm_agent.py

Webapp Install Process

Put the webapp files in your webserver directory and set variables

This part assumes your website is being run out of "/var/www/html/my_website"
  • Unpack the tar.gz file
    • shell>cd /var/www/html/my_website
    • shell> tar xvzf kontrollcomm_$version_$release.tar.gz
  • Setup your database and database user
    • shell>mysql --user=root -p mysql> create database kontrollcomm; mysql> grant all on kontrollcomm.* to 'kontrollcomm'@'localhost' identified by '
  • Import database schema
    • shell>cd /var/www/html/my_website/sql shell> mysql --user=kontrollcomm -p kontrollcomm < kontrollcomm_schema-$datetime.sql
  • Configure the webapp and database settings
    • shell>cd /var/www/html/my_website/system/application/config shell> emacs config.php
    • In the editor set the following config.php variables as needed to reflect your particular installation.
    • $config['base_url']= "http://my_website.com/"; //USE TRAILING SLASH $config['base_dir'] = "/var/www/html/my_website"; //NO TRAILING SLASH $config['schema_readonly_name'] = "kontrollcommand"; // Schema name from database.php $db['read']['database'] $config['google_uacct']= ""; // Set this if you want to use Google Analytics
    • In the editor set the following database.php variables as needed to reflect your particular database installation.
    • $db['read']['hostname'] = "localhost"; $db['read']['username'] = "kontrollcomm"; $db['read']['password'] = "password"; $db['read']['database'] = "kontrollcomm"; . . . $db['write']['hostname'] = "localhost"; $db['write']['username'] = "kontrollcomm"; $db['write']['password'] = "password"; $db['write']['database'] = "kontrollcomm";

    Finishing up

    Open a browser and browse to the URL for your website that you installed Kontrollcomm to. If you need to setup authentication see this page: http://wiki.kontrollsoft.com/wiki/KcommUserManagement. After that you just need to setup your hosts in the Host Panel, customize your commands on the Command Control page, and bind your commands to templates, then bind templates to hosts.

    The Simplest Method for Installing the Requirements

    The easiest way to do this is to use Redhat/Centos for your server. This is because RPMforge has all of the required modules as RPM files. You may find that Ubuntu/Debian has most or all of the packages in their various repositories but we don't keep very up to date on that platform since most enterprise servers that we encounter run Redhat and, as such, the application is built and developed on that OS. So, here are the instructions for the quickets method of installing all required dependencies.

    Install the RPMforge repository RPM for your particular OS

    This is required since most of the RPMs are not found in the standard OS repositories.
    http://dag.wieers.com/rpm/FAQ.php#B

    Install MySQL client and server

    Not required if you are installing MySQL from alternate means
    yum -y install mysql mysql-server

    Install Apache and PHP requirements

    You might already have Apache installed but you may not have the other PHP modules installed.
    yum -y install httpd php php-mysql php-mbstring php-xml

    Install Python on each client server

    You probably already have Python installed, if not you can follow this command
    yum -y install python