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
.