Installation

In its current shape, theSCRUM lacks an automated installation process; and then requires some competencies to set up a MySQL database and play with Apache configuration files. Hopefully the situation will improve in the next releases…

Before starting, please ensure you meet the requirements to use theSCRUM.

Step1: Unzipping and setting up directories

Download and unzip the “theSCRUM” package at the root of your web server, or in a dedicated directory. Then copy (or rename) the three sample configuration files provided:

  • .htaccess_sample becomes .htaccess
  • .htpasswd_sample becomes .htpasswd
  • global.php_sample becomes global.php

.htaccess

You will find the following line in the “.htaccess” file:

RewriteBase /%%your-directory%%/

If you choose to install theSCRUM in a dedicated directory, please replace “/%%your-directory%%/” with your actual directory (from the root of your web server).

If you have installed theSCRUM at the root of your web server, then replace “/%%your-directory%%/” by “/“.

global.php

You will find the following line in the “global.php” file:

define('PATH_TO_ROOT', '/%%your-directory%%/');

Replace “/%%your-directory%%/” with the same value set in the “.htaccess” file.

Step2: Installing Lightview and Prototip

Purchase and download licenses of Lightview and Prototip javascript libraries by Nick Stakenburg.

Unzip Lighview package into “/%%your-directory%%/__lightview“. You should obtain the following directories:

  • /%%your-directory%%/__lightview/css
  • /%%your-directory%%/__lightview/images
  • /%%your-directory%%/__lightview/js

Unzip Prototip package into “/%%your-directory%%/__prototip“. You should obtain the following directories:

  • /%%your-directory%%/__prototip/css
  • /%%your-directory%%/__prototip/images
  • /%%your-directory%%/__prototip/js

You can also install Lightview and Prototip outside the directory where theSCRUM is, by changing the following properties in the “global.php” file:

define('PATH_TO_LIGHTVIEW', PATH_TO_ROOT . '__lightview/');
define('PATH_TO_PROTOTIP', PATH_TO_ROOT . '__prototip/');

Step3: Installing the database

Create a database for theSCRUM on your web server, as well as a MySQL user who has all privileges for accessing and modifying it.

Update the “global.php” file and fill your database hostname (i.e: localhost), database name, MySQL user and password:

define('PRODUCTBACKLOG_DB_HOST', '%%your_db_host%%');
define('PRODUCTBACKLOG_DB_NAME', '%%your_db_name%%');
define('PRODUCTBACKLOG_DB_USER', '%%your_db_user%%');
define('PRODUCTBACKLOG_DB_PASS', '%%your_db_password%%');

Using MySQL command line, PHPMyAdmin or any other MySQL tool, create the database by executing the following script in your new database:

  • /%%your-directory%%/_install/create.sql

Step4: Setting up authentication

theSCRUM relies on Apache-based authentication, then requiring mod_auth or derived modules. For a small team, a simple file-based list of users can be enough. You can also connect theSCRUM to the LDAP directory of your company.

Using a file-based list of users

By default, theSCRUM relies on Apache basic authentication, using “.htpasswd” file to store users and passwords. To know more about Apache basic authentication, please refer to Apache documentation. If you want to create new users / passwords, an .htpasswd generator can be useful.

If you want to use basic authentication, edit the “.htaccess” file and replace “/%%full_path_to%%/” with the full path to the “.htpasswd” file. For instance:

  • /opt/htdocs/thescrum/.htpasswd
  • C:/htdocs/thescrum/.htpasswd
AuthType Basic
AuthName "theSCRUM - Open source solution for agile teams"
AuthUserFile /%%full_path_to%%/.htpasswd
Require valid-user

The “.htpasswd” file provided with theSCRUM contains an user named “admin” with password “thescrum“.

Connecting theSCRUM to a LDAP directory

The procedure can vary depending on the version of Apache web server that is used. If you want to use LDAP authentication, remove all lines concerning the basic authentication from your “.htaccess” file. Then update your “http.conf” with those kind of lines: (If you want to use LDAP, I suppose you are in a company, can discuss with an IT guy who will help you doing the configuration :) )

<IfModule mod_authz_ldap.c>
<Location /%%your-directory%%>
      AuthzLDAPAuthoritative off
      AuthType Basic
      AuthBasicProvider ldap
      AuthName "theSCRUM"
      AuthLDAPURL "ldap://%%your-ldap-url%%"
      Require valid-user
</Location>
</IfModule>

Creating administration role

By default, a user named “admin” had administration role. If you want to create another user with administration role (or map an existing user from your LDAP directory), execute the following SQL query on the database:

INSERT INTO user (usr_login, usr_is_admin, usr_last_login_date) VALUES ('%%your-user-name%%', 1, NOW());

Step5: Setting up crontab to create burn down charts

To compute the burn down charts on daily basis, a job must be scheduled. On Linux, you can set up your crontab with the following line:

0 20 * * 1-5 /usr/bin/php -f /%%absolute_path_to_theSCRUM_folder%%/generate_sprint_snapshots.php

If you are using Windows, you may want to use Scheduled tasks.

Ok, I’m done…

Support, feature request or bug? Use the forum »