Skip to main content
Version: TeamForge 24.0

Install TeamForge in a Distributed Setup

In this distributed setup, TeamForge services are distributed across six servers, server-01 through server-06 as illustrated in the following table.
You can install TeamForge on both RHEL 8.10. In this distributed setup, all the following services are installed on RHEL 8.10 servers.

server-01server-02server-03server-04server-05server-06
TeamForge Application ServerTeamForge Database ServerReview Board ServerSCM ServerCode Search ServerBaseline Server
ctfcorectfcore-databasereviewboard1subversioncodesearchbaseline2
mailctfcore-datamartgerritbaseline-post-install3
etlgerrit-databasebaseline-database
searchbinary-database
reviewboard-adapter4reviewboard-database
binarywebr-database
cliserver
webr
service-monitor

Here's a list of dos, don'ts and points to remember when you install or upgrade TeamForge.

Prepare the Servers for TeamForge Installation (server-01 through server-06)

  1. Install RHEL 8.10 and log on as root.

    The host must be registered with the Red Hat Network if you are using Red Hat Enterprise Linux.
    See the RHEL 8.10 Installation Guide for help.

  2. Check your networking setup. See Set up Networking for more information.

Install TeamForge Services

  1. Install the TeamForge application packages on the TeamForge Application Server (server-01).

    yum install teamforge

    Install Monit.

    important

    If you haven't already installed the latest version of the Monit application, download it here.)

    1. Download Monit for

      • RHEL 8.x from the EPEL repository.

        wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
        rpm -ivh epel-release-latest-8.noarch.rpm
      • RHEL/CentOS 7.x from the EPEL repository.

        wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
        rpm -ivh epel-release-latest-7.noarch.rpm
    2. Install Monit.

      yum install monit

    Install the Baseline packages on the TeamForge Application Server (server-01), if you are installing TeamForge Baseline.

    yum install teamforge-baseline
  2. Install the database packages and the Baseline packages on the TeamForge Database Server (server-02) based on the following conditions:

    • On sites without TeamForge Baseline, run this command to install the database packages on the TeamForge Database server (server-02).

      yum install teamforge-database
    • On sites with TeamForge Baseline, if you're installing TeamForge Baseline on a separate server (server-07), run this command to install both the Baseline packages and the database packages on the TeamForge Database server (server-02).

      yum install teamforge-baseline
  3. Install Review Board packages on the Review Board Server (server-03).

    yum install teamforge
  4. Install SCM packages on the SCM Server (server-04).

    yum install teamforge-scm teamforge-git
  5. Install the Code Search packages on the Code Search Server (server-05).

    yum install teamforge-codesearch
  6. Install the Baseline packages on the Baseline Server (server-06).

    yum install teamforge-baseline

    Install Monit.

    important

    If you haven't already installed the latest version of the Monit application, download it here.

    1. Download Monit for

      • RHEL 8.x from the EPEL repository.
      wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
      rpm -ivh epel-release-latest-8.noarch.rpm
      • RHEL/CentOS 7.x from the EPEL repository.
      wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
      rpm -ivh epel-release-latest-7.noarch.rpm
    2. Install Monit.

      yum install monit

Set up Your Site's Master Configuration File

  1. Do this on the TeamForge Database Server (server-02).

    vi /opt/collabnet/teamforge/etc/site-options.conf

    host:SERVICES Token

    server-01:SERVICES=ctfcore service-monitor search mail etl binary reviewboard-adapter cliserver webr 
    server-02:SERVICES=ctfcore-database ctfcore-datamart gerrit-database binary-database reviewboard-database webr-database
    server-03:SERVICES=reviewboard
    server-04:SERVICES=subversion gerrit
    server-05:SERVICES=codesearch
    server-06:SERVICES=baseline baseline-post-install baseline-database service-monitor

    host:PUBLIC_FQDN Token

    server-01:PUBLIC_FQDN=my.app.domain.com

    Save the site-options.conf file.

    For further customization of your site configuration (SSL settings, password policy settings, PostgreSQL settings, LDAP settings and so on): .

  2. Provision the Database Server (server-02).

    teamforge provision
  3. Copy the /opt/collabnet/teamforge/etc/site-options.conf file from the TeamForge Database Server (server-02) to the /opt/collabnet/teamforge/etc/ directory of all other servers.

Provision Services on All the Servers

  1. Provision services.

    teamforge provision

    TeamForge 24.0 installer expects the system locale to be LANG=en_US.UTF-8. TeamForge create runtime (teamforge provision) fails otherwise.

You must provision services in a particluar sequence. Usually you start with the Database Server, followed by the Application Server and then by other servers such as SCM, Review Board and Code Search servers.
The TeamForge installer derives this sequence from your site-options.conf file and shows you the order of provisioning servers when you try to provision one of++ the distributed servers. Follow the exact sequence as instructed.

Provisioning Sequence without Baseline

  1. Provision the Application Server (server-01).
  2. Provision the SCM server (server-04).
  3. Provision the Review Board Server (server-03).
  4. Provision the Code Search Server (server-05).

Provisioning Sequence with Baseline

  1. Provision the Application Server (server-01).
  2. Provision the Baseline Server (server-06).
  3. Copy the /opt/collabnet/teamforge/etc/site-options.conf file from the TeamForge Baseline Server (server-06) to the /opt/collabnet/teamforge/etc/ directory of all other servers.
  4. Provision the Database Server (server-02) again.
  5. Provision the Application Server (server-01) again.
  6. Provision the SCM server (server-04).
  7. Provision the Review Board Server (server-03).
  8. Provision the Code Search Server (server-05).

Reinitialize TeamForge

  1. Reinitialize TeamForge on the Review Board Server.

    teamforge reinitialize
  2. During teamforge provision, the Register SCM integration process fails on sites that use self-signed certificates. Perform these steps in such cases.

    1. Restart JBoss on the TeamForge Application Server.
      teamforge restart -s jboss
    2. Reinitialize TeamForge on the SCM Server.
      teamforge reinitialize

    Do you have Git and other SCM tools (SVN) on two separate servers?
    Git and other SCM tools (SVN) are typically installed on a server dedicated for SCM. However, if you have Git and SCM (SVN) installed on two separate servers, restart Jboss on the TeamForge Application Server and reinitialize TeamForge on the SCM Server (SVN server) as discussed earlier. In addition, you must also restart TeamForge on the Git Server.

    Restart TeamForge on the Git Server: teamforge restart

Verify TeamForge Installation

  1. Verify TeamForge installation.

    1. Reboot the server and make sure all services come up automatically at startup.
    2. Log on to the TeamForge web application using the default Admin credentials.
      • Username: admin
      • Password: admin
    3. Create a sample project. See Create a TeamForge Project.
    4. Write a welcome message to your site's users. See Create a Site-wide Broadcast.

Post Install Tasks

Also See...

FAQs on Install / Upgrade / Administration

Footnotes

  1. TeamForge 24.0 supports Review Board 4.0.6 on RHEL 8.10.

  2. It's highly recommended that you install the TeamForge Baseline services on a separate server as the baselining process can consume considerable CPU and database resources.

  3. Synchronizes the user information between the baseline database and TeamForge database.

  4. reviewboard-adapter must always be installed on the TeamForge Application Server.