eTicket

» Welcome to the eTicket project

eTicket is a PHP-based electronic (open source) support ticket system based on osTicket, that can receive tickets via email (pop3/pipe) or a web form. It also offers a ticket manager with many features. An ideal helpdesk solution for any website.

This is the "readme" documentation, for project activities visit the eTicket project.

SourceForge.net Logo

Demo: Fixr - A FREE IT Helpdesk, powered by eTicket.

Download

You can download the latest version of eTicket directly from SourceForge.net mirrors

Download: eTicket

Get Support

So you need help with eTicket? Well try here:

Give Support

If you like this project, please support it!

Support This Project

Feel free to donate using the link above. (It uses Paypal)

Please rate the project:

(HotScripts.com)

(PHP Resource Index)

(Scripts.com)

(Freshmeat.net)

(Scriptsearch.com)

Developers

If you are or want to be a developer then this section might be of some use to you.

  • To keep track of the latest updates via SVN you need TortoiseSVN.
  • You can access/checkout the SVN using svn co https://eticket.svn.sourceforge.net/svnroot/eticket eticket
  • To check the difference between your live working version and the SVN use WinMerge
  • And as an editor try PSPad
  • If you are looking for a pastebin use No Paste (rafb.net).

» Installation

Requirements are a web server that runs PHP 4.0.5 (or better) and MySQL 4.1 (or better).

To begin the automatic installation process you must prepair your enviroment by doing the following:

  1. Download the latest version of eTicket
  2. Extract all files and folders from the compressed download file
  3. Upload the contents to an appropreate directory on your webserver (eg: /public_html/helpdesk/)
  4. Create a MySQL database using either command line or phpMyAdmin

All you need to do then is visit the install path that you uploaded to, for example if you uploaded to /public_html/helpdesk/ visit: http://www.example.com/helpdesk/install/ and follow the on-screen instructions.

To start the installation process you require to have "settings.php" and "automail-settings.pl" accessible for writing. You MUST do this by chaning their chmod to "666", you can usually do this via your FTP client, or via shell or command line by doing: chmod 666 [file]

Once installation is complete you can do the following:

  • Review the contents of "settings.php" and "automail-settings.pl", ensure settings meet your requirements
  • chmod "settings.php" and "automail-settings.pl" to 644, no further editing is required
  • chmod "automail.pl" to 755, must be executable
  • If you want attachments enabled you MUST chmod 666 your attachments directory
  • REMOVE the "install" directory from your server before you continue
  • Login to the admin area to configure the helpdesk
  • Setup email handling using the piping or pop3 method
  • If you intend on using the pipe method, make sure you have SpamAssassin configured first
  • Visit the eTicket Project Page.

» Upgrading

eTicket can be both installed from fresh or upgraded from previous versions of osTicket or eTicket.

Upgrading has been tested with osTicket v1.3.x, but should work from osTicket v1.2 and above without a problem.

NOTICE: Always make backup your files AND database first!

If you ARE upgrading, (backup: attachements, settings.php and automail-settings.pl FIRST), remove all files and folders, upload the new ones, and finally restore any files you backed up.

Then, you MUST follow the upgrade sql upgrade to update the database.

» Further Configuration

Mail Handling

An important aspect of eTicket is the handling of incoming emails. There are two methods of handling incoming emails, one is the "pipe/alias" method, the second is the "pop3" method.

Each has their pros and cons, the piping method uses realtime processing of incoming emails, the pop3 method does not, however the pop3 method is best suited for people with pop3 email accounts that are not located on the local server, or cannot use the piping method.

The Pipe/Alias method (recommended)

Using this method requires the "automail.pl" (automail perl script).

Notice: If you DO USE the pipe method, you DO NOT require a POP3 email account.

  • Make sure the path to perl on line 1 is correct
  • Make sure the %config array has the correct settings for mysql (which should have changed after running the install process)
  • Make sure you upload "automail.pl" in ascii mode (it may need to be in your cgi-bin) and CHMOD it to 755

Setting up aliases in cPanel:
Add a forwarding rule for each email in each of the setup categories to automail.pl. For example forward support@example.com to "|/path/to/automail.pl" (Without the quotes)

Setting up aliases with qmail:
Create/Edit your .qmail-* for the domain you wish to forward and add a forwarding rule to automail.pl For example for support@example.com .qmail-support file should contain |/path/to/automail.pl.

Setting up aliases for sendmail:
Modify your aliases file by adding support: root, |/path/to/automail.pl and run newaliases

Setting up aliases in .procmailrc:
:0 c
* ^To.*support@example.com
|/path/to/automail.pl

Note: "/path/to/automail.pl" should be the full path (eg: /home//public_html/eticket/automail.pl).

Note: Ensure you include the "|" (aka pipe) at the start of the path when using this method.

Note: Windows users may require sendmail.exe to get this to work correctly.

The POP3 Method

Note: You should only use this method if you are unable to use the above method. (ie: If your mailbox is on a different server or you can't setup pipe mail)

  • This method requires the "automail.php" (automail php script).
  • You require a POP3/IMAP server, email address, username and password.
  • The host parameter can use the imap_open options (ie: "mail.example.com:995/ssl" access via ssl on port 995).

By default mail will only be fetched on admin or staff login, to increase fetch frequency you must use a crontab or cronjob.

Setup a cron on the local host:
Add the following to cron file normally in /etc/crontab in linix or unix based systems and adjust the time and path accordingly.
*/5 * * * * root /path/to/php /path/to/automail.php
For windows users in "Scheduled Tasks" add "c:\php\bin\php.exe c:\path\to\automail.php"

Setup a cron on a remote host:
Below are example on how to spawn automail.php from a remote server. Adjust the time and path accordingly.

# if your server supports curl:
0 * * * * curl -s -o /dev/null http://www.example.com/path/to/automail.php
# if your server supports fetch:
0 * * * * fetch -o /dev/null http://www.example.com/path/to/automail.php
# if your server supports lynx:
0 * * * * lynx > /dev/null -dump http://www.example.com/path/to/automail.php
# if your server supports wget:
0 * * * * wget -q -O /dev/null http://www.example.com/path/to/automail.php

There has been some concern over security of this file, as repeated access can cause problems. With this in mind, we advise that you rename, password protect or limit access to this file.

For example, placing this in your .htaccess file and creating a .htpasswd file, it will be password protected:

	<files "automail.php">
	AuthUserFile /home/home/.htpasswd
	AuthType Basic
	AuthName "Automail"
	require valid-user
	</files>

You can then use "http://user:pass@hostname/dir/automail.php" in the cron as per above.

Or you can limit the file to your IP address:

<files "automail.php"> Order Allow,Deny Deny from all Allow from 127.0.0.1 </files>

Note: Users can still use open.php to open a new ticket without sending any emails should you decide to use neither of the above methods.

Languages

The language file is "lang.php", by default is "English".

However, you are welcome to modify the language file by replacing the phrases.

eg: define('LANG_FATAL_ERROR','Fatal Error'); would become define('LANG_FATAL_ERROR','Erreur Mortelle'); in french.

The idea is that once a language file for your language you will not need to create another one.

Themes

As osTicket's HTML code is so deeply included in the core code its difficult to fully template eTicket at the moment.

The solution is to use "themes" to style your helpdesk to suit you.

It can also be used to make language changes to existing themes which you can share with others.

Enable/Disable Captcha

Although its not recommended, due to potential spam, you can disable captcha by simply removing "captcha.php". The rest of the script will recognise that this file is missing and will not look for it or use it.

If the security image/captcha is not working for you chances are that you don't have PHP compiled with GD

» Features

Main Features:

  • Supports aliases/piping with perl gateway
  • Supports POP3 login with optional crontab.
  • Uses Perl gateway, PHP backend, and MySQL database
  • Handles unlimited emails
  • Admin/Supporter/User panels
  • Email Intervals to prevent autoresponder loops
  • Max Allowed to limit maximum tickets user can have opened
  • Filters to remove messages in replies
  • Accept attachments and limit size

Administration Features:

  • Completely delete tickets from database
  • Create categories (departments)
  • Create Represenatives (Supporters)
  • Define groups
  • Edit or disable response messages
  • Email alerts compatible with pagers
  • and much more...

Staff Features:

  • View only tickets in departments you have access to
  • Can not delete tickets

User Features:

  • Login with email and any ticket assigned to you
  • View all tickets sent from that email

New Features include:

  • Easy to upgrade/install
  • Easy to style using themes
  • RSS feeds for clients
  • Captcha on web forms to reduce spam
  • Configurable Spam Assassin mod for automail.pl
  • Better language support with changable language file
  • Predefined/canned answer resposes
  • Better search functionality
  • Ability to assign representatives to tickets
  • Built in flash based mp3 player

Please report any problems on the eTicket project page.

» FAQ

  • Why does eTicket exist? / What happened to osTicket?
    • Until late 2007, there was no official release of osTicket since 2005, during this time many bugs, problems and issues have been idenified, yet nothing was officially released to resolve them.
    • In addition to this the official download of osTicket was removed.
    • In 2005 it was said that osTicket 2.0 was in the pipeline, however this never appeared, also as this was going to be a complete rewrite, it was suggested that you would be unable to upgrade from previous versions of osTicket to osTicket 2.0, therefore leaving a gap for support.
  • What is the difference between osTicket and eTicket?
    • The purpose of the eTicket project is to take the last official osTicket release and resolve all known problems and add requested features.
    • Almost every single peice of code has been changed, however the basic structure remains the same to make it easy for users to upgrade from the old osTicket to the new eTicket.
    • It was released under the eTicket name so people are aware of the change in development.
  • Can I upgrade from osTicket to eTicket?
    • Yes, and its very easy to do. (See Install/Upgrading)
  • Can I install eTicket from fresh?
    • Yes, and its very easy to do. (See Install/Installing)
  • Why should I upgrade from osTicket to eTicket?
    • The main reason for doing this is because of the bug fixes that have been resolved in eTicket.
    • There are many potentially fatal bugs in osTicket, I would not recomment using it, and upgrading to eTicket asap.
  • How do I disable the captcha security code?
    • Read the "Config" section.
  • Why do you recommend using the pipe method over pop3?
    • The pipe method works in real-time, as your mail server receives the mail it's processed.
    • The automail.pl script is far more developed than any other method.
  • Why do you use perl for the pipe method?
    • More people have perl installed on their system than PHP CLI.
    • Perl is already installed on most servers.
    • Not many people have PHP CLI installed on their servers.
    • Note: I'm aware I said the same thing 3 times, but it gets the point across. *grin*
  • What is the default username/password?
    • The default username is 'admin'.
    • The installer asks you for an admin password.
    • You can change these details once logged into eTicket
  • Can tickets be edited?
    • No, eTicket is an email based ticket system.
    • Once a email has been sent it cannot be edited.
    • Therefore the same goes for tickets.

Got any more questions? Ask in the Help Forum on the eTicket Project page at SF.net