Programming PHP Trouble Ticket
· Overview · News · Features · Licenseinfo · Download · FAQ · QA / Tests ·

PHP Trouble Ticket Installation


How to install and configure PHP Trouble Ticket

Before you can install and run PHP Trouble Ticket, you need a running and working installation of a webserver (preferably Apache), PHP and MySQL or PostgreSQL.

This guide only gives a quick overview over the required steps and assumes that you are familiar with the abovementioned programs and their configuration. For a more detailed installation description see the manual of PHP Trouble Ticket (TTSManual-en.pdf).

Step 1: Extraction

Extract the archive into a directory inside your webservers document tree this will create a new directory named 'PHPTroubleTicket' containing the required files and subdirectories.

Please insure that the files get the right ownership and file permissions so that your webserver process (i.e. Apache) is able to read the files. If you want to make use of the logging feature, the webserver also needs write access to the file targets defined in

Step 2: Preparation of Database

PHP Trouble Ticket needs read/write access to a MySQL or PostgreSQL database server installation. Create a database for the use by PHP Trouble Ticket and grant the TTS user read/write/lock access to that database.

Now that you have created a database and a user, you can set up the tables required by the PHP Trouble Ticket System. For this we included a script that contains the table-structures and basic data.

Import the table-structure that matches your database engine (MySQL-structure.dump or PostgreSQL-structure.dump)

Step 3: Basic configuration

The major configuration parameters can be found inside the file in the directory PHPTroubleTicket/.

The single configurations are:

The URL to reach the PHP Trouble Ticket System. This needs to contain a fully qualified hostname (even if it's just valid inside your system) -- 'localhost' will not do the trick here.
The name of the user you created in step 2
Password assigned to that user
Server the database is running on (usually this is 'localhost' unless you want to put the database on a different server than the webserver - in that case make sure that the webserver is allowed to access the database)
Name of the database created in step 2
Type of the SQL server you're running. Right now only MySQL and PostgreSQL are supported. Uncomment one of the two blocks.
Port the server runs at. (Only required for PostgreSQL)
Location of the error-logfile. Might be a relative path (like logs/error.log) - then it's located inside the PHPTroubleTicket directory, or an absolute path (like /var/log/http/TTS_error.log), or 0, which would turn off error logging completely. Make sure that the webserver daemon has write access for this file.
Location of the login-logfile. Same possibilities and caveats as the error-logfile.

These settings MUST be set correctly before you can use the PHP Trouble Ticket System.

Pay attention that the file should not be world readable (after all it contains the password to your trouble-ticket database in clear text). Make sure that the ownership and permissions on the file are set correctly so that (only) your httpd process is able to read the file! The user the httpd webserver process runs under varies from system to system.

Step 4: License string input

From TTS version 1.1 on, the proper functionality of the PHP Trouble Ticket System relies on a license code. You will get such a license code automatically when you download the source-code. Alternatively you can order a license code directly from us. Entering the license code is required even before you log into a fresh installation for the first time.

To enter the code, go to the page http://<your-server-address>/admin/license.php and fill in the four fields. You need a user with root-privilege to set a license code. Right after installation, this is the user ,,root'' with password ,,change-this!'', but if you need to change the license code later on, you have to provide the username and password of a user with root privileges in your installation.

Note that both the name and the license code must be entered precisely as you got them, or the license will be rejected. The input page will tell you if a license is okay or not.

Step 5: First Login

Included in the database-structure file is an entry for the Trouble Ticket superuser "root". After installation the password for user root is "change-this!" and you should do exactly that right away!

Changing the password from inside the Trouble Ticket is done by clicking on the login-info in the upper right corner of the window from anywhere inside the TTS, thus displaying your own user properties and from there you can modify your own user properties including the password.

While you're logged in as root you might as well go into the 'Administration' page and from there adjust the settings in both the 'Edit preferences' and 'Edit privileges' sections. This is where you personalize the PHP Trouble Ticket System to your needs.

For a detailed description of the possible configuration options, please see the handbook.

Step 6: Adding test data (optional)

To test the program you might also install the demo data by importing the file SQL-sample-data.dump using your database engine commandline tools.

If you use the sample data or you use any fictuous users with email adresses, please leave the email notification function off in the config file to avoid accidentally spamming someone or make sure that your test-system has no connection to an internet-wide email system.

To avoid this, email notifications are OFF in the default configuration now and have to be activated manually upon installation.

Step 7: Adding additional translations (optional)

PHP Trouble Ticket comes with 2 languages: german and english. Other languages are supported, yet are not packaged with the releases but offered for download independently, mainly due to the fact that we have to rely on the translators to update those language files but don't want to delay releasing updated versions of PHP Trouble Ticket just to keep the translations up to date.

The languages available are offered for download in the 'download' section on ''. You need precisely the same version as your PHP Trouble Ticket installation to have full language support.

Extract the language-pack into the subdirectory 'locale' of your PHP Trouble Ticket installation. This will create a new directory (name being the 2-letter language code) which holds both the language-files for gettext support and the php-based language support file for those not having gettext.

The language will automatically be available to people having their browser set to prefer this language and can be choosen as default language in the PHP Trouble Ticket Administration area. Just make sure the directory and it's contents are readable for the webserver process.

It might be necessary to tell Apache to reload it's configuration files. (This is at least true for all Apache 1.3.x-versions.) Without doing so Apache (or the PHP-module loaded) won't recognize the changes in the gettext-files.


If you encounter any problems with setting up and using this program or if you find any bugs, please give us feedback about it!

Before using the software take a look at the file LICENSE (located in the main installation directory) and the license information on the PHP Trouble Ticket webpage! Additional info may be found in the file CHANGELOG (in the docs-subdiretory)

Thank you for your interest in our project. Any constructive comments on the program, it's function and coding are very welcome.

Important Note: Some links on this page are referring to off-site web content not affiliated with Nightstone systems. These links are provided for informational purposes only. Nightstone systems is not responsible for the contents of these websites.
All trademarks on this webpage are property of their respective owners.
» Legal disclaimer


© 2002-2018 Nightstone Systems - Mirror: Nightstone systems