Installing on RPM-based Linux (CentOS, Fedora, OpenSuse, RedHat)

Download the Server

Packaged as RPM for Fedora / RHEL / CentOS Linux rabbitmq-server-3.4.3-1.noarch.rpm(Signature)
Packaged as RPM for openSUSE Linux rabbitmq-server-3.4.3-1.suse.noarch.rpm(Signature)

rabbitmq-server is included in Fedora. However, the versions included are often quite old. You will probably get better results installing the .rpm from our website. Check the Fedora package details for which version of the server is available for which versions of the distribution.

Before installing RabbitMQ, you must install Erlang. We strongly recommend using a packaged version. There are three suggested sources for Erlang packages:

Install Erlang from the EPEL repository or

  1. Follow the steps in the EPEL FAQ to enable EPEL on your machine.
  2. Issue the following command as 'root':
    yum install erlang

Install Erlang from the Erlang Solutions repository or

  1. Follow the instructions under "Installation using repository" at Erlang Solutions.

Install monolithic Erlang from Erlang Solutions or

  1. Download and install the appropriate esl-erlang RPM from Erlang Solutions.
  2. Download and install the esl-erlang-compat RPM (direct download) produced by Jason McIntosh.

    This is needed since Erlang Solutions' monolithic packages provide "esl-erlang"; this package just requires "esl-erlang" and provides "erlang".

Install monolithic Erlang from VMware

  1. Download and install the appropriate RPM from VMware.

Install the Server

After downloading the server package, issue the following command as 'root':

rpm --import
      yum install rabbitmq-server--1.noarch.rpm

Run RabbitMQ Server

Customise RabbitMQ Environment Variables

The server should start using defaults. You can customise the RabbitMQ environment. Also see how to configure components.

Start the Server

The server is not started as a daemon by default when the RabbitMQ server package is installed. To start the daemon by default when the system boots, as an administrator run chkconfig rabbitmq-server on.

As an administrator, start and stop the server as usual using /sbin/service rabbitmq-server stop/start/etc.

Note: The server is set up to run as system user rabbitmq. If you change the location of the Mnesia database or the logs, you must ensure the files are owned by this user (and also update the environment variables).

Security and Ports

SELinux and similar mechanisms may prevent RabbitMQ from binding to a port. When that happens, RabbitMQ will fail to start. Make sure the following ports can be opened:

  • 4369 (epmd), 25672 (Erlang distribution)
  • 5672, 5671 (AMQP 0-9-1 without and with TLS)
  • 15672 (if management plugin is enabled)
  • 61613, 61614 (if STOMP is enabled)
  • 1883, 8883 (if MQTT is enabled)

Default user access

The broker creates a user guest with password guest. Unconfigured clients will in general use these credentials. By default, these credentials can only be used when connecting to the broker as localhost so you will need to take action before connecting fromn any other machine.

See the documentation on access control for information on how to create more users, delete the guest user, or allow remote access to the guest user.

Managing the Broker

To stop the server or check its status, etc., you can 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.

More info on rabbitmqctl.


Output from the server is sent to a RABBITMQ_NODENAME.log file in the RABBITMQ_LOG_BASE directory. Additional log data is written to RABBITMQ_NODENAME-sasl.log.

The broker always appends to the log files, so a complete log history is retained.

You can use the logrotate program to do all necessary rotation and compression, and you can change it. By default, this script runs weekly on files located in default /var/log/rabbitmq directory. See /etc/logrotate.d/rabbitmq-server to configure logrotate.