Eventum Setup and Configuration
Installation
  • Unpack files to a web-enabled folder (such as “/var/www/html/support/bugs”).
  • Set file permissions for installation:
    $ chmod -R 644 ../bugs (or whatever the eventum directory is called)
    $ chmod 755 css/ customer/ docs/ images/ include/ js/ locks/ logs/ manage/ misc/ reports/ rpc/ setup/ templates/
    $ chmod 777 templates_c
    $ chmod +t templates_c
    $ chmod 666 config.inc.php include/private_key.php
    $ touch error_handler.log setup.conf.php
    $ chmod 666 error_handler.log setup.conf.php
    $ chmod 777 misc/routed_emails
    $ chmod 777 misc/routed_notes
    $ chmod +t misc/routed_emails misc/routed_notes
  • File permissions AFTER installation:
    $ chmod 100 setup/
  • Database creation:
    $ mysql -u root -p
    mysql> CREATE DATABASE bugs;
    mysql> GRANT ALL ON bugs.* TO buguser@localhost IDENTIFIED BY 'bugpass';
  • Point browser to default page, and follow instructions. For example: http://www.example.com/support/bugs
  • Fill in required fields:
    • Server hostname: www.example.com
    • Eventum relative URL: /support/bugs
    • Installation path: /var/www/html/support/bugs
    • Mysql Server Hostname: localhost
    • Mysql Database: bugs
    • Mysql Username: bugsusr
    • Mysql Password: bugspass
    • SMTP Sender: eventum@example.com
    • SMTP Hostname: localhost
    • SMTP Port: 25
  • Login to newly setup site:

username: admin@example.com password: admin

  • Change email address and password for admin. Look for link “Admin User (Preferences)”.
  • Create project. Go to “Administration > Manage Projects”.
  • Create releases for project (dates must be in the future).
    • ezFIT 4.05, etc.
  • Create categories for project. For example:
    • Autofit
    • Customization
    • Database
    • Fine Tuning
    • Fitting Information
    • Fitting User Interface
    • General
    • Help System
    • Installation
    • Localization
    • Patient Information
    • Patient User Interface
    • Products: All, All Programmables, All Digital, Instinct, Nueve, Paragon
  • Create priorities for project:
    • Critical
    • High
    • Low
    • Medium
    • Not Prioritized
  • Create users that can manage projects.
  • Create cron tab script to run every 5 min. The file is /etc/cron.5min/eventum.sh (and permissions: root.root rw–r–r–):
    #! /bin/bash
    # script: /etc/cron.5min/eventum.sh
    #
    # This script performs mail routines and system checks for
    # the Eventum project and bug tracking system. It is supposed
    # to run at regular intervals (ie 5 min).
    #
    cd /var/www/html/support/bugs/misc
    
    # Mail Queue Process
    /usr/bin/php -q process_mail_queue.php
    
    # Email Download
    # Add new entries for additional accounts to process
    # These accounts must exist under "Manage Mail Accounts"
    #/usr/bin/php -q download_emails.php smayr localhost INBOX
    
    # Reminder System
    /usr/bin/php -q check_reminders.php
    
    # Hearbeat Monitor
    /usr/bin/php -q monitor.php
  • Include an entry in /etc/crontab to have this:
    */5 * * * * root run-part /etc/cron.5min
  • Alternatively, for the current user, create a user-based crontab (create using $ crontab -e) to have this:
    */5 * * * * ~/scripts/eventum.sh
  • Create related e-mail account to manage and associate with certain projects (optional):
    • Associated Project: MyProject
    • Hostname: localhost (or mail.example.com)
    • Type: imap/notls (for Linux servers)
    • Port: 143
    • Username: issues (or smayr)
    • Mailbox: INBOX
    • Auto-Creation of Issues: Disabled (or Enabled)
  • Run the following script to adjust the file permissions (optional, tailored to your organization):
    #! /bin/bash
    #
    # This script sets the permissions for Eventum (bugtracker)
    # when installed or upgraded.
    #
    #TARGET="/var/www/html/eventum"
    #WEBUSR="apache"
    #WEBGRP="apache"
    
    TARGET="/var/www/html/support/bugs"
    WEBUSR="smayr"
    WEBGRP="web"
    
    cd $TARGET
    
    # system defaults
    #chown -R apache:apache *
    #chmod 755 config.inc.php
    #chmod 750 setup.conf.php
    #chmod 770 misc/queued_emails
    #chmod 770 misc/queued_notes
    #chmod 100 setup/
    
    # example.com system defaults
    chown -R $WEBUSR:$WEBGRP *
    chmod 744 config.inc.php
    chmod 750 setup.conf.php
    chmod 770 templates_c/
    chmod +t templates_c/
    chmod 770 misc/routed_emails
    chmod 770 misc/routed_notes
    chmod +t misc/routed_emails misc/routed_notes
    chmod 100 setup/
  • IMPORTANT: Adjust the settings to match file ownership/permissions in include/class.monitor.php in order to avoid error messages from the cron job. Modify contents of misc/monitor.php (version 1.6.x) (OR include/class.monitor.php (version 1.4))
    $required_files = array(
     APP_PATH . 'config.inc.php' => array(
      'check_owner' => true,
      'owner' => 'smayr', //'apache',
      'check_group' => true,
      'group' => 'web', //'apache',
      'check_permission' => true,
      'permission' => 744, // 755,
      ),
     APP_PATH . 'setup.conf.php' => array(
      'check_owner' => true,
      'owner' => 'smayr', //'apache',
      'check_group' => true,
      'group' => 'web', // 'apache',
      'check_permission' => true,
      'permission' => 750,
      'check_filesize' => true,
      'filesize' => 1024
      ),
    );
    
    // comment this line to avoid messages 'ERROR: Could not find IRC bot pid from process list.'
    //Monitor::checkIRCBot();
  • Change the height of the summary graphics if necessary: You can change that manually on /path-to-eventum/stats_chart.php
    // A new graph
    $graph = new PieGraph(360,200,"auto");
  • If graphics are not displaying, make sure GD libraries for PHP are installed. If not, use this command to install them:
    $ yum install php-gd

2.0.1 Configuration Files

In Eventum 2.0.1 and later, the configuration files are now stored in /path-to-eventum/config. Here is a sample config.php file:

<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 encoding=utf-8: */
// +----------------------------------------------------------------------+
// | Eventum - Issue Tracking System                                      |
// +----------------------------------------------------------------------+
// | Copyright (c) 2003, 2004, 2005, 2006, 2007 MySQL AB                              |
// |                                                                      |
// | This program is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
// | the Free Software Foundation; either version 2 of the License, or    |
// | (at your option) any later version.                                  |
// |                                                                      |
// | This program is distributed in the hope that it will be useful,      |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of       |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        |
// | GNU General Public License for more details.                         |
// |                                                                      |
// | You should have received a copy of the GNU General Public License    |
// | along with this program; if not, write to:                           |
// |                                                                      |
// | Free Software Foundation, Inc.                                       |
// | 59 Temple Place - Suite 330                                          |
// | Boston, MA 02111-1307, USA.                                          |
// +----------------------------------------------------------------------+
// | Authors: Bryan Alsdorf <bryan@mysql.com>                             |
// +----------------------------------------------------------------------+

// Contains constants defined for this specific eventum installation.
// This file will not be overwritten when upgrading Eventum

ini_set('display_errors', 0);
error_reporting(0);

// definitions of SQL variables
define('APP_SQL_DBTYPE', 'mysql');
define('APP_SQL_DBHOST', 'localhost');
define('APP_SQL_DBPORT', 3306);
define('APP_SQL_DBNAME', 'mydatabase');
define('APP_SQL_DBUSER', 'mydbuser');
define('APP_SQL_DBPASS', 'mydbpassword');

define('APP_DEFAULT_DB', APP_SQL_DBNAME);
define('APP_TABLE_PREFIX', 'eventum_');

define('APP_NAME', 'Eventum');
define('APP_SHORT_NAME', APP_NAME); // used in the subject of notification emails
define('APP_HOSTNAME', 'www.example.com');
define('APP_SITE_NAME', APP_NAME);
define('APP_RELATIVE_URL', '/support/bugs/');
define('APP_BASE_URL', 'http://' . APP_HOSTNAME . APP_RELATIVE_URL);
define('APP_COOKIE_URL', APP_RELATIVE_URL);
define('APP_COOKIE_DOMAIN', null);
define('APP_COOKIE', 'eventum');
define('APP_COOKIE_EXPIRE', time() + (60 * 60 * 8));
define('APP_PROJECT_COOKIE', 'eventum_project');
define('APP_PROJECT_COOKIE_EXPIRE', time() + (60 * 60 * 24));

define('APP_DEFAULT_PAGER_SIZE', 5);
define('APP_DEFAULT_REFRESH_RATE', 5); // in minutes

// new users will use these for default preferences
define('APP_DEFAULT_ASSIGNED_EMAILS', 1);// if the user will recieve an email when an issue is assigned to him
define('APP_DEFAULT_NEW_EMAILS', 0);// if the user will recieve an email when ANY issue is created

define('APP_CHARSET', 'ISO-8859-1');

// define colors used by eventum
define('APP_CELL_COLOR', '#255282');
define('APP_LIGHT_COLOR', '#DDDDDD');
define('APP_MIDDLE_COLOR', '#CACACA');
define('APP_DARK_COLOR', '#CACACA');
define('APP_CYCLE_COLORS', '#DDDDDD,#CACACA');
define('APP_INTERNAL_COLOR', '#9C494B');

// define the user_id of system user
define('APP_SYSTEM_USER_ID', 1);

// define the type of password hashing to use (MD5, MD5-64)
define('APP_HASH_TYPE', 'MD5');

// if full text searching is enabled
define('APP_ENABLE_FULLTEXT', true);

define('APP_DEFAULT_LOCALE', 'en_US');

// 'native' or 'php'. Try native first, if you experience strange issues
// such as language switching randomly, try php
define('APP_GETTEXT_MODE', 'native');