Skip to main content
Version: TeamForge 22.1

Install TeamForge with an External PostgreSQL Server

You can install TeamForge with its database installed separately on an external PostgreSQL server such as AWS RDS/Aurora. These instructions are for installing TeamForge in a three-server distributed setup with TeamForge on a separate server. All database services are hosted on a second server, which is an external PostgreSQL server not directly managed by TeamForge.

Success You can install TeamForge on both RHEL 8.6 and RHEL/CentOS 7.9.

Success In this distributed setup, TeamForge services are distributed across two servers, server-01 and server-02 as illustrated in the following table. It is assumed that server-02 is an externally managed PostgreSQL server.

server-01
TeamForge Application Server
server-02
External Database Server
ctfcoregerrit-database
mailreviewboard-database
searchbinary-database
codesearchctfcore-database
etlctfcore-datamart
gerrit
reviewboard1
reviewboard-adapter2
subversion
binary
cliserver
service-monitor

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

Prepare the Server for TeamForge Installation (server-01)

  1. Install RHEL 8.6 and log on as root.

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

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

Install TeamForge Services

  1. Install TeamForge and Review Board services 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

Prepare the External Database Server for TeamForge Installation

  1. Log on to the Database Server and create the TeamForge database, datamart, Gerrit database, Binary database and Review Board database. Note down the following credentials that are required to set up the TeamForge site-options.conf tokens later in the process.

    • Database name (DATABASE_NAME)
    • Database username (DATABASE_USERNAME)
    • Database password (DATABASE_PASSWORD)
    • Database read-only username (DATABASE_READ_ONLY_USER)
    • Database read-only password (DATABASE_READ_ONLY_PASSWORD)
    • Reports database name (REPORTS_DATABASE_NAME)
    • Reports database username (REPORTS_DATABASE_USERNAME)
    • Reports database password (REPORTS_DATABASE_PASSWORD)
    • Reports database read-only username (REPORTS_DATABASE_READ_ONLY_USER)
    • Reports database read-only password (REPORTS_DATABASE_READ_ONLY_PASSWORD)
    • Gerrit database password (GERRIT_DATABASE_PASSWORD)
    • IAF database name (IAF_DBNAME)
    • IAF database username (IAF_DBUSER)
    • IAF database password (IAF_DBPASS)
    • Review Board database name (REVIEWBOARD_DATABASE_NAME)
    • Review Board database username (REVIEWBOARD_DATABASE_USER)
    • Review Board database password (REVIEWBOARD_DATABASE_PASSWORD)
  2. Create users and grant access rights.

    • Access rights for read-only users: LOGIN,NOCREATEDB,NOCREATEROLE,NOSUPERUSER
    • Access rights for other users: LOGIN,CREATEDB,NOCREATEROLE,NOSUPERUSER
  1. Install TeamForge database services on the External PostgreSQL Server (server-03)
    yum install teamforge-database

Set up Your Site's Master Configuration File

  1. Do this on the TeamForge Application Server (server-01).

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

    host:SERVICES Token

    server-01:SERVICES=ctfcore service-monitor mail etl search subversion codesearch cliserver gerrit binary reviewboard reviewboard-adapter
    server-02:SERVICES=ctfcore-database ctfcore-datamart gerrit-database binary-database reviewboard-database

    host:PUBLIC_FQDN Token

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

    Set up the Following Site Option Tokens

    • DATABASE_NAME=
    • DATABASE_USERNAME=
    • DATABASE_PASSWORD=
    • DATABASE_READ_ONLY_USER=
    • DATABASE_READ_ONLY_PASSWORD=
    • REPORTS_DATABASE_NAME=
    • REPORTS_DATABASE_USERNAME=
    • REPORTS_DATABASE_PASSWORD=
    • REPORTS_DATABASE_READ_ONLY_USER=
    • REPORTS_DATABASE_READ_ONLY_PASSWORD=
    • GERRIT_DATABASE_PASSWORD=
    • IAF_DBNAME=
    • IAF_DBUSER=
    • IAF_DBPASS=
    • REVIEWBOARD_DATABASE_NAME=
    • REVIEWBOARD_DATABASE_USER=
    • REVIEWBOARD_DATABASE_PASSWORD=

    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):

  1. Copy the /opt/collabnet/teamforge/etc/site-options.conf file from the TeamForge Application Server to the /opt/collabnet/teamforge/etc/ directory of the database server.

Provision Services on All the Servers

  1. Provision services.

    teamforge provision

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

Success 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.
Success 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.

  1. Provision the Database Server (server-02).
  2. Provision the Application Server (server-01).

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 22.1 supports Review Board 4.0.6 on RHEL 8.6 and Review Board 4.0.6 on RHEL/CentOS 7.9.

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