Install TeamForge, Code Search and EventQ on separate servers

Three-server distributed setup with TeamForge (including operational database and datamart), Code Search and EventQ services installed on RHEL/CentOS 7.3 servers.

Before you begin:

Remember:

  • TeamForge 17.1 supports both RHEL/CentOS 6.8 and 7.3. See TeamForge installation requirements
  • For the ETL service to run as expected in a distributed TeamForge installation, all servers must have the same time zone.
  • While you can run both EventQ and TeamForge on the same server, CollabNet recommends such an approach only for testing purposes. It's always recommended to run EventQ on a separate server for optimal scalability. See EventQ installation requirements.
  • Installing or upgrading TeamForge needs root privileges. You must log on as root or use a root shell to install or upgrade TeamForge.
The following table shows the distribution of services on different servers.
App Server: server-01 (RHEL/CentOS 7.3) Code Search: server-03 (RHEL/CentOS 7.3)
TeamForge Application Server (ctfcore) Code Search Server (codesearch)
Mail Server (mail)  
Database Server (ctfcore-database and ctfcore-datamart)  
Git Integration Server (gerrit and gerrit-database)  
SCM Integration Server (subversion and cvs)  
ETL Server (etl)  
Search Server (search)  
EventQ Server: server-02 (RHEL/CentOS 7.3)
TeamForge EventQ Server (App, MongoDB and RabbitMQ)

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

  1. Install Red Hat Enterprise Linux/CentOS 7.3 and log in as root.
  2. Check your basic networking setup. See Set up networking for your TeamForge server for details.
  3. If the TeamForge server has SELinux enabled, run it in 'Permissive' mode temporarily while installing or upgrading TeamForge.
    Important: If you have SELinux in "enforcing" mode, you must either disable SELinux or switch to "Permissive" mode (recommended) before running the /opt/collabnet/teamforge/bin/teamforge provision command. TeamForge create runtime fails otherwise.
    1. Verify if SELinux is running in enforcing mode.
      • getenforce
    2. If the output of the getenforce command is "Permissive", continue with the next step. If not, run the following command to bring it to 'Permissive' mode.
      • setenforce 0
    See Set up SELinux to have TeamForge run in SELinux enforcing mode after completing the installation or upgrade.
  4. Configure your installation repository.
  5. Install the TeamForge application packages.
    • yum install teamforge
  6. Set up your site's master configuration file.
  7. Deploy services.
    • /opt/collabnet/teamforge/bin/teamforge provision

    The "provision" command prompts for response before it bootstraps or migrates data during TeamForge installation and upgrade respectively. Enter "Yes" or "No" to proceed. For more information, see The teamforge script.

Do this on the Code Search Server (server-03)

  1. Install Red Hat Enterprise Linux/CentOS 7.3 and log in as root.
  2. If the TeamForge server has SELinux enabled, disable it temporarily while installing or upgrading TeamForge. TeamForge create runtime fails otherwise.
    1. Verify if SELinux is running in enforcing mode.
      • getenforce
    2. If the output of the getenforce command is either "Disabled" or "Permissive", SELinux is already disabled.
    3. If not disabled, run the following command to disable SELinux.
      • setenforce 0
  3. Configure your installation repository.
  4. Run the following command to install the Code Search packages.
    • yum install teamforge-codesearch
  5. Copy the site-options.conf file from the TeamForge Application Server to the Code Search Server's /opt/collabnet/teamforge/etc/ directory.
  6. Configure the services and domain name tokens.
    server-03:SERVICES = codesearch
    server-01:SERVICES = ctfcore ctfcore-database mail etl ctfcore-datamart search subversion cvs gerrit gerrit-database binary binary-database reviewboard reviewboard-database
  7. Deploy services.
    • /opt/collabnet/teamforge/bin/teamforge provision

    The "provision" command prompts for response before it bootstraps or migrates data during TeamForge installation and upgrade respectively. Enter "Yes" or "No" to proceed. For more information, see The teamforge script.

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

  1. Restart TeamForge.
    • setenforce 1
    • /opt/collabnet/teamforge/bin/teamforge restart
  2. Important: If the token REQUIRE_USER_PASSWORD_CHANGE is set to true, login to TeamForge user interface, change the admin password and then run the post-install.py script.
    Run the TeamForge post installation script. For more information, see post-install.py.
    • /opt/collabnet/teamforge/runtime/scripts/post-install.py

Do this on the EventQ server (server-02)

  1. Install EventQ. See EventQ installation walk-through

Do this on the Application Server (server-01)

  1. Apply some finishing touches and make sure everything is running smoothly.
    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.