Installation of Taiga.io on Centos 7

Update: 02.12.2017: This post is no longer accurate on the installation process.

In this tutorial, we will install Taiga.io project management system on CentOS 7 operating system. The official taiga instructions are for Ubuntu and certain changes are required for the same process to work in CentOS. In this tutorial I will use my own setup as an example. I will install Taiga using a subdomain so I can access the installation through https://project.tomkarho.com. I also use only https via let’s encrypt ssl certificate. Nginx will serve as a proxy to whatever is running taiga.

1. Installing dependencies

Our first step is to install some dependencies. Due to different packaging CentOS and Ubuntu have different names (and sometimes bundled software packages) for these dependencies so in this step will be shown not only what packages to install but also their Ubuntu equivelant.

2. Setting up database

Taiga uses postgresql as a database engine. CentOS 7 at the time of writing this still contains old version of postgresql (9.2 while taiga requires at least 9.3) and such we will have to install postgresql from another repository than CentOS regulars.

Note: in order for virtualenvwrapper specific variables and functions to be available you must restart your ssh session to server.

4. Backend code

Now to the actual taiga code installation. First we will install the backend code. In order to keep the installation in specific place we will create a seperate system user taiga. Let’s create taiga user and login as taiga. Then we will download and configure the backend code.

sudo useradd -m -g users -s /bin/bash taiga
sudo su - taiga

Also since virtualenv is a little on the old kind, we will update that.

Then we will create a new virtual environment to keep python packages in check.

mkvirtualenv -p /usr/bin/python3.5 taiga

At this point we need to add some symlinks. Since we are using non-standard version of postgres, certain names are no longer valid. One of those is pg_config. We can circumvent the absence of pg_config by adding a symlink to the postgresql 9.5 version.

sudo ln -s /usr/pgsql-9.5/bin/pg_config /usr/bin/pg_config

Next let’s install the rquired python packages with pip.

pip install -r requirements.txt

If your system does not have enough RAM then the installation will fail fod lxml. To circumvent this, we will add temporary swap space to be used during compilation.