1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
#!/bin/sh
set -e
if [ "$1" = "configure" ] || [ "$1" = "reconfigure" ] ; then
# create rabbitmq group
if ! getent group rabbitmq >/dev/null; then
addgroup --system rabbitmq
fi
# create rabbitmq user
if ! getent passwd rabbitmq >/dev/null; then
adduser --system \
--ingroup rabbitmq \
--home /var/lib/rabbitmq \
--no-create-home \
--gecos "RabbitMQ messaging server" \
--disabled-login rabbitmq
fi
mkdir -p /etc/rabbitmq
chown rabbitmq:rabbitmq /etc/rabbitmq
if [ -r /usr/share/rabbitmq/rabbitmq-env.conf ] && ! [ -e /etc/rabbitmq/rabbitmq-env.conf ] ; then
install -m 0644 -o rabbitmq -g rabbitmq /usr/share/rabbitmq/rabbitmq-env.conf /etc/rabbitmq/rabbitmq-env.conf
fi
if [ -f /etc/rabbitmq/enabled_plugins ] ; then
chown rabbitmq:rabbitmq /etc/rabbitmq/enabled_plugins
fi
mkdir -p /var/lib/rabbitmq/mnesia
chmod 750 /var/lib/rabbitmq/mnesia
chmod -R o-rwx,g-w /var/lib/rabbitmq/mnesia
# We generate the erlang cookie by ourselves, just to make sure we don't
# leave the job to erlang that doesn't do it with enough entropy.
if ! [ -e /var/lib/rabbitmq/.erlang.cookie ] ; then
OLD_UMASK=$(umask)
umask 077; openssl rand -base64 -out /var/lib/rabbitmq/.erlang.cookie 42
umask ${OLD_UMASK}
else
# This matches an Erlang generated cookie file: 20 upper case chars
if grep -q -E '^[A-Z]{20}$' /var/lib/rabbitmq/.erlang.cookie ; then
OLD_UMASK=$(umask)
umask 077; openssl rand -base64 -out /var/lib/rabbitmq/.erlang.cookie 42
umask ${OLD_UMASK}
if [ ""$(ps --no-headers -o comm 1) = "systemd" ] ; then
if systemctl is-active --quiet rabbitmq-server.service ; then
systemctl restart rabbitmq-server.service
fi
fi
fi
fi
chmod 0400 /var/lib/rabbitmq/.erlang.cookie
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq
chown -R rabbitmq:adm /var/log/rabbitmq
fi
#DEBHELPER#
exit 0
|