I manage about 85 PC's, 8 servers, and 20 or so printers -
between 4 buildings. Our userbase is not very computer literate, so
I field a lot of phone calls for general PC help, and problems. I
also have two other employees who help me out with the smaller
things from time to time, as well as setting up new PC's. Since our
business continues to grow, we have the need for more and more
computer support within our company. Sometimes, people will make a
request to one of us, and because of the other duties we have
within the company, the request had sometimes been forgotten or not
taken care of in a timely fashion. After doing a little research on
how to fix that problem, I decided to look for help desk support
software, to help us better manage requests, and keep our
Since I'm a big opensource advocate, and like to be able to tinker with any "packaged" software, I set out to find something that runs on Linux, and uses Apache, PHP, and MySQL (LAMP). I installed and tested a lot of different software, and found most packages to be much more than I needed, and too complicated. I then came across a package called "Ticket Master". The software has recently changed it's name to "phpSupport", to prevent any copyright issues with the Ticket Master company. I found phpSupport, which can be found here to be a very easy to install and use system.
The system uses a combination of php MySQL, and perl to get things done. There were a few features that I added to the base system, to make it easier to use in our environment. I am in the process of creating diff's to submit these to the author, and I also plan on posting them to the user forums on the author's website.
The system uses a perl script to intercept emails sent to a user defined "support" email address. Users simply email the request to firstname.lastname@example.org and the support email alias pipes the email to the perl script, which then adds the request to the database, and emails back the user their "Ticket ID#". The admins are also emailed that a new support request has been entered, at which point the admins use the web interface to see what has been requested. At our company, we know which problems we are responsible for, so the admin who will be dealing with the issue, then clicks on "Take Ownership", which assigns that admin as the primary admin on the ticket. The admin can then use the web interface to ask further questions, or post suggestions, and the software has the option to email back the orginal creator of the request. The user will then receive an email from the system, at which point they can reply to the email, and the perl script will parse the ticket ID, and add the reply into the database. I did some small hacking on the perl script which takes care of this, because there are a few bugs in it. For example, the script did not add any reply emails that contain escapable characters like ' and ". I used a few regexps to escape the characters, and make the db insert happy. The author also says he is currently re-writting the script to work the bugs out. The only other issue is that you cannot have the # sign in your subject email, because the system will try and add information to that ticket # ID.
I also made some small changes to the php web interface to be able to jump to any ticket ID, if you knew the number of the ticket. In the base system, you have to make a few selections to show Open, Closed or all tickets, by any admin, or group. Since the system generated emails always refer to the ticket ID number, I thought it was easier to directly enter the ticket ID to make comments on it.
There are also some search options which I also plan on enhancing. This is where I think the system will really be helpful for the computer support team - by being able to look up past problems, and how they were resolved. This will especially be useful for cross training, or when someone is on vacation, to see how a particular problem was delt with.
phpSupport also has an interface for the users, to see what progress is being made on their ticket. The user has to enter their email address, and ticket ID to see their ticket. To save some time on typing, I hacked this up a bit, to bring in all our company email addresses from our ldap server in a drop down box, so the user simply has to use the dropdown box to select their email, and put in their ticket ID number. Since it grabs email addresses from the ldap server, it keeps the system dynamic.
phpSupport has really helped out our support department, as well as provide a way for us to see what problems most people are having, which can then help out with training users. The training also extends to our support department, for larger issues which I usually take care of, and shows other admins how I solve more complex issues if the same issue should arise in the future. I have also added the support email address to our server's that are configured to send errors, backup failures, or any other software problems so we always have a database of problems and resolutions. The fact that phpSupport is opensource has also given me the ability to add features that are not in the base product, but fits our companys' needs.
The requirements for phpSupport can be found here
Got something to add? Send me email.
More Articles by Bruce Garlock © 2009-11-07 Bruce Garlock
The people I distrust most are those who want to improve our lives but have only one course of action in mind. (Frank Herbert)