Difference between revisions of "CDash:Installation"

From KitwarePublic
Jump to navigationJump to search
Line 15: Line 15:
== Downloading CDash ==
== Downloading CDash ==
The '''current stable release of CDash is 1.6.4''' you can either download it as a zip archive
The '''current stable release of CDash is 1.8.2''' you can either download it as a zip archive
* [http://www.cdash.org/download/CDash-1.6.4.zip CDash-1.6.4.zip]
* [http://www.cdash.org/download/CDash-1.8.2.zip CDash-1.8.2.zip]
* or from the [http://subversion.tigris.org/ Subversion] repository:
* or from the [http://subversion.tigris.org/ Subversion] repository:
   svn co https://www.kitware.com:8443/svn/CDash/Release-1-6-4 CDash
   svn co https://www.kitware.com/svn/CDash/Release-1-8-2 CDash
=== SVN Development version ===
=== SVN Development version ===
Line 28: Line 28:
=== Previous versions of CDash ===
=== Previous versions of CDash ===
* '''1.4''': [http://www.cdash.org/download/CDash-1.4.1.zip CDash-1.4.1.zip] or svn co https://www.kitware.com:8443/svn/CDash/Release-1-4 CDash
* '''1.6''': [http://www.cdash.org/download/CDash-1.6.4.zip CDash-1.6.4.zip] or svn co https://www.kitware.com/svn/CDash/Release-1-6 CDash
* '''1.2''': [http://www.cdash.org/download/CDash-1.2.1.zip CDash-1.2.1.zip] or svn co https://www.kitware.com:8443/svn/CDash/Release-1-2 CDash
* '''1.4''': [http://www.cdash.org/download/CDash-1.4.1.zip CDash-1.4.1.zip] or svn co https://www.kitware.com/svn/CDash/Release-1-4 CDash
* '''1.0''': [http://www.cdash.org/download/CDash-1.0.zip CDash-1.0.zip] or svn co https://www.kitware.com:8443/svn/CDash/Release-1-0 CDash
* '''1.2''': [http://www.cdash.org/download/CDash-1.2.1.zip CDash-1.2.1.zip] or svn co https://www.kitware.com/svn/CDash/Release-1-2 CDash
* '''0.8''': [http://www.cdash.org/download/CDash-0.8.zip CDash-0.8.zip] or svn co https://www.kitware.com:8443/svn/CDash/Release-0-8 CDash
* '''1.0''': [http://www.cdash.org/download/CDash-1.0.zip CDash-1.0.zip] or svn co https://www.kitware.com/svn/CDash/Release-1-0 CDash
* '''0.8''': [http://www.cdash.org/download/CDash-0.8.zip CDash-0.8.zip] or svn co https://www.kitware.com/svn/CDash/Release-0-8 CDash
== Configuration ==
== Configuration ==

Revision as of 04:45, 13 December 2010

< CDash Main Page

CDash is a LAMP application, running on Apache using PHP to access a MySQL or PostgreSQL database.

System Requirements

  • Apache
  • SQL database
    • MySQL database (5.x and higher)
    • PostgreSQL database (8.3 and higher)
  • PHP (5.3 and higher)
  • XSL module for PHP
  • cURL module for PHP (for site statistics)
  • GD module for PHP (for regression tests)

Downloading CDash

The current stable release of CDash is 1.8.2 you can either download it as a zip archive

 svn co https://www.kitware.com/svn/CDash/Release-1-8-2 CDash

SVN Development version

CDash is available from the development Subversion repository. Either extract the code into your web server tree, or another directory which will later be copied to the web server:

cd /srv/www/htdocs
svn co https://www.kitware.com/svn/CDash/trunk CDash

Previous versions of CDash


The system configuration is stored in .../CDash/cdash/config.php, however it's recommended to create a config.local.php in the same directory and overwrite the necessary variables using your favorite ASCII editor.

WARNING: If creating the config.local.php from config.php make sure you DELETE any text after the 'DO NOT EDIT AFTER THIS LINE' otherwise your configuration file will be referencing each other.

SQL Database

If you are running the MySQL database on the same server as the Apache web server the defaults should work with no changes:

// Hostname of the MySQL database 
$CDASH_DB_HOST = 'localhost';

// Login for MySQL database access
$CDASH_DB_LOGIN = 'root';

// Password for MySQL database access

// Name of the MySQL database
$CDASH_DB_NAME = 'cdash';

If your MySQL (>= v5) server is set to strict mode, CDash will not work! The reason is that in strict mode, integer columns will not accept the empty string "" as 0 (zero). "" is what the CDash forms currently return for unchecked checkboxes. You'll have to remove the setting STRICT_TRANS_TABLES from the global sql mode parameter. You can query the current setting like this: SELECT @@global.sql_mode;

For more information and more specific settings see the MySQL sql mode documentation.

If you have just installed MySQL don't forget to start it:

rcmysql start

PostgreSQL Database

If you are running the PostGreSQL database read the previous MySQL section about configuring the database access. You will also need to tell CDash to use PostgreSQL driver:

 // Database type (empty means mysql)
 $CDASH_DB_TYPE = 'pgsql';

Here is list of packages necessary on ubuntu

 sudo apt-get install php-pear
 sudo pecl install pdo 
 sudo apt-get install php5-dev
 sudo pecl install pdo
 sudo pecl install pdo_pgsql


You should probably edit the default email addresses:

// Default from email
$CDASH_EMAILADMIN = 'admin@cdash.org';
$CDASH_EMAIL_FROM = 'admin@cdash.org';
$CDASH_EMAIL_REPLY = 'noreply@cdash.org';


As of CDash 1.4, authentication to an LDAP database can be performed. This requires the ldap module for php. The variables to define:

 $CDASH_USE_LDAP='1'; // turn this to 1 for LDAP authentication
 $CDASH_LDAP_HOSTNAME='localhost'; // hostname of the LDAP server
 $CDASH_LDAP_BASEDN='ou=people,dc=organization,dc=com'; // Base DN
 $CDASH_LDAP_PROTOCOL_VERSION='3'; // LDAP protocol version

Note that the administrator (first user to install CDash) is always stored in the database.

Backup directory

The backup/log directory by default is placed in .../CDash/backup, this must be made writable by the account that you run Apache under (typically wwwrun), you can move the directory via:

// Backup directory

Removing registration

The registration can be disabled globally from CDash.

// Doesn't provide registration links

Cookie expiration time

As of CDash 1.2 the login cookie time can be set in the config.php. The default is set to 1 hour.

// Duration of the cookie session (in seconds)

This allows the browser to remember the login/password of the user. On a public computer it is recommended to always log out

Google Maps

CDash can use Google maps to display the location of submission sites. CDash comes with Kitware's key code which won't work for your site's URL. Every site that uses Google maps requires its own Google maps key which you should obtain from Google (it's free), use this style URL when applying for a key:


Paste your newly obtained key in place of Kitware's:

$CDASH_GOOGLE_MAP_API_KEY['localhost'] = 'paste key here';

You may also add multiple keys (wighout the http://) and they will get matched by $_SERVER['HTTP_HOST']

$CDASH_GOOGLE_MAP_API_KEY['www.vtk.org'] = 'paste key here';
$CDASH_GOOGLE_MAP_API_KEY['www.cdash.org'] = 'paste another key here';

If your submission machines use private IP addresses you can add default location information, e.g. for all machines in the 192.x.x.x network (use http://maps.google.com to obtain your location):

$CDASH_DEFAULT_IP_LOCATIONS[] = array("IP" => "192.*","latitude" => "42.6612","longitude" => "-73.7689");

Sometimes site location are misreported (e.g. the ISP's location is used), you can override these:

$CDASH_DEFAULT_IP_LOCATIONS[] = array("IP" => "76.65.240.*","latitude" => "43.667","longitude" => "-79.417");

You'll probably want to replace the defaults that are present.

Note: If you use the 192.x.x.x address range ensure you update the location information before submitting from any machines in this subnet, as the location is stored in the database on first submission from a site (but can be subsequently edited from the admin web pages).

Google Analytics

CDash can use Google analytics to monitor site usage. CDash's main index.php contains a reference to a default Kitware Google analytics code:


When you configure each project you will have the opportunity to set a per-project Google analytics code. See Adding GoogleAnalytics for more information.

RSS directory

Ensure that the .../CDash/rss (and .../CDash/backup) directory is writable by the user account that Apache runs under (typically wwwrun).


Ensure that the /srv/www/htdocs/CDash tree is accessible, you may have to add the following to your /etc/apache2/conf.d directory:


<Directory /srv/www/htdocs/CDash>
   Order allow,deny
   Allow from all

You may need to restart Apache:

rcapache2 restart

Creating database

Access your website to start the install process:


The first step will confirm the host login and password for the database, the default admin account and password are also displayed, make a note of these as you'll need them later, as its easy to skip past this step missing them (you can always find them in .../CDash/sql/cdashdata.sql).

Production Mode

In order to disable the installation script, especially when the database is not accessible. You should turn on the option:


in your config.local.php

GIT support

CDash 1.7 and higher are supporting GIT for daily update and also support the main GIT viewer (github, gittorious, etc...). In order to fetch the daily update, a bare (--bare) repository should be created for each project on the CDash server. Every night, CDash will fetch or clone the repository and parse the result of the 'git whatchanged' command. In order to allow git support.

  • Create a 'git' directory and give the web server full write access to it
  • Edit your config.local.php and add these values corresponding to your system configuration
 // Define the git command
 // The default git directory where the bare repositories should be created

See Also

The CDash web site's brief install instructions