TCMS 1.5 Installation

Before you begin

For Linux installation, please follow instructions supplied with PHP and MySQL regarding compilation options that must be used to properly compile Apache web server. For Windows, use installer with default installation options.

Useful Links

  Windows Linux
Apache Use Microsoft IIS http://httpd.apache.org/
PHP http://www.php.net/downloads.php
MySQL http://dev.mysql.com/downloads
MySQL Administrator http://dev.mysql.com/downloads/administrator
MySQL Query Browser http://dev.mysql.com/downloads/query-browser
MySQL Control Center
This tool is depreciated, but still useful and works fine.
mysqlcc-0.9.4-win32.zip (3.5 Mb)
N/A

 

Step 1 - TCMS Software Components & Installation

This documentation assumes that you have already extracted content of this archive. Now, please make sure that folder where you extracted the files contains folders "geniesys.net" and "tcms". If not, please check option in your Zip program to use folder names and repeat this operation.
Linux commands to extract files are:
    > gunzip tcms*.tar.gz
    > tar -xf tcms*.tar

Content of the archive:

/tcms/* - TCMS software
/geniesys.net/* - shared libraries, images, and style sheets
(all files in top folder are for your convenience and can be removed later)

Installation

  Windows Apache-Linux
1. Copy "geniesys.net" and "tcms" folders to the root directory of your web server x:\Inetpub\wwwroot this is usually /var/www/html
2. Create web application

Start IIS Manager tool.
Locate "tcms" folder and open its "Properties".
Under "Directory" tab in "Application Settings" box click "Create" button.
Application name : TCMS
Execute permissions : Scripts Only
Application protection : Medium

Click on "Configuration" button.
Verify that "Enable session state" is checked, "Session timeout" is 20 (or more) min., and "Enable buffering" is checked.

N/A


Note:

 

Step 2 - Modify php.ini

This step is necessary only for installation on Linux platform. PHP installation on Windows usually does not require any additional changes, however you should verify this as well.

On Windows php.ini is located in %WINDIR% directory.

On Linux systems location depends on particular Linux distribution, the source from which you obtained your PHP and version.

PHP4/RHEL - /etc/
PHP5/suseLINUX 10.x - /etc/php5/apache2

Locate and edit your php.ini and set configuration as shown:

magic_quotes_gpc = On
error_reporting = E_ALL & ~E_NOTICE (or appropriate level when, at least, notices are suppressed. See comments in php.ini for more options.)
short_open_tag = On
display_errors = On

Changes take effect after web server is restarted

/usr/sbin/apache2ctl restart

 

For troubleshooting PHP at runtime use http://host/tcms/phpinfo.php

 

Step 3 - Create your tcms database

Default TCMS configuration is set to look for MySQL database on "localhost". If your database located on another host please edit /tcms/scripts/config.php and specify IP address of that server. Using host name instead of a fixed IP address is permitted, but it will cause frequent name lookups.

 

Windows Linux

Start Command Prompt (cmd.exe)

>cd c:\Inetpub\wwwroot\tcms
>c:\mysql\bin\mysql.exe -u root -p < create_tcms_db.sql

Enter MySQL root password when prompted.

Start shell

shell> cd /var/www/html/tcms
shell> /usr/bin/mysql -u root -p < create_tcms_db.sql
Enter MySQL root password when prompted.

Note: If you upgraded your mysql server from version 3.x then create_tcms_db.sql script may fail when it creates database user account "TCMS". Error will be on "GRANT ..." sql statements. If this happens, please locate and execute /usr/bin/mysql_fix_privilege_tables on Linux or mysql/scripts/ mysql_fix_privilege_tables.sql on Windows (supplied with MySQL 4.0 version). This script converts your existing database to 4.0.x level where "create temporary tables" permission was introduced.

MySQL database is now created and populated with data. The database name is "tcms".

Run your web browser and try to access http://host.company.com/tcms . If you receive "Client does not support authentication protocol requested by server; consider upgrading MySQL client" error message then change user 'TCMS' to 'TCMS40' in /tcms/scripts/config.php . [click here for more info]

TCMS application communicates with the database using MySQL UserID "TCMS" (or "TCMS40"), password "welcome". You can change database password using MySQL Admin tool or the following SQL statement:

USE mysql;
UPDATE user SET Password = PASSWORD('<new_password>') WHERE User='TCMS';
FLUSH PRIVILEGES;

If you had to change user 'TCMS' to 'TCMS40' then use this SQL statement instead:

USE mysql;
UPDATE user SET Password = OLD_PASSWORD('<new_password>') WHERE User='TCMS40';
FLUSH PRIVILEGES;

When you change password, you must also specify this new password in /tcms/scripts/config.php


To verify TCMS accounts use the following query:
USE mysql;
SELECT * FROM `user` WHERE User LIKE 'TCMS%';

Field "Host" specifies IP address of the host from which TCMS application can login. Possible values are:

% - from any address.
192.168.1.123 - only from this IP address. That would be the case when Web server is installed on another host with static IP address. Please make sure all software and hardware firewalls allow communication between web and MySQL servers on port 3306.
localhost - local only. That would be the case only when both, Web and MySQL servers are installed on the same machine.

Once everything works, you may want to tighten security by changing default value of "%" to specific IP address or localhost. Client web browser can be anywhere. It is not part of this process.

You should NOT use 'TCMS' and 'TCMS40' accounts for any other purposes. Create separate user accounts, if necessary.

 

Step 4 - TCMS Login & Administration

http://host.mycompany.com/tcms/
UserID  : root
Password: root

In the Navigator pane, click on Administration. Add more user accounts. Add/Change menu options as necessary.

You should use root account only for administration purposes.