RedHat/CentOS(Stream) 8 Alpaca Installation

This is an installation guide for a clean RedHat/CentOS(Stream) 8 server.

Assumptions

  • A clean installation of Redhat 8 or Centos 8 (Stream).
  • This is not an upgrade.
  • A valid SSL certificate for the Alpaca Gateway's hostname.
  • Credentials to access the Alpaca server as root.
  • Credentials to access the connected BroadWorks Application and Profile Servers.
  • BroadWorks Credentials to make changes via bwcli.
  • Working knowledge of ssh and file transfer tool such as scp.

Guide

The guide is split into sections based on the server or machine that the operations should be performed. It is also in chronological order. Performing the steps from top to bottom is the desired procedure.

Local Work Station

  • Step: O-1
    1. Download TimesTen In-Memory Database 11.2.2.8.0 from Oracle's edelivery website. This requires accepting the license agreement and having an Oracle account.
      • Once logged in, search "Timesten" in the search bar.
      • Click "REL:Oracle TimesTen In-Memory Database 11.2.2.8.0". The package will be added to your download queue.
      • Click "continue" at the top right to be taken to your download queue.
      • Under "Platform/Languages", select "Linux x86-64".
      • Click "Continue".
      • Accept the license agreement(s).
      • Click "Continue".
      • Click the package name to download directly to your current machine.
    2. Transfer the downloaded archive to the Alpaca Server's "/tmp" directory.
  • Step: O-2
    1. Download the Alpaca Server installation RPM. This requires an ECG Portal Account.
    2. Transfer the downloaded installation package to the Alpaca server's "/tmp" directory.
  • Step: O-3
    1. Download the Alpaca Gateway installation RPM. This requires an ECG Portal Account.
    2. Transfer the downloaded installation package to the Alpaca server's "/tmp" directory.
  • Step: O-4
    1. Download the Alpaca Eureka installation RPM. This requires an ECG Portal Account.
    2. Transfer the downloaded installation package to the Alpaca server's "/tmp" directory.
  • Step: O-5
    1. Download the Alpaca license file. This requires an ECG Portal Account.
    2. Transfer the downloaded license file "ecg.license.txt" to the Alpaca server's "/tmp" directory.
    3. Transfer the downloaded license file "ecg.license.txt" to each BroadWorks Application Server's "/tmp" directory.
  • Step: O-6
    1. Transfer the SSL certificate chain "fullchain.pem" and private key "privkey.pem" file to the Alpaca server's " /tmp" directory.

Alpaca Server

  • Step: A-1

    • Redhat / CentOS 8 Additional Requirement:

      1. # dnf install -y libnsl

      Installed: libnsl-2.28-151.el8.x86_64

      Complete!

    • Commands:

      1. # cd /tmp
      2. # mkdir ttTemp
      3. # mv TimesTenPackage ttTemp
      4. # cd ttTemp
      5. # unzip -q TimesTenPackage
      6. # cd linux8664/
      7. # ./setup.sh

        WARNING: You are about to install TimesTen as root. TimesTen daemon processes will run with root privileges. See the TimesTen Installation Guide for additional information.

      8. Are you sure that you want to install as root? [ no ] y

        NOTE: Each TimesTen installation is identified by a unique instance name. The instance name must be a non-null alphanumeric string, not longer than 255 characters.

      9. Please choose an instance name for this installation? [ tt1122 ] tt1122

        Instance name will be 'tt1122'.

      10. Is this correct? [ yes ] y

        Of the three components:
        
          [1] Client/Server and Data Manager
          [2] Data Manager Only
          [3] Client Only
        
      11. Which would you like to install? [ 1 ] 3

        Of the following options :
        
          [1] /opt
          [2] /tmp
          [3] Specify a location
          [q] Quit the installation
        
      12. Where would you like to install the tt1122 instance of TimesTen? [ 1 ] 1

        Installing into /opt/TimesTen/tt1122 ...
        Creating /opt/TimesTen/tt1122 ...
        Uncompressing ...
        
        NOTE: For security, we recommend that you restrict access to the
              TimesTen installation to members of a single OS group. Only members of
              that OS group will be allowed to perform direct mode connections to
              TimesTen, and only members of that OS group will be allowed to perform
              operations that access TimesTen data stores, TimesTen files and shared
              memory. The OS group defaults to the primary group of the instance
              administrator. You can default to this group, choose another OS group
              or you can make this instance world-accessible. If you choose to make
              this instance world-accessible, all database files and shared memory
              are readable and writable by all users.
        
      13. Restrict access to the the TimesTen installation to the group 'root'? [ yes ] n

      14. Do you want to restrict access to the TimesTen installation to a different group? [ yes ] n

      15. Are you sure you want to make this instance world-accessible? [ yes ] y

        In order to use the 'Oracle TimesTen Application-Tier Database Cache' feature in any databases
        created within this installation, you must set a value for the TNS_ADMIN
        environment variable. It can be left blank, and a value can be supplied later
        using <install_dir>/bin/ttModInstall.
        
      16. Please enter a value for TNS_ADMIN (s=skip)? [ ] s

      17. Do you want to install the Quick Start Sample Programs and the TimesTen Documentation? [ no ] n

      18. Would you like to install the documentation (without the Quick Start Sample Programs)? [ yes ] n

        Installing client components ...
        
      19. What is the name of the host running the TimesTen server? [ alpaca.ecg.co ] ⏎

      20. What is the TCP/IP port number that the TimesTen server is listening on? [ 53397 ] ⏎

        The documentation was not installed.
        To manually install the documentation, run the command 'setup.sh -installDoc'
        
        The 11.2.2.8 Release Notes are located here :
          '/opt/TimesTen/tt1122/README.html'
        
        End of TimesTen installation.
        
      21. # rm -f /opt/TimesTen/tt1122/lib/ttjdbc{5,6,7}.jar

      22. # echo "/opt/TimesTen/tt1122/lib" > /etc/ld.so.conf.d/timesten.conf

      23. # ldconfig -v | grep TimesTen -A 7

        /opt/TimesTen/tt1122/lib:
            libttcoD.so -> libttcoD.so
            libttco.so -> libttco.so
            libttclassesCS.so.gcc346 -> libttclassesCS.so.gcc346
            libttclient.so.gcc346 -> libttclient.so.gcc346
            libttclassesCS.so.gcc410 -> libttclassesCS.so.gcc410
            libttJdbcCS.so -> libttJdbcCS.so
            libttclient.so.gcc410 -> libttclient.so.gcc410
        
  • Step: A-2

  • Step: A-3

    1. Follow installation guide for RabbitMQ.
    2. Ensure that RabbitMQ is enabled as a service, set to run on boot, and is currently running.
    3. Additional Commands:
      1. # rabbitmqctl add_user "alpaca"
        • This user and password will be used to access RabbitMQ from the Alpaca Server application.
      2. # rabbitmqctl set_user_tags alpaca administrator
      3. # rabbitmqctl set_permissions -p / alpaca "." "." ".*"
      4. # rabbitmq-plugins enable rabbitmq_management
        • This will allow access to the RabbitMQ web interface on port 15672.
  • Step: A-4

    • Commands:
      1. # cd /tmp
      2. # yum install -y alpaca-gateway-ALPACA_VERSION.x86_64.rpm
  • Step: A-5

    • Note: If using an external load balancer with SSL termination such as an F5 this step can be ignored. The Gateway will still need to be configured however that will occur during HA clustering configuration.
    • Commands:
      1. # openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.pkcs12
      2. Enter Export Password: KEYCHAIN_PASSWORD
      3. Verifying - Enter Export Password: KEYCHAIN_PASSWORD
      4. # mv keystore.pkcs12 /etc/alpaca/gateway/config
      5. # vi /etc/alpaca/gateway/config/application-https.yml
        • Set the "key-store-password" field to the value set during export.
      6. # vi /etc/alpaca/gateway/config/application-prod.yml
  • Step: A-6

    • Commands:
      1. # cd /tmp
      2. # yum install -y alpaca-eureka-ALPACA_VERSION.x86_64.rpm
  • Step: A-7

    • Commands:
      1. # vi /etc/alpaca/eureka/config/application-prod.yml
  • Step: A-8

    • Commands:

      1. # cd /tmp
      2. # yum install -y alpaca-server-ALPACA_VERSION.x86_64.rpm

        Installed: alpaca-server.x86_64 0:6.6.0-RC_SNAPSHOT20190116042343

        Dependency Installed: alsa-lib.x86_64 0:1.1.6-2.el7 copy-jdk-configs.noarch 0:3.3-10.el7_5 dejavu-fonts-common.noarch 0:2.33-6.el7 dejavu-sans-fonts.noarch 0:2.33-6.el7 fontconfig.x86_64 0:2.13.0-4.3.el7 fontpackages-filesystem.noarch 0:1.44-8.el7 giflib.x86_64 0:4.1.6-9.el7 java-1.8.0-openjdk.x86_64 1:1.8.0.191.b12-1.el7_6 java-1.8.0-openjdk-headless.x86_64 1:1.8.0.191.b12-1.el7_6 javapackages-tools.noarch 0:3.4.1-11.el7 libICE.x86_64 0:1.0.9-9.el7 libSM.x86_64 0:1.2.2-2.el7 libX11.x86_64 0:1.6.5-2.el7 libX11-common.noarch 0:1.6.5-2.el7 libXau.x86_64 0:1.0.8-2.1.el7 libXcomposite.x86_64 0:0.4.4-4.1.el7 libXext.x86_64 0:1.3.3-3.el7 libXi.x86_64 0:1.7.9-1.el7 libXrender.x86_64 0:0.9.10-1.el7 libXtst.x86_64 0:1.2.3-1.el7 libfontenc.x86_64 0:1.1.3-3.el7 libjpeg-turbo.x86_64 0:1.2.90-6.el7 libpng.x86_64 2:1.5.13-7.el7_2 libxcb.x86_64 0:1.13-1.el7 libxslt.x86_64 0:1.1.28-5.el7 lksctp-tools.x86_64 0:1.0.17-2.el7 mongodb-org.x86_64 0:4.0.5-1.el7 mongodb-org-mongos.x86_64 0:4.0.5-1.el7 mongodb-org-server.x86_64 0:4.0.5-1.el7 mongodb-org-shell.x86_64 0:4.0.5-1.el7 mongodb-org-tools.x86_64 0:4.0.5-1.el7 python-javapackages.noarch 0:3.4.1-11.el7 python-lxml.x86_64 0:3.2.1-4.el7 ttmkfdir.x86_64 0:3.0.9-42.el7 tzdata-java.noarch 0:2018i-1.el7 xorg-x11-font-utils.x86_64 1:7.5-21.el7 xorg-x11-fonts-Type1.noarch 0:7.5-9.el7

        Dependency Updated: freetype.x86_64 0:2.8-12.el7 nspr.x86_64 0:4.19.0-1.el7_5 nss.x86_64 0:3.36.0-7.el7_5 nss-softokn.x86_64 0:3.36.0-5.el7_5 nss-softokn-freebl.x86_64 0:3.36.0-5.el7_5 nss-sysinit.x86_64 0:3.36.0-7.el7_5 nss-tools.x86_64 0:3.36.0-7.el7_5 nss-util.x86_64 0:3.36.0-1.el7_5

        Complete!

  • Step: A-9

    • Commands:
      1. # mv ecg.license.txt /opt/alpaca
      2. # vi /etc/alpaca/server/config/application-https.yml
        • Follow the configuration guide to configure required settings. This includes RabbitMQ, Eureka, and MongoDB.
  • Step: A-10

    • Commands:

      1. # service mongod start

        Redirecting to /bin/systemctl start mongod.service

    2. <span>#</span> <kbd>service alpaca-eureka start</kbd>
    
            Starting alpaca-eureka.d (via systemctl):                  [  OK  ]
    
    3. <span>#</span> <kbd>service alpaca-gateway start</kbd>
    
           Starting alpaca-gateway.d (via systemctl):                  [  OK  ]
    
    4. <span>#</span> <kbd>service alpaca-server start</kbd>
    
           Starting alpaca-server.d (via systemctl):                  [  OK  ]          
    
  • Step: A-11

BroadWorks Application Server

These steps are performed for each BroadWorks Application Server that will be monitored by Alpaca. Log in to the server as bwadmin. A BroadWorks admin login will be required to make the required AS_CLI changes.

  • Step: AS-1
  • Commands:

    1. AS_CLI> cd /Applications/ExecutionAndProvisioning/PS/Logging/InputChannels/AuditLog
    2. AS_CLI/Applications/ExecutionAndProvisioning/PS/Logging/InputChannels/AuditLog> set accountInfo true

      ...Done
      
    3. AS_CLI/Applications/ExecutionAndProvisioning/PS/Logging/InputChannels/AuditLog> set verbose true

      ...Done
      
    4. AS_CLI/Applications/ExecutionAndProvisioning/PS/Logging/InputChannels/AuditLog> q;q;Output

    5. AS_CLI/Applications/ExecutionAndProvisioning/PS/Logging/OutputChannels> set AuditLog enabled true

      ...Done
      
    6. AS_CLI/Applications/ExecutionAndProvisioning/PS/Logging/OutputChannels> cd /Applications/OpenClientServer/ExternalAuthentication/AccessControlList

    7. AS_CLI/Applications/OpenClientServer/ExternalAuthentication/AccessControlList> get

      IP Address  Description
      =========================
      
      0 entry found.
      
      • If no entries are found skip step 8.
      • If the BroadWork's XSP IP address is already listed skip step 8.
    8. AS_CLI/Applications/OpenClientServer/ExternalAuthentication/AccessControlList> add *<kbd>XSP-IP* description xsp

      ...Done
      

BroadWorks Profile Server

These steps are performed for each BroadWorks Profile Server that will be accessed by Alpaca to perform migrations and data retrieval. Log in to the server as bwadmin. A BroadWorks admin login will be required to make the required PS_CLI changes.

  • Step: PS-1
  • Commands:

    1. PS_CLI> cd /Applications/BroadworksFileRepos/NetworkAccessLists/WebDav
    2. PS_CLI/Applications/BroadworksFileRepos/NetworkAccessLists/WebDav> add ALPACA-IP description alpaca-server

      ...Done

  • Step: PS-2

  • Commands:

    1. PS_CLI> cd /Applications/BroadworksFileRepos/Users
    2. PS_CLI/Applications/BroadworksFileRepos/Users> add alpaca-server get put delete
    3. New Password: CREATE_A_FILE_REPO_USER_PASSWORD
    4. Re-type New Password: CREATE_A_FILE_REPO_USER_PASSWORD

      ...Done

  • Step: PS-3

    • This is an optional step that only applies if you have BroadworksFileReposExtdCapture enabled.
  • Commands:

    1. PS_CLI> cd /Applications/BroadworksFileReposExtdCapture/Users
    2. PS_CLI/Applications/BroadworksFileReposExtdCapture/Users> add alpaca-server get put delete
    3. New Password: CREATE_A_FILE_REPO_USER_PASSWORD
    4. Re-type New Password: CREATE_A_FILE_REPO_USER_PASSWORD