{"id":7785,"date":"2019-01-07T16:28:46","date_gmt":"2019-01-07T08:28:46","guid":{"rendered":"http:\/\/rmohan.com\/?p=7785"},"modified":"2019-01-07T16:28:47","modified_gmt":"2019-01-07T08:28:47","slug":"installing-rabbitmq-on-centos-7","status":"publish","type":"post","link":"https:\/\/mohan.sg\/?p=7785","title":{"rendered":"Installing RabbitMQ on CentOS 7"},"content":{"rendered":"\n<p>I\u2019ll take you through the installation of RabbitMQ on CentOS 7 \/ Fedora 29 \/ Fedora 28. <\/p>\n\n\n\n<p>RabbitMQ is an open source message broker software that implements the Advanced Message Queuing Protocol (AMQP). <\/p>\n\n\n\n<p>It receives messages from publishers (applications that publish them) and routes them to consumers (applications that process them).<\/p>\n\n\n\n<p>Follow the steps below to install RabbitMQ on Fedora 29 \/ Fedora 28.<\/p>\n\n\n\n<p>Step 1: Install Erlang<br>\nBefore installing RabbitMQ, you must install a supported version of Erlang\/OTP. The version of Erlang package available on EPEL repository should be sufficient.<\/p>\n\n\n\n<p>sudo dnf -y install erlang<br>\nConfirm installation by running the erlcommand:<\/p>\n\n\n\n<p>$ erl <br>\nErlang\/OTP 20 [erts-9.3.3.3] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:10] [hipe] [kernel-poll:false]<\/p>\n\n\n\n<p>Eshell V9.3.3.3  (abort with ^G)<br>\n1&gt;<br>\nStep 2: Add PackageCloud Yum Repository<br>\nA Yum repository with RabbitMQ packages is available from PackageCloud.<\/p>\n\n\n\n<p>Create a new Repository file for RabbitMQ.<\/p>\n\n\n\n<p>sudo vim \/etc\/yum.repos.d\/rabbitmq_rabbitmq-server.repo<br>\nAdd:<\/p>\n\n\n<p>[rabbitmq_rabbitmq-server]<\/p>\n\n\n\n<p>\nname=rabbitmq_rabbitmq-server<br>\nbaseurl=https:\/\/packagecloud.io\/rabbitmq\/rabbitmq-server\/el\/7\/$basearch<br>\nrepo_gpgcheck=1<br>\ngpgcheck=0<br>\nenabled=1<br>\ngpgkey=https:\/\/packagecloud.io\/rabbitmq\/rabbitmq-server\/gpgkey<br>\nsslverify=1<br>\nsslcacert=\/etc\/pki\/tls\/certs\/ca-bundle.crt<br>\nmetadata_expire=300\n<\/p>\n\n\n<p>[rabbitmq_rabbitmq-server-source]<\/p>\n\n\n\n<p>\nname=rabbitmq_rabbitmq-server-source<br>\nbaseurl=https:\/\/packagecloud.io\/rabbitmq\/rabbitmq-server\/el\/7\/SRPMS<br>\nrepo_gpgcheck=1<br>\ngpgcheck=0<br>\nenabled=1<br>\ngpgkey=https:\/\/packagecloud.io\/rabbitmq\/rabbitmq-server\/gpgkey<br>\nsslverify=1<br>\nsslcacert=\/etc\/pki\/tls\/certs\/ca-bundle.crt<br>\nmetadata_expire=300<br>\nStep 3: Install RabbitMQ on Fedora 29 \/ Fedora 28<br>\nThe last step is the actual installation of RabbitMQ:\n<\/p>\n\n\n\n<p>sudo dnf makecache -y &#8211;disablerepo=&#8217;*&#8217; &#8211;enablerepo=&#8217;rabbitmq_rabbitmq-server&#8217;<br>\nsudo dnf -y install rabbitmq-server<br>\nConfirm version of RabbitMQ installed:<\/p>\n\n\n\n<p>$ rpm -qi rabbitmq-server<br>\nName        : rabbitmq-server<br>\nVersion     : 3.7.8<br>\nRelease     : 1.el7<br>\nArchitecture: noarch<br>\nInstall Date: Thu 15 Nov 2018 01:32:16 PM UTC<br>\nGroup       : Development\/Libraries<br>\nSize        : 10858832<br>\nLicense     : MPLv1.1 and MIT and ASL 2.0 and BSD<br>\nSignature   : RSA\/SHA1, Thu 20 Sep 2018 03:32:57 PM UTC, Key ID 6b73a36e6026dfca<br>\nSource RPM  : rabbitmq-server-3.7.8-1.el7.src.rpm<br>\nBuild Date  : Thu 20 Sep 2018 03:32:56 PM UTC<br>\nBuild Host  : 17dd9d9d-9199-4429-59e6-dc265f3581e9<br>\nRelocations : (not relocatable)<br>\nURL         : http:\/\/www.rabbitmq.com\/<br>\nSummary     : The RabbitMQ server<br>\nDescription :<br>\nRabbitMQ is an open source multi-protocol messaging broker.<br>\nStep 4: Start RabbitMQ Service<br>\nNow that you have RabbitMQ installed on your Fedora, start and enable the service to start on system boot.<\/p>\n\n\n\n<p>sudo systemctl start rabbitmq-server<br>\nsudo systemctl enable rabbitmq-server<\/p>\n\n\n\n<p>Step 5: Enable the RabbitMQ Management Dashboard (Optional)<br>\nYou can optionally enable the RabbitMQ Management Web dashboard for easy management.<\/p>\n\n\n\n<p>sudo rabbitmq-plugins enable rabbitmq_management<br>\nThe Web service should be listening on TCP port 15672<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">ss -tunelp | grep 15672<\/h1>\n\n\n\n<p>tcp   LISTEN  0       128                    0.0.0.0:15672        0.0.0.0:*      users:((&#8220;beam.smp&#8221;,pid=9525,fd=71)) uid:111 ino:39934 sk:9 &lt;-&gt;<br>\nIf you have an active Firewalld service, allow ports 5672 and 15672<\/p>\n\n\n\n<p>sudo firewall-cmd &#8211;add-port={5672,15672}\/tcp &#8211;permanent<\/p>\n\n\n\n<p>By default, the guest user exists and can connect only from localhost. You can log in with this user locally with the password \u201cguest\u201d<\/p>\n\n\n\n<p>To be able to login on the network, create an admin user like below:<\/p>\n\n\n\n<p>rabbitmqctl add_user admin StrongPassword<br>\nrabbitmqctl set_user_tags admin administrator<br>\nLogin with this admin username and the password assigned.<\/p>\n\n\n\n<p>RabbitMQ User Management Commands<br>\nDelete User:<\/p>\n\n\n\n<p>rabbitmqctl delete_user user<br>\nChange User Password:<\/p>\n\n\n\n<p>rabbitmqctl change_password user strongpassword<br>\nCreate new Virtualhost:<\/p>\n\n\n\n<p>rabbitmqctl add_vhost \/my_vhost<br>\nList available Virtualhosts:<\/p>\n\n\n\n<p>rabbitmqctl list_vhosts<br>\nDelete a virtualhost:<\/p>\n\n\n\n<p>rabbitmqctl delete_vhost \/myvhost<br>\nGrant user permissions for vhost:<\/p>\n\n\n\n<p>rabbitmqctl set_permissions -p \/myvhost user &#8220;.<em>&#8221; &#8220;.<\/em>&#8221; &#8220;.*&#8221;<br>\nList vhost permissions:<\/p>\n\n\n\n<p>rabbitmqctl list_permissions -p \/myvhost<br>\nTo list user permissions:<\/p>\n\n\n\n<p>rabbitmqctl list_user_permissions user<br>\nDelete user permissions:<\/p>\n\n\n\n<p>rabbitmqctl clear_permissions -p \/myvhost user<br>\nThe next article to read is:<\/p>\n\n\n\n<p>sudo firewall-cmd &#8211;reload<br>\nAccess it by opening the URL http:\/\/[server IP|Hostname]:15672<\/p>\n","protected":false},"excerpt":{"rendered":"\n<p>I\u2019ll take you through the installation of RabbitMQ on CentOS 7 \/ Fedora 29 \/ Fedora 28. <\/p>\n<p>RabbitMQ is an open source message broker software that implements the Advanced Message Queuing Protocol (AMQP). <\/p>\n<p>It receives messages from publishers (applications that publish them) and routes them to consumers (applications that process them).<\/p>\n<p>Follow [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[57],"tags":[],"_links":{"self":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/7785"}],"collection":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7785"}],"version-history":[{"count":1,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/7785\/revisions"}],"predecessor-version":[{"id":7786,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/7785\/revisions\/7786"}],"wp:attachment":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7785"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7785"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}