Local Installation

This section explains how to download and install and instance of LibCrowds locally, for testing or development. If you are interested in deploying LibCrowds to a live server, see the Deployment guide.

Install VirtualBox, Vagrant and git

The easiest way to get started is by using VirtualBox and Vagrant.

We will also need to install git, which is the version control system via which both LibCrowds and PYBOSSA are distributed.

Follow the links below to download and run the appropriate installers for your operating system.

  1. git
  2. VirtualBox
  3. Vagrant

Download and run PYBOSSA

Once the above software is succesfully installed, open up a terminal and clone PYBOSSA to your local machine:

git clone --recursive https://github.com/Scifabric/pybossa.git

Setup the PYBOSSA development environment:

cd pybossa
vagrant up

Run the PYBOSSA server:

vagrant ssh
python run.py

PYBOSSA should now be running (with the default theme) at http://127.0.0.1:5000

Installing behind a web proxy

If you're installing from behind a web proxy then you will probably run into issues when attempting to start Vagrant, in which case you can try running these commands from the pybossa directory:

# set environment variables using the command for your OS (Windows example shown)
set VAGRANT_HTTP_PROXY=http://username:password@proxy_server:proxy_port
set VAGRANT_HTTPS_PROXY=https://username:password@proxy_server:proxy_port

# install the vagrant-proxyconf plugin
vagrant plugin install vagrant-proxyconf

Download and run Explicates

A server that complies with the Web Annotation Protocol is required to handle the storage and retrieval of user tags and results data.

LibCrowds has been built for use with the Explicates server, which complies with the standard protocol and has the additional search functionality required for this application. Currently, a fork of this package is recommended which fixes a bug in the local installation setup script.

Once the above software is succesfully installed, open up a terminal and clone the forked version of Explicates to your local machine:

git clone https://github.com/harryjmoss/explicates.git

Setup the Explicates development environment:

cd explicates
vagrant up

Run the Explicates server:

vagrant ssh
python run.py

Explicates should now be running at http://127.0.0.1:3000

Installing behind a web proxy

If you're installing from behind a web proxy then you will probably run into issues when attempting to start Vagrant, in which case you can try running these commands from the pybossa directory:

# set environment variables using the command for your OS (Windows example shown)
set VAGRANT_HTTP_PROXY=http://username:password@proxy_server:proxy_port
set VAGRANT_HTTPS_PROXY=https://username:password@proxy_server:proxy_port

# install the vagrant-proxyconf plugin
vagrant plugin install vagrant-proxyconf

Download and run LibCrowds

The same process is followed to setup the LibCrowds development environment:

git clone https://github.com/LibCrowds/libcrowds.git

Setup the LibCrowds development environment:

cd libcrowds
cp local.config.js.tmpl local.config.js
npm install

Run the LibCrowds server:

npm run dev
Installing behind a web proxy

If you're installing from behind a web proxy then you will probably run into issues when attempting to start Vagrant, in which case you can try running these commands from the libcrowds directory:

# set environment variables using the command for your OS (Windows example shown)
set VAGRANT_HTTP_PROXY=http://username:password@proxy_server:proxy_port
set VAGRANT_HTTPS_PROXY=https://username:password@proxy_server:proxy_port

# install the vagrant-proxyconf plugin
vagrant plugin install vagrant-proxyconf

LibCrowds should now be running, using the default settings, at http://127.0.0.1:8080.

Info

You must access the website at http://127.0.0.1:8080, rather than http://localhost:8080, otherwise it will not be possible to track the user session cookie.

However, if you attempt to open the site now you are likely to see an error message as the two servers have not yet been configured to communicate properly with each other, nor have we installed the required plugins.


The next step is to install the required Plugins.