Bug tracker

Installation

Environmental compatibility

To run TestSwarm you will need a web server, a database server and PHP.
At the moment TestSwarm supports the following, but other configurations
may work as well.

Apache 2.0+, NGINX 1.2+

PHP 5.3.0+ (or PHP-FPM for NGINX)

MySQL 4.0+

cURL (for the cleanup action; see step 7)

Steps

Set up a MySQL database and create a user with read and write access.

Copy config/testswarm-sample.json to config/testswarm.json and
update the database settings. For other settings,
check the wiki.

For Apache:
Copy config/.htaccess-sample to .htaccess.
Currently the only supported webserver is Apache (which uses a .htaccess
file).
To run TestSwarm from a non-root directory, set web.contextpath to the
correct path from the web root and update RewriteBase in .htaccess.
Verify that .htaccess is working properly by opening a page (e.g.
/testswarm/projects) in your browser. If it doesn't work, make sure your
.htaccess is actually being read (e.g. by putting some jibberish into the
.htaccess file, which should result in a HTTP 500 Error). If it doesn't
get loaded, verify that AllowOverride is set to "All" (at least not to
"None") in your Apache configuration.

For NGINX:
Copy config/nginx-sample.conf to /etc/nginx/sites-available.
The file name should match your domain e.g. for swarm.example.org:cp config/nginx-sample.conf /etc/nginx/sites-available/swarm.example.org.confOpen this conf file in your editor and fill in the correct values for
YOURURL, and make sure your install is located at /var/www/testswarm
(otherwise update the file to match your install location).
Now you need to link the sites-available config to the sites-enabled config:
(replace the "swarm.example.org" with your own file name):ln -s /etc/nginx/sites-available/swarm.example.org.conf /etc/nginx/sites-enabled/swarm.example.org.conf
Now make sure that php-fpm is running: /etc/init.d/php-fpm status
if is not running start it: /etc/init.d/php-fpm start

Copy config/robots-sample.txt to robots.txt (or add similar rules to your
main robots.txt file if TestSwarm is not in the root directory).

Set storage.cacheDir to a writable directory that is not readable from the
web. Either set it to a custom path outside the web document root, or use the
default cache directory (protected with .htaccess).Chmod it:
chmod 777 cache.

Install the TestSwarm database by running:
php scripts/dbInstall.php

Create an entry in your crontab for action=cleanup. This performs various
cleaning duties such as making timed-out runs available again.* * * * * curl -s http://swarm.example.org/api.php?action=cleanup > /dev/null