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.
Demo: Fixr - A FREE IT Helpdesk, powered by eTicket.
You can download the latest version of eTicket directly from SourceForge.net mirrors
So you need help with eTicket? Well try here:
If you like this project, please support it!
Feel free to donate using the link above. (It uses Paypal)
Please rate the project:
If you are or want to be a developer then this section might be of some use to you.
svn co https://eticket.svn.sourceforge.net/svnroot/eticket eticket
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:
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:
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.
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.
Setting up aliases in cPanel:
Add a forwarding rule for each email in each of the setup categories to automail.pl. For example forward firstname.lastname@example.org 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 email@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:
Note: "/path/to/automail.pl" should be the full path (eg: /home/
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)
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.
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.
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.
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
New Features include:
Please report any problems on the eTicket project page.
Got any more questions? Ask in the Help Forum on the eTicket Project page at SF.net