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