Installing Erlang and Rabbit MQ - jordy33/turbogears_tutorial GitHub Wiki

First you have verify which distribution you are running, run "lsb_release -c" in console. For ubuntu 16.04 is xenial.

Add one of the following lines to your /etc/apt/sources.list (according to your distribution):

deb https://packages.erlang-solutions.com/ubuntu xenial contrib

Next, add the Erlang Solutions public key for "apt-secure" using following commands:

wget https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc
sudo apt-key add erlang_solutions.asc
  1. Installing Erlang Refresh the repository cache and install either the "erlang" package:
sudo apt-get update
sudo apt-get install erlang

Erlang version

erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().'  -noshell

Installing Rabbit MQ Ubuntu 16.04

echo "deb https://dl.bintray.com/rabbitmq/debian xenial main" | sudo tee /etc/apt/sources.list.d/bintray.rabbitmq.list

Add Public Key

wget -O- https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc |
     sudo apt-key add -

Update package

sudo apt-get update

Install Server

sudo apt-get install rabbitmq-server

Start server

rabbitmq-server start

Check status

rabbitmqctl status

Managing the Broker To stop the server or check its status, etc., you can use package-specific scripts (e.g. the service tool) or invoke rabbitmqctl (as an administrator). It should be available on the path. All rabbitmqctl commands will report the node absence if no broker is running.

Invoke rabbitmqctl stop to stop the server. Invoke rabbitmqctl status to check whether it is running.

Rabbit version

sudo rabbitmqctl status

and search for the below line. The version MUST have at least version 3.7.5:

{rabbit,"RabbitMQ","3.7.5"},

Installing Management plugin

rabbitmq-plugins enable rabbitmq_management

Create user:

rabbitmqctl add_user dwim gpscontrol1
rabbitmqctl set_user_tags dwim administrator
rabbitmqctl set_permissions -p / dwim ".*" ".*" ".*"

To enter admin

http://test.dwim.mx:15672/

Remove mosquitto if you have previously installed

sudo apt-get remove mosquitto mosquitto-clients

Install mqtt

rabbitmq-plugins enable rabbitmq_mqtt

Instaling web mqtt

rabbitmq-plugins enable rabbitmq_web_mqtt
sudo service rabbitmq-server start
rabbitmq-plugins enable rabbitmq_web_stomp
rabbitmq-plugins enable rabbitmq_web_stomp_examples

Edit config file

vim  /etc/rabbitmq/rabbitmq.conf

Insert the following

stomp.listeners.tcp.default = 0.0.0.0:61613

API

curl -i -u dwim:gpscontrol1 http://test.dwim.mx:15672/api/connections

Enable MQTT:

sudo rabbitmq-plugins enable rabbitmq_mqtt
sudo /etc/init.d/rabbitmq-server restart 

Configure MQTT:

sudo vim  /etc/rabbitmq/rabbitmq.conf

Insert:

mqtt.listeners.tcp.default = 0.0.0.0:1883
## Default MQTT with TLS port is 8883
# mqtt.listeners.ssl.default = 8883

# anonymous connections, if allowed, will use the default
# credentials specified here
mqtt.allow_anonymous  = true
mqtt.default_user     = guest
mqtt.default_pass     = guest

mqtt.vhost            = /
mqtt.exchange         = amq.topic
# 24 hours by default
mqtt.subscription_ttl = 86400000
mqtt.prefetch         = 10