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.
You can install TeamForge on both RHEL 8.10.
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 |
---|---|
ctfcore | gerrit-database |
reviewboard-database | |
search | binary-database |
codesearch | ctfcore-database |
etl | ctfcore-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)
- 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.
- Check your networking setup. See Set up Networking for more information.
Install TeamForge Services
-
Install TeamForge and Review Board services on the TeamForge Application Server (server-01).
yum install teamforge
Install Monit.
importantIf you haven't already installed the latest version of the Monit application, download it here.
-
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
-
-
Install Monit.
yum install monit
-
Prepare the External Database Server for TeamForge Installation
-
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)
-
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
- Install TeamForge database services on the External PostgreSQL Server (server-03)
yum install teamforge-database
Set up Your Site's Master Configuration File
-
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-databasehost: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):
- 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
-
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.
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.
- Provision the Database Server (server-02).
- Provision the Application Server (server-01).
Verify TeamForge Installation
-
Verify TeamForge installation.
- Reboot the server and make sure all services come up automatically at startup.
- Log on to the TeamForge web application using the default Admin credentials.
- Username:
admin
- Password:
admin
- Username:
- Create a sample project. See Create a TeamForge Project.
- Write a welcome message to your site's users. See Create a Site-wide Broadcast.
Post Install Tasks
- Integrate Jenkins, JIRA, and TestLink using the TeamForge Webhooks-based Event Broker
- Users are not getting email notifications for review requests and reviews. What should I do?
Also See...
FAQs on Install / Upgrade / Administration