Hi there,
I'm trying to change the location that Rabbit reads its enabled plugins file from (/etc/rabbitmq is not writable in the target environment)
Here's what I did:
1. Stopped running Rabbit:
rabbitmqctl stop
2. Added RABBITMQ_ENABLED_PLUGINS_FILE in shell script that starts Rabbit:
export RABBITMQ_ENABLED_PLUGINS_FILE=/PATH/TO/NEW_DIRECTORY/rabbit_conf/enabled_plugins
3. Restarted Rabbit from that shell script with
rabbitmq_server -detached
4. Verified my environment variable is being picked up both with "rabbitmqctl environment" and with "ps aux | grep rabbit" (output below - actual host name and directory edited out by me, but you get the idea)
rabbitmq 59559 4.7 0.0 2453080 43540 ? Sl 09:51 1:22 /usr/lib64/erlang/erts-5.9.2/bin/beam.smp -W w -K true -A30 -P 1048576 -- -root /usr/lib64/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.3.0/sbin/../ebin -noshell -noinput -s rabbit boot -sname rabbit@HOSTNAME -boot start_sasl -config /etc/rabbitmq/rabbitmq -kernel inet_default_connect_options [{nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit error_logger {file,"/var/log/rabbitmq/rab...@HOSTNAME.log"} -rabbit sasl_error_logger {file,"/var/log/rabbitmq/rab...@HOSTNAME-sasl.log"} -rabbit enabled_plugins_file "/PATH/TO/NEW_DIRECTORY/rabbit_conf/enabled_plugins" -rabbit plugins_dir "/usr/lib/rabbitmq/lib/rabbitmq_server-3.3.0/sbin/../plugins" -rabbit plugins_expand_dir "/var/lib/rabbitmq/mnesia/rabbit@HOSTNAME-plugins-expand" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/var/lib/rabbitmq/mnesia/rabbit@HOSTNAME" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672 -noshell -noinput
When I try and enable a sample plugin, I get the following error:
$ rabbitmq-plugins enable rabbitmq_stomp
Error: {cannot_write_enabled_plugins_file,"/etc/rabbitmq/enabled_plugins",
eacces}
Do I need to do something more to make Rabbit 'forget' the default enabled_plugins_file location?
Best wishes
Ben