Helpdesk, crm, or Ticket system type script in PHP?

A client of mine is on a very small budget and would like a helpdesk system. Preferably a web based helpdesk system compatible with a PHP and MySQL hosting environment.

Needed features: (Although if needed, can work around not having them)
1. Can create custom fields for both tickets and account details:
- Fields that only Internal support can see like internal notes.
- Extra fields depending on which department the user chose.

2. Email piping, to turn incoming emails into tickets.
3. Client area, so they can submit tickets online and keep track of them.
4. Free or very very low cost.

Optional Features but highly desired:
1. Forum Integration.
- Basically a bridge or integrated lightweight forum so users don't need to different logins. Also so when they log in the system they are automatically logged into both the support helpdesk and forum system.

I use vtiger for my company. It is a full blown opensource CRM with a ticketing system. It is a web front end. You can than add the customer portal which will add a web front end for clients or users to add tickets. I have it running on Debian Linux, but comes packaged for other OS platforms. The install is pretty cool, you can either download the source and compile it your self or download a full package which will install mysql, apache php and the rest of the stuff by just executing the script.