Last active
August 23, 2017 06:24
-
-
Save jdrago999/f9299992f7eb9b2d95bd82e371e3205d to your computer and use it in GitHub Desktop.
Install RabbitMQ with basic configuration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
### Usage: | |
# RABBITMQ_DEFAULT_USER=someuser RABBITMQ_DEFAULT_PASS=secret123 RABBITMQ_DEFAULT_VHOST=myvhost setup-rabbitmq.sh | |
set -euo pipefail | |
apt-get update -y | |
apt-get install -y curl wget gnupg apt-transport-https | |
# Add Debian Wheezy backports repository to obtain init-system-helpers | |
gpg --keyserver pgpkeys.mit.edu --recv-key 7638D0442B90D010 | |
gpg -a --export 7638D0442B90D010 | apt-key add - | |
echo 'deb http://ftp.debian.org/debian wheezy-backports main' | tee /etc/apt/sources.list.d/wheezy_backports.list | |
# Add Erlang Solutions repository to obtain esl-erlang | |
wget -O- https://packages.erlang-solutions.com/debian/erlang_solutions.asc | apt-key add - | |
echo 'deb https://packages.erlang-solutions.com/debian wheezy contrib' | tee /etc/apt/sources.list.d/esl.list | |
apt-get update | |
apt-get install -y init-system-helpers socat esl-erlang | |
# continue with RabbitMQ installation as explained above | |
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | apt-key add - | |
echo 'deb http://www.rabbitmq.com/debian/ testing main' | tee /etc/apt/sources.list.d/rabbitmq.list | |
apt-get update | |
apt-get install -y rabbitmq-server | |
# Installation has concluded - now we can start and configure it: | |
service rabbitmq-server start | |
sleep 5 | |
echo 'enabling...' | |
rabbitmq-plugins enable rabbitmq_management | |
echo 'list users?' | |
if rabbitmqctl list_users | grep $RABBITMQ_DEFAULT_USER; then | |
echo "user '$RABBITMQ_DEFAULT_USER' already exists" | |
else | |
echo 'adding user.....' | |
rabbitmqctl add_user $RABBITMQ_DEFAULT_USER $RABBITMQ_DEFAULT_PASS || echo 'weird...' | |
fi | |
echo 'list users (2)' | |
if rabbitmqctl list_users | grep $RABBITMQ_DEFAULT_USER | grep -F "[administrator]"; then | |
echo "user '$RABBITMQ_DEFAULT_USER' already tagged as 'administrator'" | |
else | |
echo 'set user tags' | |
rabbitmqctl set_user_tags $RABBITMQ_DEFAULT_USER administrator | |
fi | |
rabbitmqctl add_vhost $RABBITMQ_DEFAULT_VHOST || echo "vhost '$RABBITMQ_DEFAULT_VHOST' already exists" | |
echo 'list permissions?' | |
if rabbitmqctl list_permissions -p $RABBITMQ_DEFAULT_USER | grep $RABBITMQ_DEFAULT_USER | grep "$RABBITMQ_DEFAULT_VHOST\\.\\*\\s+\\.\\*\\s+\\.\\*\$/"; then | |
echo "user '$RABBITMQ_DEFAULT_USER' already has permissions '.* .* .*'" | |
else | |
echo 'setting permissions' | |
rabbitmqctl set_permissions -p $RABBITMQ_DEFAULT_USER $RABBITMQ_DEFAULT_VHOST ".*" ".*" ".*" | |
fi | |
service rabbitmq-server stop | |
service rabbitmq-server start |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The above updates have now been added to the original script.