Distributed Tuleap is a configuration of Tuleap to allow distribution of the workload across several servers
without any change for end users. As of today its possible to have offload SVN plugin traffic on a dedicated server.

Here is the architecture schema of the main components

The architecture is quite flexible in term of “what is installed where” and is pluggable easily with an existing
regular Tuleap server (“all in one”). However there 2 strong requirements:

The subversion data path /var/lib/tuleap/svn_plugin must be shared between the 2 servers (el6 and el7).

The tuleap configuration path /etc/tuleap must be share between the servers as well.

Most of the time it means that those 2 directories must be on an NFS share mounted on both servers. The setup of NFS
and mounting is outside the scope of this documentation.

The subversion part that is installed on a new server is designed to run on el7 compatible server (either Centos or RHEL).
We recommend to run the latest version (7.3 at time of writing). We will refer to it with el7. The regular Tuleap server
running on centos6 or rhel6 will referenced as el6.

While the architecture is designed to be used with several separted servers (one for regular Tuleap, one for Tuleap SVN,
one for redis, etc). It’s quite common to only have one server for all “new components” (svn, redis, rabbitmq, reverse proxy).

This section will describe how to install this setup. It can be summarized by this diagram:

Attention

With this setup for existing platforms there are three main consequences:

the DNS entry for your tuleap will change as the IP address for “tuleap” service will now be the IP address of the
el7 server. This must be taken into account for the switch (for instance lower TTL a few weeks before the change to
avoid lost users).

if you platform enabled “git over ssh” (or any other ssh based access) you will have to setup an ssh reverse proxy
as well (explained bellow) and that means that your administration access (ssh) to the server must be updated to
run on another port (eg. 2222) otherwise you won’t be able to ssh the server (you will be redirected to el6 server).