Menu

Installation

Jason Cleeland

Installing OpenCaseTracker

Prerequisites

OpenCaseTracker is PHP software that is designed to be installed on a web server, and to have access to a MySQL database.

So before you download or install this, you need to ensure you have access to a computer that

  • runs a webserver (such as Apache),
  • can run PHP scripts (ie: PHP is installed),
  • runs MySQL database, and you have rights to create/modify databases on it
    • Yes, you can also use PostgreSQL

If these requirements are met, you can proceed to the file installation.

File Installation

First, download the zip file, and then unpack it into your webservers public html folder. Generally you will want to install this in a subdirectory of your public_html or www directory, but you could install it to the root if this is to be a single-purpose server.

I would generally create a folder called "opencasetracker", and extract all the files to there.

Make sure that the file permissions for the /opencasetracker/attachments folder are 777 - the script needs to be able to create files in this directory. You should also make the file permissions for the /opencasetracker/scripts/email_temp directory 777.

After copying the files to your web folder, the second stage is to set up a database.

Database

You'll need to create an empty database in MySQL to install OpenCaseTracker. Create your empty database, and note the username and password required to access it. It's easiest for backup purposes to have a seperate database just for OpenCaseTracker, however you could share a database with another app if you can't create a new one. The default setup expects a database called "oct".

Configuration File

Using a text editor, open the file:

casetracker.conf.php

There are a number of modifications you will need to make to this file in order for your installation to work. Most of the modifications need to know the full path of your installation. On the average linux webserver, your root folder (if you've installed into a directory called opencasetracker) will be:

"/var/www/opencasetracker"

If this is the case, modify the following lines in the {general} section to:

basedir = "/var/www/opencasetracker/";
adodbpath = "/var/www/opencasetracker/classes/adodb/adodb.inc.php";
jpgraphpath = "/var/www/opencasetracker/classes/jpgraph";
attachmentdir = "/var/www/opencasetracker/attachments";

Change the lines in the {email} section to:
classdir = "/var/www/opencasetracker/scripts/pop3class/";
tempdir = "/var/www/opencasetracker/scripts/emailtemp/";

Change the line in the {jpgraph} section to:
jpgraphdir = "/var/www/opencasetracker/classes/jpgraph/src";

Once you've modified all the file paths, make other required changes in the configuration file. At the least you should set the database information.

You should also set up the "email" section to reflect your local email server. In normal use OpenCaseTracker sends emails when cases are modified, and can also send template emails to users.

Running the Installation Script

When you first run OpenCaseTracker, it will check for the existence of the database, and make sure it contains the required tables. If the database exists, but it is empty, OpenCaseTracker will run the installation procedures to create the required tables and insert dummy data.

Other Setup Items

Email Attachments

To be able to send emails to OpenCaseTracker you'll need access to your web server's crontab (or scheduling service).

OpenCaseTracker has a specific script that checks the local mail server for incoming emails. This script lives in the
/opencasetracker/scripts
directory, and is called "email_converter.php"

This script can be run manually in any webbrowser, by simply pointing the browser to http://www.yourdomain.com/opencastracker/scripts/email_converter.php, however it works best if you have something that runs it automatically.

My preference is to have this running every 3 to 5 minutes, so it converts emails very frequently. To do this I use my webservers "wget" command (which runs a web process) via crontab. If you don't have access to this sort of thing on your webserver, you could set up a windows PC or server that is always on to run this by installing the windows wget application, and scheduling it to run every 5 minutes or so.

Here is an example crontab entry:

*/3 * * * * /user/bin/wget -q -O - http://localhost/opencasetracker/scripts/email_converter.php

Daily email reports

OpenCaseTracker can send a report to all users detailing their currently open cases, as well as a report to a team leader summarising the current status of the system. To have this automated, you'll need to run the /opencasetracker/scripts/notifications.php script once a day.

Like the email attachments setup, this can be run manually, but is best done via crontab or scheduling.

Here is an example crontab entry:

30 06 * * 1-5 /usr/bin/wget -q -O http://localhost/opencasetracker/scripts/notifications.php

Backups

Because the source code is free to download, daily backups are not required of the source (although it doesn't hurt to make a full backup of your htdocs/public_html folder when the system is first installed as a simple method of restoring the exact version of OpenCaseTracker.

The two things that MUST be backed up regularly are:

  • The database
  • The attachments directory

These two things are the site specific data that your organisation will build during the use of OpenCaseTracker, and cannot be replaced if they are lost.

When I install CaseTracker I set up a scheduled script that dumps the MySQL database into a single SQL file - which can be used to rebuild the database easily. I also set up a script to zip/compress the contents of the /OpenCaseTracker/attachments directory. This directory is where all electronic attachments to cases are stored. The directory can get very big, so the zip script should use maximum compression, and be set to only add new files (since old files don't change).

An example MySQLDUMP command to dump the database is:
mysqldump -u username --opt oct > c:\backups\oct_database.sql

(this will create a SQL file into the c:\backups directory)

An example windows script to perform the zip compression of the attachments directory using 7-zip is:
"c:\Program Files\7-Zip\7z" u -r -mx9 c:\backups\attachments.zip c:\wamp\www\attachments


Related

Wiki: Home