This chapter explains how to install Teamwork Cloud services by using the install_twc<version_number>_<os_version>.sh installation script.


To install Teamwork Cloud services


  1. Install OpenJDK 11, if needed. If you used the Apache Cassandra installation script on the same server, then Java 11 is already installed and configured for the system. To install OpenJDK 11 on a new Teamwork Cloud server, execute the following command:

    yum -y install java-11-openjdk
  2. Download the twcloud_<version_number>_installer_linux64.bin file and place it in the same location as the install_twc<version_number>_<os_version>.sh script.
  3. Install Teamwork Cloud by executing the install_twc<version_number>_<os_version>.sh script.

    Example
    sudo ./install_twc2022x_centos7.sh
    1. When executing the installation script, press ENTER until you are asked to configure the machine IP.
    2. Configure the machine IP by entering the local IP address or the host name of the machine (i.e. 192.168.130.10).
    3. Configure the cluster seed node IP by entering the local IP address or the host name of the machine (i.e. 19.168.130.10). 
    4. Configure the Teamwork Cloud service owner by entering twcloud.
    5. Configure JAVA_HOME by entering /etc/alternatives/jre_11.
    6. Press Enter to choose the default /opt/local/TeamworkCloud installation folder or type another installation folder address.

  4. When the Teamwork Cloud pre-installation summary is displayed, follow the instructions on the screen. The summary should look like this:

    ===============================================================================
    Pre-Installation Summary
    ------------------------
    Please Review the Following Before Continuing:
      
    Product Name:
        Teamwork Cloud
      
    Install Folder:
        /opt/local/TeamworkCloud
      
    Machine ip:
        "192.168.130.10"
      
    Seed node ip:
        "192.168.130.10"
      
    JAVA_HOME:
        "/etc/alternatives/jre_11"
      
    Disk Space Information (for Installation Target):
        Required:  395,614,661 Bytes
        Available: 31,608,475,648 Bytes

    In the pre-installation summary, you should see the local IP address of your machine instead of "192.168.130.10" displayed in the example above.

  5. Start the twcloud, zookeeper, and webapp services (in this particular order) by executing the following commands:

    sudo systemctl start twcloud
    sudo systemctl start zookeeper
    sudo systemctl start webapp
  6. To ensure Teamwork Cloud services start after the reboot, execute the following commands:

    sudo systemctl enable twcloud
    sudo systemctl enable zookeeper
    sudo systemctl enable webapp
  7. Make sure that Teamwork Cloud is operational by going to https://<server_address>:8443/webapp. You should see the Teamwork Cloud login screen.

    For more information, see Accessing Teamwork Cloud Admin.

When you complete the steps above, the preliminary Teamwork Cloud configuration is created. This means that your system is functional and you can login to Teamwork Cloud. After making sure that Teamwork Cloud is operational, you can optionally perform the post-installation configuration described in the section below.


Post-installation Teamwork Cloud Configuration

For security reasons, it is recommended to make the following changes to the Teamwork Cloud configuration.

The post-installation configuration is an optional step and should only be performed after making sure that Teamwork Cloud is operational.


To perform the post-installation Teamwork Cloud configuration


  1. Edit the /opt/local/TeamworkCloud/configuration/application.conf configuration file and make the following changes:
    • Change the value of the contact-points property to point to the listen_address you set in the cassandra.yaml file (i.e., contact-points = ["192.168.130.10:9042"]). This points Teamwork Cloud to the Cassandra database.
    • Change the value of the secret property with a password of your choosing (the initial value is CHANGE_ME). This is the password used for communication with the authorization server.
    • Use this parameter only if you need to deploy Teamwork Cloud in private network but client connect from public network. Change the value of the server-broadcast-host property to the public IP address instead of the local IP address. This way upon the initial connection the client application will know the external IP address to which it must connect (if Teamwork Cloud is installed behind a proxy or firewall with NAT).
  2. Edit the /opt/local/TeamworkCloud/WebAppPlatform/shared/conf/authserver.properties configuration file and make the following changes:

    • Change the value of the cassandra.contactPoints property to the local IP address.
    • If you are accessing the server by FQDN, change the value of the authentication.redirect.uri.whitelist property by adding an the FQDN entry to the whitelist (e.g., authentication.redirect.uri.whitelist=https://FQDN:8443/,https://FQDN:8111/,https://md_redirect). Make sure to add the public IP and/or FQDN for ports 8443 and 8111 to the whitelist.

  3. Edit the /opt/local/TeamworkCloud/WebAppPlatform/shared/conf/webappplatform.properties configuration file and make the following changes:
    • Change the value of the twc.admin.username property to the username of a local account with Administrator privileges (the default value is Administrator).
    • Change the value of the twc.admin.password property to the password corresponding to the Administrator user (the default value is Administrator).
    • If you changed the secret property in the application.conf file, change the value of the authentication.client.secret property with the same value that you used for the secret property in the application.conf file.
  4. Restart the affected Teamwork Cloud services.