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.
