Skip to content

Latest commit

 

History

History
134 lines (95 loc) · 3.89 KB

install.md

File metadata and controls

134 lines (95 loc) · 3.89 KB

Installation

If you'd like to install CDash in a Docker container, please see our Docker installation guide.

Prerequisite software

Before installing CDash, you will need:

PHP modules

CDash needs the following PHP modules installed and enabled.

  • bcmath
  • bz2
  • curl
  • gd
  • json
  • ldap
  • mbstring
  • pdo_mysql or pdo_pgsql
  • xsl
  • posix
  • simplexml
  • tokenizer
  • fileinfo
  • session
  • zlib

Web server configuration

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.

Download CDash

If you haven't already done so, download CDash from GitHub or clone it using git.

git clone https://github.com/Kitware/CDash

Expose CDash to the web

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.

Adjust filesystem permissions

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

Install/upgrade steps

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

Configure CDash and generate build files

If you don't already have a .env file in the root of your CDash tree, start with one based on the default configuration, and set your application key.

cd /path/to/CDash
cp .env.example .env
php artisan key:generate

Next, if you haven't already done so, create the file app/cdash/config/config.local.php and populate it with any non-default settings you require. The most important values to set here are:

  • The $CDASH_DB_* variables. These indicate how to connect to the database.
  • $CDASH_BASE_URL should be set to the root URL of CDash (ie https://localhost/CDash)
  • $CDASH_EMAIL* variables. These indicate how email should be sent.
  • $CDASH_USE_HTTPS should be set to 1 if you want to use https instead of http.

In most other cases, reasonable default values apply if the variables are not explicitly set.

Once you're happy with the contents of config.local.php, run the following command to migrate your config settings into the .env file used by Laravel.

cd /path/to/CDash
php artisan config:migrate

At this point, make sure your .env file has a APP_URL entry, and that the following line appears somewhere further down in the file:

MIX_APP_URL="${APP_URL}"

Once you're happy with your config settings, run npm to generate CDash's frontend.

# Generate build files
npm run dev

Finish CDash installation

Open up your new CDash instance in a web browser. You should be automatically redirected to install.php. 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.