If you'd like to install CDash in a Docker container, please see our Docker installation guide.
Before installing CDash, you will need:
- A web server: Apache or NGINX
- A database: MySQL v5.x+ or PostgreSQL v9.2+
- PHP 8.x
- Composer v2.x (to install PHP dependencies)
- npm v8 (to install Javascript dependencies)
CDash needs the following PHP modules installed and enabled.
- bcmath
- bz2
- curl
- gd
- ldap
- mbstring
- pdo_mysql or pdo_pgsql
- xsl
- posix
- simplexml
- tokenizer
- fileinfo
- session
- zlib
CDash is built on top of the Laravel framework.
Laravel's routing system requires your web server to have the mod_rewrite
module enabled.
It also requires your web server to honor .htaccess files (AllowOverride All)
.
See Laravel documentation for more information.
If you haven't already done so, download CDash from GitHub or clone it using git.
git clone https://github.com/Kitware/CDash
Only CDash's public
subdirectory should be served to the web.
The easiest way to achieve this is to create a symbolic link in your DocumentRoot
(typically /var/www
) that points to /path/to/CDash/public
.
The user that your web server is running under will need write access to the CDash directory.
In the following example, we assume your web server is run by the www-data
user.
# Modify CDash directory to belong to the www-data group
chgrp -R www-data /path/to/CDash
# Make the CDash directory writeable by group.
chmod -R g+rw /path/to/CDash
Perform the follow steps when you initially install CDash and upon each subsequent upgrade.
# Install PHP and JavaScript dependencies
cd /path/to/CDash
composer install --no-dev --prefer-dist
npm install
The next step is to configure your CDash installation. See the configuration guide for more details.
Once you're happy with your config settings, run npm
to generate CDash's frontend.
# Generate build files
npm run production
If you're upgrading from CDash v3.0 or earlier you can use the following command to migrate
your settings from config.local.php
into the .env
file used by Laravel.
cd /path/to/CDash
php artisan config:migrate
Open up your new CDash instance in a web browser. You should be automatically
redirected to /install
. Fill out the installation form to create the
database tables and the initial admin user.
Once that is complete you can create a project and start submitting builds to it.
Run the following command whenever you upgrade an existing CDash installation to a new version.
cd /path/to/CDash
php artisan migrate
This will ensure that your database schema is up-to-date.