Home Contact Buy Now
Home Download Video Free Buy Now Site Map Contact

Installing Time Tracker on Windows XP with IIS

Note: This procedure was tested on Windows XP SP3 and may also work for other Windows versions. This is an old document, which is provided for information only. You may wish to check the installation process.

Install MySQL Server

To install MySQL server (Community edition) 5.1.37 follow these steps:
  • Download MySQL installer package (Windows Essentials edition) from http://dev.mysql.com/downloads/mysql/5.1.html#win32 named mysql-essential-5.1.37-win32.msi or mysql-essential-5.1.37-winx64.msi corresponding to your architecture. If you are installing a different version you may try searching for it at http://www.mysql.com
  • Run downloaded .msi file to install MySQL server.
  • Accept all default options during installation and proceed to MySQL Server Instant Configuration Wizard.
  • Select Standard Configuration (instead of the default "Detailed Configuration") option.
Select Standard Configuration in Configuration Wizard
Select Standard Configuration in Configuration Wizard

  • Make sure to select the "Include Bin Directory in Windows PATH" option as on this screen:
Include Bin directory in Windows PATH
Include Bin directory in Windows PATH

  • Finally, provide and confirm the root password for your MySQL installation.
Provide root password for MySQL
Provide root password for MySQL

When Configuration Wizard completes it creates and starts a Windows service called MySQL. It's probably a good idea to check in this service exists in Start - Control Panel - Administrative Tools - Services and whether you can stop and start it again.

  • To test MySQL installation type "mysql -u root -p" at command prompt and enter root password afterwards. If everything is working you should see something like the following:
C:\>mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2.
Server version: 5.1.37-community MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> exit;
Bye

C:\>

  • Type exit; and press Enter to exit MySQL console.

Install IIS

Install Internet Information Services (web server) if you haven't done it before.

Start / Control Panel / Add or Remove Programs / Add/Remove Windows Components / Internet Information Services (IIS)

Install PHP

Install PHP for IIS & FastCGI with Microsoft Web Platform Installer as described here:

http://blogs.iis.net/bills/archive/2006/09/19/How-to-install-PHP-on-IIS7-_2800_RC1_2900_.aspx

Just click "Install Now with the Microsoft Web Platform Installed" button and accept all default settings.

Configure PHP

Open Start / Control Panel / Add or Remove Programs, choose PHP 5.x.x and click Change button.

In case when installation file is not found download it from http://windows.php.net/download/ For example, http://windows.php.net/downloads/releases/php-5.2.10-nts-Win32-VC6-x86.msi

Move forward with Next button in opened PHP Setup wizard, choose Change button in it.
Move forward without changes until "Choose items for install" page.
Then enable the following components if they were not enabled yet:
  • Extensions / LDAP
  • Extensions / Multi-Byte String
  • Extensions / GD
Disable the following component:
  • Extensions / MSSQL

Install Anuko Time Tracker

Deploy Source Code

Download Time Tracker distribution archive from here. Extract the archive into C:\Inetpub\wwwroot\. The extraction procedure will create the timetracker directory inside wwwroot.

In Windows Explorer choose Properties on C:\Inetpub\wwwroot\timetracker, switch to Security tab and add Internet Guest Account (usually named IUSR_<MACHINENAME>) with Full Access.

If you don't see Properties / Security tab, tick off Windows Explorer / Tools / Folder Options / View / Use simple file sharing.

Create Config File

Navigate to WEB-INF subdirectory in Time Tracker installation. In there, copy config.php.dist file to config.php. This is your Time Tracker configuration file.

Create a Database

Create a database for your Time Tracker to use, as well as login and password to access it. For example, if your database name is timetracker, login is ttuser and password ttpassword then start MySQL console and issue the following commands:
C:\>mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.1.37-community MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database timetracker character set = 'utf8mb4';
Query OK, 1 row affected (0.00 sec)

mysql> grant all on timetracker.* to ttuser@localhost identified by "ttpassword";
Query OK, 0 rows affected (0.06 sec)

mysql> exit;
Bye

C:\>
Check if the database was actually created by using the "show databases;" sql statement in MySQL console:
C:\>mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.1.37-community MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
| timetracker        |
+--------------------+
4 rows in set (0.00 sec)

mysql> exit;
Bye

C:\>
If you see your database entry in the list of databases then we are okay. By this point we have created a database for time tracking and defined a user / password combination to access it.

Modify the DSN Value in config.php to Access the Database

Now, when our database is created, we need to change the DSN value in time tracker config.php file (located in its WEB-INF sub-directory) to reflect the database name and user / password combination we just defined.

Edit the C:\Inetpub\wwwroot\timetracker\WEB-INF\config.php file. Change the DSN value to provide proper database name, user name, and password to access it. For example:
define('DSN', 'mysql://ttuser:ttpassword@localhost/timetracker?charset=utf8');
The above statement defines that Time Tracker code will access timetracker database on localhost as ttuser with ttpassword password.

Populate the Database

To populate the database with schema and initial data point your browser to http://localhost/timetracker/dbinstall.php and click the Create button in DB Install section (the topmost button).

Modify APP_NAME in config.php

Because we installed Time Tracker in timetracker subdirectory, we have to modify APP_NAME in config.php:
define('APP_NAME', 'timetracker');

Remove Database Install Script

Remove the file C:\Inetpub\wwwroot\timetracker\dbinstall.php

Change admin Password

Use browser to access the URL below.
http://localhost/timetracker
Login to Time Tracker as admin with the password secret and change admin password. Click the Options menu item and change admin password there.

At this point Time Tracker should be ready to use. See Time Tracker User Guide.

Troubleshoot

If something goes wrong and your Time Tracker is not working, check your web server error log.

Time Tracker Install Guide