Dashboard > OSU Help Desk > Home > (Core) Call Tracking Module Installation
OSU Help Desk Log In   View a printable version of the current page.
(Core) Call Tracking Module Installation
Added by Jason McKerr, last edited by Alex Buchanan on Aug 23, 2006  (view change)
Labels: 
(None)

This is the documentation for Release Candidate 1 or higher of the OSU Helpdesk System. It is released under the Mozilla Public License. This system is based on Bugzilla, but a great deal of functionality has been added to it to work as a helpdesk-type system. Please refer to the HelpDesk website for user documentation and features.

If you have any problems you should visit the FORUMS

Please report bugs to bugs.osuosl.org

Feel free to add comments, questions, etc at the bottom of this page.

1) Requirements:

  • IMPORTANT:  intermediate knowledge of linux systems is recommended for installing Coho.  This includes installing packages and configuration of mainly Apache, PHP, MySQL, and Perl.  Also, you will need to be familiar with the configuration file locations for your linux distribution.  Coho installation is not as simple as clicking through an installer.
  • It's important that you understand package management for your OS.  For example, Debian systems use "apt-get" to install packages, others have their own flavor.
  • Linux:  Coho Helpdesk currently only runs on Linux. It has been tested on SuSE and Debian, but should run on any RPM or .DEB based linux distribution (or even Slackware). Windows is currently unsupported. Here are requirements for your system:
  • MySQL:  Any version that supports TABLE LOCKING is OK, but you're better off with 4.0.x or higher.
  • You must have the mysql binaries installed and accessible to your web server, even if you're using mysql on another server.
  • Apache:  versions 1.3 - 2.0 has been test and work
    • Apache needs PHP and Perl installed.
  • PHP
    • php-mysql, GD extensions for PHP.
    • for PHP4 you will also need the domxml extension
  • Perl must be installed.
    • There are required perl modules that are checked when running checksetup.pl in step 7

2) Download the Helpdesk Software package here.

  • The file is in tar.gz format.
  • Untar the file into your web server documents location (often htdocs on Apache Servers). If the tar file is in that directory, use
tar -xvzf package_name.tar.gz

3) Change to your root user
4) Setup a helpdesk database.  Instructions
5) Setup your localconfig

  • Change directory (cd command) to the root directory of your application.
  • Copy localconfig.dist to localconfig using
    cp localconfig.dist localconfig
  • Use your favorite editor and open the localconfig file. You will need to edit the following settings
    ...
    $mysqlpath = "/location/of/mysql";
    ...
    $webservergroup = "www-data";                                        #you may need to change this.  Debian is "www-data",  SuSE is "www", RedHat is "apache", etc.
    ...
    $db_host = "hostname of your database server";
    $db_port = 3306;
    $db_name = "name of your database";                              # name of the MySQL database
    $db_user = "user name for your helpdesk database";        # user to attach to the MySQL database
    ...
    $db_pass = 'password for your helpdesk database';

6) Setup your definitions file

  • Change directory to <helpdesk-root>/php_auth
  • Change cp defines.php.dist to defines.php using
    mv defines.php.dist defines.php
  • Use your favorite editor and open the defines.php file. You will need to edit the following settings:
    ...
    //defs for cookies
    define ("INSTALL","/<url-of-your-app>/");
    //sample (use relative URL): define ("INSTALL","/helpdesk/");
    //also, that trailing slash is important.  Keep it.
    ...
    //helpdesk database info
    define ("DB_NAME","your-database-name");
    define ("DB_UNAME","your-database-username");
    define ("DB_PWD","your-database-password");
    define ("DB_HOST","your-database-host");
    ...
    *If you're using LDAP you should edit the following sections*
    //ldap info
    define ("LDAP_HOST","your-ldap-server");                     #example: "ldap.blah.com"
    define ("LDAP_HOST_2","your-backup-ldap-server");    #example: "ldap2.blah.com"
    define ("LDAP_PORT",your-ldap-server-port);                #example: 3268
    define ("SUFFIX","your-ldap-search suffix");                  #example: "oregonstate.edu"
    define ("BASE_DN","your-ldap-base-dn");                     #example: "DC=oregonstate,DC=edu"
    define ("BIND_DN","your-ldap-bind-dn");                       #example: CN=bind\\, hd,OU=SSG Accounts,OU=Users,OU=USE,DC=TS,DC=oregonstate,DC=edu
    define ("BIND_PWD","your-authentication-password");

7) Begin installing the application:
To setup your helpdesk system, you will run a script that will check your setup to make sure that you have the right perl packages and other things installed properly. To run this script, use

perl checksetup.pl

The script will run through and check your current setup to see what the system needs, and if you have it installed. My first run on SuSE looks something like:

Checking perl modules ...
Checking for       AppConfig (v1.52)    not found
Checking for             CGI (v2.88)   ok: found v3.00
Checking for    Data::Dumper (any)     ok: found v2.121
Checking for    Date::Format (v2.21)    not found
Checking for             DBI (v1.32)    not found
Checking for      DBD::mysql (v2.1010)  not found
Checking for      File::Spec (v0.82)   ok: found v0.86
Checking for      File::Temp (any)     ok: found v0.14
Checking for        Template (v2.08)    not found
Checking for      Text::Wrap (v2001.0131) ok: found v2001.09291

The following Perl modules are optional:
Checking for              GD (v1.20)    not found
Checking for     Chart::Base (v0.99)    not found
Checking for     XML::Parser (any)     ok: found v2.31
Checking for       GD::Graph (any)      not found
Checking for GD::Text::Align (any)      not found

If you you want to see graphical bug charts (plotting historical data
over
time), you should install libgd and the following Perl modules:

GD:          perl -MCPAN -e'install "GD"'
Chart 0.99b: perl -MCPAN -e'install "N/NI/NINJAZ/Chart-0.99b.tar.gz"'

If you you want to see graphical bug reports (bar, pie and line charts
of
current data), you should install libgd and the following Perl modules:

GD:              perl -MCPAN -e'install "GD"'
GD::Graph:       perl -MCPAN -e'install "GD::Graph"'
GD::Text::Align: perl -MCPAN -e'install "GD::Text::Align"'



Bugzilla requires some Perl modules which are either missing from your
system, or the version on your system is too old.
They can be installed by running (as root) the following:
   perl -MCPAN -e 'install "DBD::mysql"'
   Minimum version required: 2.1010
   perl -MCPAN -e 'install "DBI"'
   Minimum version required: 1.32
   perl -MCPAN -e 'install "Date::Format"'
   Minimum version required: 2.21
   perl -MCPAN -e 'install "AppConfig"'
   Minimum version required: 1.52
   perl -MCPAN -e 'install "Template"'
   Minimum version required: 2.08

You can see that I am missing a bunch of modules, both required and suggested. The suggested ones are pretty much required anyway if you want graphing, LDAP, or some other functionality. It tells you the scipts you need to run to install the modules. For example, to install the "GD" perl module run

perl -MCPAN -e'install "GD"'
  • If, at any time, you get an error like
    /ld: cannot find -lX11

    then you need to install the related development RPM or Debian package (for X11, it would be xfree86-devel, png means png-devel, etc)

  • If you get an error like
    no such group: www-data at checksetup.pl line 1144

    then you need to back to step 4 and change the webserver group information

7b) Once you have all the packages installed, rerun the check

perl checksetup.pl

If your setup is right, and packages are right, you should now see a bunch of tables being created on your database, and your should be walked through setting up the admin account.

8) Setup Apache to run Perl properly.

In your *httpd.conf your will definitely need to add the ExecCGI option. Here's a sample:

Options Indexes -FollowSymLinks +Includes MultiViews ExecCGI

Also, change your AddHandler property to have .cgi Sample:
AddHandler cgi-script .cgi .sh .pl

Finally you should have your overrides to limit

AllowOverride Limit

9) Setup HelpDesk parameters

The HelpDesk is now installed, but you will need to do some configuration.  Log in with your new admin account.  Some of the major things are:

  • Create a new helpdesk and remove the "TestProduct" helpdesk.  Do this at "helpdesks" -> "add a new helpdesk".  Once added, you need to revisit the edit page for that helpdesk to edit categories, affiliations, and group access controls not previously shown on the add page.
  • Visit "Manager Tools" -> "Add Department" and add at least one department.
  • If using any modules (KB, Cal, Inven) you should create groups to match the settings in php_auth/defines.php on lines 17, 25, and 28.  By default the two groups needed are techs and managers, but you may change these to whatever you wish as long as the settings align.

               

php_auth/defines.php ...if(USING_KB){
  define("KB_NAME","cohokb");
  define("KB_UNAME","buchanae");
  define("KB_PWD","AdMathCot1");
  define("KB_HOST","localhost");
  $db_groups = array("create" => "techs", "release" => "managers", "admin" => "admin");
  $kb_groups = array("create" => "User", "release" => "Super-User", "admin" => "Administrator");
}
if(USING_CAL){
  define("CAL_NAME","");
  define("CAL_UNAME","");
  define("CAL_PWD","");
  define("CAL_HOST","localhost");
  $groups = array("users" => "techs", "admin" => "admin");
}
if(USING_INVEN){
  $inven_groups = array("1" => "techs","2"=>"managers");
}...

10) That's it

For other issues, please refer to the this link for outstanding issues affecting this release:BUGS

In RC 1.2, if you aren't using LDAP (I'm not), you'll run into problems if you only follow these directions, as the code will still attempt to initiate LDAP authentification.

Over in the bugs section (http://bugs.osuosl.org/browse/OHD-6) there was a similar issue to the output you get, with an easy solution:

Comment out line 24 in php_auth/login.php

//$ldap_info=ldap_auth($_POST'user',$_POST'pass');

I found that I also had to comment out all instances of "use Net::LDAP" in CGI.pl, and I restored the original DBNameToIdAndCheck() in globals.pl (it's still there, just commented out).

It now seems to be working for me.

Hope that helps someone!

Posted by Alex Buchanan at Jul 05, 2006 19:08 | Permalink

non-LDAP and some other install issues have been fixed in RC 1.2+.

Posted by Alex Buchanan at Jul 05, 2006 19:09 | Permalink
Site powered by a free Open Source Project / Non-profit License (more) of Confluence - the Enterprise wiki.
Learn more or evaluate Confluence for your organisation.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.2.7 Build:#524 Jul 28, 2006) - Bug/feature request - Contact Administrators