Installation - Gitification/gitification GitHub Wiki

This installation guide is focused for a Linux server (RPM-based one, specifically). Modification may be needed to make it work with other operating systems.

Currently, two RPM-based Linux are tested:

  • Fedora 18 (Kernel 3.9.2-200.fc18.x86_64)
  • CentOS 6 (Kernel 3.2.13)

Git

In order to acquire our source code and to execute the server, you need to get it via github. To do so, clone our main repository and update its sub-modules:

git clone https://github.com/Gitification/gitification.git
cd gitification
git submodule update --init

Submodule may fail to be linked to the latest commit hash, if it does, follow the next procedure.

Submodule error

If the submodule is not linked correctly, use this procedure instead of the one presented before:

mkdir gitification
cd gitification
git clone https://github.com/Gitification/gitification-client.git
git clone https://github.com/Gitification/gitification-server.git

Node

First, install node with version 0.8. To do it, it is preferred to use nvm.

Based on their documentation, download the script and execute it : curl https://raw.github.com/creationix/nvm/master/install.sh | sh

Then install node 0.8 and set it to default:

nvm install 0.8
nvm alias default 0.8

Make sure that .bash_profile is actually parsed when you open a shell session (via SSH it is not, use source .bash_profile).

Node Package Manager

Once you have correctly installed node, you should have access to node package manager (npm command). This tool is used to install packages defined in package.json file.

To install packages (in node_modules file) use :

cd gitification-server
npm install
cd ../gitification-client
npm install

Grunt

Refer to the getting started guide for more information. Once you successfully installed node and node packages, it is time to install Grunt's CLI. Grunt is the task runner we chose for our project to execute several operations at once :

npm install -g grunt-cli

Then use grunt travis --verbose in order to test our client and server application (warning: client still require PhantomJS in order to be tested).

PhantomJS

In order to test our client application, we use a headless web client: PhantomJS. To install it, follow the instructions:

wget https://phantomjs.googlecode.com/files/phantomjs-1.9.0-linux-x86_64.tar.bz2
tar -xf phantomjs-1.9.0-linux-x86_64.tar.bz2
sudo mv phantomjs-1.9.0-linux-x86_64 /opt/phantomjs
sudo ln -s /opt/phantomjs/bin/phantomjs /usr/bin/phantomjs

Riak

In order to install our datastore, we first need to install Erlang (the programming language used to develop Riak). Follow these instructions to install it:

sudo yum install gcc glibc-devel make ncurses-devel openssl-devel autoconf
wget http://www.erlang.org/download/otp_src_R15B01.tar.gz
tar -xf otp_src_R15B01.tar.gz
cd otp_src_R15B01
./configure
make
sudo make install

Then, to install Riak, use the following commands:

wget http://downloads.basho.com.s3-website-us-east-1.amazonaws.com/riak/1.3/1.3.1/riak-1.3.1.tar.gz
tar -xf riak-1.3.1.tar.gz
cd riak-1.3.1
make rel

Administration

To start and manage riak, go to the folder rel/riak. There you can find the configuration file (etc/app.config), executable (bin/riak) and many more. In order to start the datastore, use the command cd rel/riak;bin/riak start.