Install and configure RabbitMQ - jlazic/GlogSMS GitHub Wiki

RabbitMQ

RabbitMQ is message broker that implements AMQP (http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol) protocol that EnvayaSMS knows howto use. This way we can send SMS messages to mobile phones as soon as they reach GlogSMS, instead of waiting for next pool interval.

Install RabbitMQ with this command

sudo apt install rabbitmq-server

Enable management web interface

sudo rabbitmq-plugins enable rabbitmq_management

And restart RabbitMQ service

sudo service rabbitmq-server restart

Now you have functional RabbitMQ server. Web interface is on listening on http://[your server's IP]:15672/, username and password are guest. I would advice on changing guest password. You can do that by logging in to web management interface, the same interface where you need to add new user, and virtual host.

Configure RabbitMQ via web interface

You can add new user by going to Admin > Users > Add a user in RabbitMQ management interface, username and password for this new user must be entered in project/local_settings.py. After creating user create RabbitMQ virtualhost named sms, and than give user created in previous step permissions to that virtualhost.

Login to RabbitMQ web interface

Add new RabbitMQ user

Add new RabbitMQ virtual host

Give permission to new user

Modify RabbitMQ URL in local_settings.py

Configure RabbitMQ via CLI interface

Alternative to using web management interface is using rabbitmqctl CLI command.

Create user

sudo rabbitmqctl add_user sms password

Add new virtual host

sudo rabbitmqctl add_vhost sms

Set permissions for user sms on sms virtual host

rabbitmqctl set_permissions -p sms sms ".*" ".*" ".*"

Congrats, you have configured AMQP broker. You have functional system, but before opening celebratory champaign take a look at step 4, where I explain howto prepare GlogSMS for production usage.