Navigation Menu

Click the "+" to see inside a chapter or use the search to the right.

.

Skip to end of metadata
Go to start of metadata

 Update Windows Registry

 Configure IIS Web Server

 ExamDeveloper setup home page

 

This page details the setup and configuration of RabbitMQ, which is required by certain microservices of ExamDeveloper such as EDRS.
  1. Erlang Installation
  2. RabbitMQ Installation
  3. RabbitMQ Configuration
    1. Install RabbitMQ Dashboard
      1. Secure Guest User
    2. Create and configure RabbitMQ Virtual Host
    3. Create a RabbitMQ user for EDRS
      1. Set access rights for the RabbitMQ user to the new Virtual Host

The ExamDeveloper application communicates with the rest of the ExamDeveloper ecosystem using RabbitMQ, which is written in Erlang. Therefore, the ExamDeveloper Reporting Service (EDRS) requires both Erlang and RabbitMQ to be installed. The application uses Erlang v18.1 and RabbitMQ v3.5.6. The installation process for both these software applications is pretty straightforward and one is not required to select any special options to finish these setups.


Icon

It is extremely important that the same RabbitMQ Virtual Host name should not be shared between different instances of ExamDeveloper, as this can result in issues such as data loss and security breach.


Erlang Installation

Icon

Erlang must be installed before installing RabbitMQ as the latter depends on Erlang. Failing to do so prevents RabbitMQ from running.

  1. Download Erlang v18.1 from http://www.erlang.org/download/otp_win64_18.1.exe.
  2. Install Erlang using default configuration.

RabbitMQ Installation

  1. Download RabbitMQ v3.5.6 from https://www.rabbitmq.com/releases/rabbitmq-server/v3.5.6/rabbitmq-server-3.5.6.exe.
  2. Install RabbitMQ using default configuration.

    Icon

    There is also a quick installation guide provided on the RabbitMQ site for setup instructions on Windows. This page also outlines the ports that must be open for RabbitMQ to function well behind a firewall (Port Access section).

    Firewalls and other security tools may prevent RabbitMQ from starting successfully. If you have trouble starting Rabbit, make sure the following ports are open: 

    • 25672 (Erlang distribution)
    • 5672, 5671 (AMQP 0-9-1 without and with TLS)
    • 15672 (if management plugin is enabled)

RabbitMQ Configuration

Install RabbitMQ Dashboard

  1. Open an Administrator command prompt.
  2. Type the following (assuming that the RabbitMQ sbin folder is C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.5.6\sbin\ as in our example) and press enter to run the command.
    "%programfiles(x86)%\RabbitMQ Server\rabbitmq_server-3.5.6\sbin\rabbitmq-plugins.bat" enable rabbitmq_management

    Using a web browser on the server where RabbitMQ is installed, navigate to the RabbitMQ dashboard found at http://localhost:15672/ and login using the username = guest and password = guest. This is a local-only account, meaning that this account can only connect from the server running RabbitMQ using the localhost address stated above.

    We will need to secure the guest user.

Secure guest user

  1. From the Admin tab choose the guest user found in the grid under the All users section.

  2. Once you are on the User: guest properties page, expand the Update this user section.

  3. Enter the new password and confirm the same in the Password fields, and click the Update user button.

 

Icon

Optional: Create and configure Remote Administrator for RabbitMQ

While it is not necessary, it is recommended to create a Remote Administrator for RabbitMQ to be able to connect and use the RabbitMQ Management Console from a computer other than the one running RabbitMQ, instead of using the default "guest" admin user.

 To read about creating a Remote Administrator for RabbitMQ, click here to expand...
  1. From the Admin tab expand the Add a user section.

  2. Create a user with the following properties:

    1. UserNameRemoteAdmin (or your choice)

    2. Password: [use a password of your choice here]. In our example, this password is "RAPassword".

    3. Tagsadministrator (this is case sensitive)

  3. Click Add user button. This displays the RemoteAdmin user in the grid under the All users section. At this point, the user is created, but does not have any access to any Virtual Host.

Set access rights for the Remote Administrator to the default Virtual Host

  1. Click on Admin tab.

  2. From the All users grid, select the user you would like to manage (RemoteAdmin in our example).

  3. Under the Permissions section, find the Set permission sub-section.

    1. Choose the Virtual Host you would like to grant the user access to ("/" in our example).
    2. Click on Set permission button.

Create and configure RabbitMQ Virtual Host

A Virtual Host is a namespace for queues and exchanges within RabbitMQ. Within each instance of ExamDeveloper, all of the components must be configured to use the same Virtual Host.

  1. Click on Admin tab.

  2. Click on Virtual Hosts on the right hand side to navigate to the Virtual Hosts management page.
  3. Once on the Virtual Hosts page:
    1. Expand the Add a new virtual host section if it is not already expanded.
    2. Enter the name of the new virtual host to create in the Name field (such as ExamDeveloper in our example and a different name such as ExamDeveloper_New in case of side-by-side (additional instance) installation).

      Remember

      Icon

      The above Virtual Host name must be specified later in the massTransit.config files for ExamDeveloper and EDRS.



    3. Click the Add virtual host button to create the new virtual host.

We must create a new RabbitMQ user for the ExamDeveloper application to use.

Create a RabbitMQ user for EDRS

  1. From the Admin tab expand the Add a user section.

  2. Create a user with the following properties:

    1. UserNameExamDeveloper (This should be different from existing usernames, such as ExamDeveloper_New, in case of side-by-side (additional instance) installation)

    2. Password: [use a password of your choice here]. In our example, this password is "Password" ("Password_New" in case of side-by-side (additional instance) installation).

      Remember

      Icon

      The above username and password must be specified later in the massTransit.config files for ExamDeveloper and EDRS.



    3. Tags: leave empty

  3. Click Add user button. This displays the ExamDeveloper user (ExamDeveloper_New user in case of side-by-side (additional instance) installation) in the grid under the All users section. At this point, the user is created, but does not have any access to RabbitMQ.

Set access rights for the above user to the new Virtual Host

  1. Click on Admin tab.

  2. From the All users grid, select the user you would like to manage (ExamDeveloper in our example and ExamDeveloper_New in case of side-by-side (additional instance) installation).
  3. Under the Permissions section, find the Set permission sub-section.
    1. Choose the Virtual Host you would like to grant the user access to (ExamDeveloper in our example and ExamDeveloper_New in case of side-by-side (additional instance) installation).
    2. Click on Set permission button.

 

Click here to return to the top of the page.

 Configure IIS Web Server

 Update Windows Registry

 ExamDeveloper setup home page

 

  • No labels