Please read this page carefully and follow any instructions given:

System Requirements

- Server with PHP4.3 or higher. PHP5+ is recommended.
- Ability to run ionCube encoded files. For PHP5.3 or higher, version 4 loaders are required, else v3 loaders should be fine.
- 1 MySQL database to hold the script tables. MySQL5+ is recommended.
- CURL support enabled for cron override options. If you don`t know what this is, don`t worry.

Step 1: Create MySQL Database

If you haven`t already done so, create a MySQL database to hold the script tables. An existing database is fine.

Step 2: Edit Connection File

Using a good quality text editor (NOT a word processor), open the following file:


Perform the following operations:

[A] Edit database connection parameters to point to the database you wish to use. Contact your host if you aren`t sure. Prefix is required if you only have a single database. This might be something with an underscore. Its fine to leave the prefix as is, so don`t change if you aren`t sure. See notes in connection file.


define('DB_HOST', 'localhost');
define('DB_USER', 'joeblogs_admin');
define('DB_PASS', '12345XX');
define('DB_NAME', 'helpdesk');
define('DB_PREFIX', 'ms_');
[B] Specify character set for database. Can be left blank if preferred. Used for 'Set Character Set' and 'Set Names'. If you aren`t sure, utf8 should be fine. See notes in connection file:

define('DB_CHAR_SET', 'utf8');
[C] Specify locale for your database. Only really required to be changed if your language isn`t English. This will ensure text data in dates converted by MySQL is in your local language. For English, 'en_GB' should be fine for all. See notes in connection file:

define('DB_LOCALE', 'en_GB');
[D] Specify secret key (or salt). This is for security and is encrypted during script execution. Random numbers, letters and characters are recommended. You can use md5 or sha1 functions for increased security if you wish. See notes in connection file.


define('SECRET_KEY', 'fd764%^]h9[-)[87fde');
define('SECRET_KEY', md5('fd764%^]h9[-)[87fde'));
define('SECRET_KEY', sha1('fd764%^]h9[-)[87fde'));
[E] Specify cookie name for admin 'Remember Me' login. This is encrypted during script execution. Random numbers, letters and characters are recommended. Also set expiry time in days and whether cookies should only be set when a SSL certificate is detected. Leave name blank to totally disable the cookie option on admin login. See notes in connection file:

define('COOKIE_NAME', 'ms-cookie123');
define('COOKIE_EXPIRY_DAYS', 30);
define('COOKIE_SSL', 0);
[F] The option to display MySQL errors should only be enabled if you are having problems. This will display the possible problem. As its a security risk to display MySQL errors because of server paths, this is disabled by default. Instead a simple message appears whenever a MySQL error occurs. Edit as required.


NOTE! At this point you should make sure that the file didn`t save with whitespace before the opening <?php tag or after the closing ?> tag. You should also make sure that your text editor does NOT save with the Bom Byte Order Mark. This can potentially fail PHP files.

Step 3: Transfer Files to Server

Using a good FTP program such as the free FileZilla or WinSCP, transfer the 'helpdesk' folder to your web server.

Most good FTP programs auto detect 'ascii' mode for PHP files. However, if you are presented with an option, you should specify 'ascii' and not 'binary'.

- 'helpdesk' may be renamed if you wish.
- Files can also be uploaded to root of web server if you wish. Open 'helpdesk' folder and transfer files.

Step 4: Permissions

The following folders are required to have read/write permissions. On Linux 0777 or 0755 should be used:


For help on how to change permissions on a linux server using Filezilla, click here.

Step 5: Accessing the Installer or Manual Install

Once the files have transferred successfully, access the 'install' folder in your browser. An example if your website was at '':
Follow the on screen instructions. At this point if you see an error message related to ionCube, you should refer to the ionCube section!

Alternatively, if you are an advanced user and you are familiar with executing SQL files, run the following file in your MySQL database management program.

docs/schematic/mysql_5.sql (MySQL 5 or higher)
docs/schematic/mysql_4.sql (MySQL 4)

The following FREE applications can be used to administer MySQL and are all excellent:

HeidiSQL (My software of choice for local administration on Windows and one of the best free pieces of software out there)
PHPMyAdmin (Installed on many servers as the default database software. PHP based.)
SQL Buddy (Lightweight PHP based software. Great alternative to PHPMyAdmin.)
MySQL Query Browser (Alternative Windows based software from the MySQL creators)
Database Beaver (Free database management software for Windows)

NOTE: If you manually run the 'docs/schematic/*.sql' files you do NOT need to access the install folder!


If you have successfully run the installer or the SQL file manually you should make absolutely sure that the 'install' directory NO longer exists in your installation. If you wish to keep a copy of it on the server rename it or move it somewhere else.

Leaving the 'install' folder in place is a major security risk. Your helpdesk can be compromised if this file is run again. For added security the system will check that this folder does not exist.

Step 6: Update Settings / Check Paths

Log into your administration area (via the 'admin' folder) using the administrative user details you entered during install. If you ran the manual install option, log in with the following email and password:

Pass: admin

An example if your website was at '':
From the main menu select/click the following:

Check the paths for 'HTTP Installation Path' & 'Server Path to Attachments Folder' are correct. The installer will have attempted to calculate these. If they haven`t or you ran the SQL file manually, these paths MUST be correct.

You should also update any other settings to suit your requirements. Most options can remain as is for testing as the defaults should be fine.

Step 7: Crontabs/Cronjobs

The following files (in the root of your installation) should be set up to run as automated tasks:

close-tickets.php - Auto closes tickets. More info here.
db-backup.php - Database backup. More info here.
email-digest.php - Email digest with ticket info. More info here.

Step 8: SMTP Settings

SMTP is optional, but is recommended for the best performance. Maian Support utilises the PHP Mailer system for SMTP. To enable SMTP in the system, access your settings main page:

Settings > SMTP Settings
If you are testing on localhost and don`t have mail enabled, you may need to totally disable system e-mails while testing. Do this by going to the following file:

Set 'ACTIVATE_EMAILS' to 0. Remember to set it back to 1, when testing on a live server.

Step 9: Update Administrative User for Manual Install

If you ran the manual install option, make sure you update the username, email & password for this user. To do this access 'Users' in your admin area and click edit on the administrative user edit link. Only a single user would exist at this point.

Step 10: Add Additional Support Team Members/Users

If required, add more support team members. For user help, click here.

Step 11: Rename administration folder

For security it is highly recommended you rename your 'admin' folder. To do this perform the following operations:

[A] Manually rename the 'admin' folder to something unique. Letters, numbers, underscores or hyphens should be used, no special characters. [B] Access the following page in your administration area via the main menu: SETTINGS
[C] Enter your new folder name in the option 'Admin Folder Name'.

Step 12: Getting Started

Now that the system is installed, see the 'Portal' section above for an overview of the frontend ticket interface.

Departments are all thats required to get the system ready for testing, once you have added 1 or more departments give the system a run through. Maian Support offers a powerful, yet simple set of features for a fast, reliable help desk system. You`ll find links to relevant help pages via the 'Help' link in admin, which is found at the very top of the page.

Step 13: Templates/Colours/Images

Once you are getting familiar with the system, see the 'Templates' section for help on adapting the layout into an existing website or changing colours.

Step 14: Language & Text

See the Language & Text section for further assistance.

Step 15: User Defined Options

There are many other options that can be changed from within the script which may be of some use. This is for advanced users.

See the User Defined Options section for further assistance.

Step 16: Comments/Feedback

If you have comments or feedback about this system, I would very much like to hear your comments. Use the contact option on the Maian Support website.