Install and Configure RabbitMQ - Intergraph Smart Interop Publisher - 15.1 - Installation & Upgrade - Hexagon PPM

Intergraph Smart Interop Publisher Web API Install Guide

PPMProduct
Intergraph Smart Interop Publisher
PPMCategory_custom
Installation & Upgrade
Version_SPIOP
15.1

RabbitMQ is an open source message broker that communicates between the Smart Interop Publisher Web API components. You can install RabbitMQ on your web server where you plan to host Smart Interop Publisher Web API, or install RabbitMQ on another server that is accessible on the network. RabbitMQ depends on Erlang OTP, which is a collection of middlewares, libraries, and tools written in the Erlang programming language.

To access the RabbitMQ service across a network, you must allow access to port 5672 used for RabbitMQ communication through the firewall. For the Windows firewall, you must create an Inbound rule for a port that supports TCP communication. The port number is entered in the Smart Interop Publisher Web API Configuration Utility.

Install Erlang OTP

  1. Download the 64-bit install from the download section on the Erlang website (https://www.erlang.org). Use version 22.0 or later.

  2. Double-click the downloaded file to install. On the Choose Components page, select all the components, and then click Next.

  3. Specify the installation destination folder and then click Next.

  4. Specify the Start menu folder name, and then click Install.

Install RabbitMQ

  1. Download the RabbitMQ installation file from the Windows Install section (https://rabbitmq.com/install-windows.html). Use version 3.7.16 or later.

  2. Double-click the downloaded file to install.

  3. On the Choose Components page, select all the components, and then click Next.

  4. Specify the installation destination folder, and then click Install. The default folder location is C:\Program Files\RabbitMQ Server.

  5. Click Next, and then click Finish.

Create a RabbitMQ User Name and Password

You must create a new RabbitMQ user name and password using either the command line tool or by using the RabbitMQ Management site (http://localhost:15672) in a browser. To use the RabbitMQ Management site, you must install the RabbitMQ Management Plugin. To install the plugin:

  1. Open an elevated command line (Run as Administrator).

  2. Go to the sbin folder under the RabbitMQ Server installation folder. For example, C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.16\sbin.

  3. Run the following command to enable the plugin:

    rabbitmq-plugins.bat enable rabbitmq_management

  4. Re-install the RabbitMQ service using the commands below:

    • rabbitmq-service.bat stop

    • rabbitmq-service.bat install

    • rabbitmq-service.bat start

  5. Access the management site at http://localhost:15672/mgmt.

      The command to install the RabbitMQ Management Plugin might fail due to a known problem with RabbitMQ. Verify that the contents of C:\Windows\.erlang.cookie and %HOMEDRIVE%%HOMEPATH%\.erlang.cookie are the same. If not, overwrite one file with the other. For more information, go to the installation section at the Rabbitmq.com website.

  6. Create the user name and password. The first-time login user name for the plugin is guest and the password is guest. Create a new user account with access to virtual hosts. See Management Plugin on rabbitmq.com for more information. For security reasons, consider removing the guest user after you create your new user name.

Configure RabbitMQ Service to Run using Admin Account

  1. Open Control Panel > System and Security > Administrative Tools > Services.

  2. Right-click the RabbitMQ service, and then select Properties.

  3. Select the Log on tab.

  4. Select This account, and then enter the admin user account credentials for the service to use.

  5. Click Apply.

  6. Select the General tab and verify that Startup type is set to Automatic.

  7. Click Start, and then click OK.

If both the variables %HOMEDRIVE% and %HOMEPATH% are defined, the specified admin account user must have Write access permission to the %HOMEDRIVE%%HOMEPATH% location.

Configure SSL for RabbitMQ

Although not required, you can add SSL to RabbitMQ communication for additional security. You must have a cert authority certificate, a server certificate, and a server certificate key to enable SSL.

Even though you are using a Windows version of RabbitMQ, RabbitMQ still needs certificates in PEM format, which is used in non-Windows environments.

  1. Create a RabbitMQ configuration file if you do not already have one. The default location is %AppData%/RabbitMQ/rabbitmq.config.

  2. Add these configuration entries to the configuration file and modify the paths with your local certification paths.

    {rabbit,
    [
    {ssl_listeners, [5671]},
    {ssl_options, [{cacertfile,"<Path to CA cert in PEM format>"},
    {certfile,"<Path to server certificate in PEM format>"},
    {keyfile,"<Path to server cert key in PEM format>"},
    {verify,verify_none},
    {fail_if_no_peer_cert,false}]},
    ]
    }

    Backslashes ("\") in the configuration file are interpreted as escape sequences. To specify the path C:\cacert.pem for the CA certificate, use "c:\\cacert.pem" or "c:/cacert.pem".

  3. Open the SSL port in the firewall. By default, the RabbitMQ SSL port is 5671 and the non-SSL port is 5672.

  4. Add certificate authority to your Windows Trusted Root Certification Authorities list. The RabbitMQ connection test does not work if the CA certificate is not part of your trusted list.

  5. Remove and then install the RabbitMQ service:

    1. Open a Windows command line window as administrator and type the following to stop the RabbitMQ service:

      • C:/> cd <RabbitMQ install dir>\sbin

      • C:/> rabbitmq-service stop

    2. To remove the RabbitMQ service, type: C:/> rabbitmq-service remove.

    3. To install the RabbitMQ service, type: C:/> rabbitmq-service install.