== 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:
|
// +----------------------------------------------------------------------+
// 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');