RabbitMQのインストールと管理画面の有効化(MacOSX/Linux/Windows)

More than 3 years have passed since last update.

RabbitMQのインストールとRabbitMQ管理画面の有効化までのステップのメモ


Mac OSX

一番簡単

brew install rabbitmq

以上でインストール終了。裏でいろいろ(下で実施するLinuxインストール相当のことを)やってくれてる。

http://localhost:15672/ 

にアクセスすると管理画面が有効になっている。

CBIMGfsewr004.png

user:guest password:guest でログインできる

CBIMGfsewr003.png


Linux


Erlangをインストール

sudo yum install erlang


RabbitMQをダウンロード

RPMはこちらから

http://www.rabbitmq.com/install-rpm.html

curl -O http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.4/rabbitmq-server-3.4.4-1.noarch.rpm


RabbitMQをインストール

sudo rpm -ivh rabbitmq-server-3.4.4-1.noarch.rpm


RabbitMQを開始

sudo service rabbitmq-server start

ntsysvとかでOS起動時にBOOTするようにしておく(任意)


管理画面を有効化

sudo rabbitmq-plugins enable rabbitmq_management

ちなみにsudoしないとひどいエラーがでる

rabbitmq-plugins enable rabbitmq_management



[siori@localhost download]$ rabbitmq-plugins enable rabbitmq_management

{error_logger,{{2015,3,2},{0,26,59}},"Error when reading ./.erlang.cookie: eacces",[]}

{error_logger,{{2015,3,2},{0,26,59}},crash_report,[[{initial_call,{auth,init,['Argument__1']}},{pid,<0.19.0>},{registered_name,[]},{error_info,{exit,{"Error when reading ./.erlang.cookie: eacces",[{auth,init_cookie,0,[{file,"auth.erl"},{line,285}]},{auth,init,1,[{file,"auth.erl"},{line,139}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,304}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]},[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,328}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}},{ancestors,[net_sup,kernel_sup,<0.10.0>]},{messages,[]},{links,[<0.17.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,987},{stack_size,27},{reductions,609}],[]]}

{error_logger,{{2015,3,2},{0,26,59}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{"Error when reading ./.erlang.cookie: eacces",[{auth,init_cookie,0,[{file,"auth.erl"},{line,285}]},{auth,init,1,[{file,"auth.erl"},{line,139}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,304}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}},{offender,[{pid,undefined},{name,auth},{mfargs,{auth,start_link,[]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}

{error_logger,{{2015,3,2},{0,26,59}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,{shutdown,{failed_to_start_child,auth,{"Error when reading ./.erlang.cookie: eacces",[{auth,init_cookie,0,[{file,"auth.erl"},{line,285}]},{auth,init,1,[{file,"auth.erl"},{line,139}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,304}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}}}},{offender,[{pid,undefined},{name,net_sup},{mfargs,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]}

{error_logger,{{2015,3,2},{0,26,59}},crash_report,[[{initial_call,{application_master,init,['Argument__1','Argument__2','Argument__3','Argument__4']}},{pid,<0.9.0>},{registered_name,[]},{error_info,{exit,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,auth,{"Error when reading ./.erlang.cookie: eacces",[{auth,init_cookie,0,[{file,"auth.erl"},{line,285}]},{auth,init,1,[{file,"auth.erl"},{line,139}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,304}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}}}}},{kernel,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,133}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}},{ancestors,[<0.8.0>]},{messages,[{'EXIT',<0.10.0>,normal}]},{links,[<0.8.0>,<0.7.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,610},{stack_size,27},{reductions,148}],[]]}


管理画面が有効になったか調べる

[siori@localhost download]$ curl http://127.0.0.1:15672/


index.html

<html>

<head>
<title>RabbitMQ Management</title>
<script src="js/ejs.min.js" type="text/javascript"></script>
<script src="js/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="js/jquery.flot.min.js" type="text/javascript"></script>
<script src="js/jquery.flot.time.min.js" type="text/javascript"></script>
<script src="js/sammy-0.6.0.min.js" type="text/javascript"></script>
<script src="js/json2.js" type="text/javascript"></script>
<script src="js/base64.js" type="text/javascript"></script>
<script src="js/global.js" type="text/javascript"></script>
<script src="js/main.js" type="text/javascript"></script>
<script src="js/prefs.js" type="text/javascript"></script>
<script src="js/help.js" type="text/javascript"></script>
<script src="js/formatters.js" type="text/javascript"></script>
<script src="js/charts.js" type="text/javascript"></script>

<link href="css/main.css" rel="stylesheet" type="text/css"/>
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon"/>

<!--[if lte IE 8]>
<script src="js/excanvas.min.js" type="text/javascript"></script>
<link href="css/evil.css" rel="stylesheet" type="text/css"/>
<![endif]-->

</head>
<body>
<div id="outer"></div>
<div id="debug"></div>
<div id="scratch"></div>
</body>
</html>


こんなのが返ってきたらOK


ポートフォワーディングして家のデスクトップから管理画面にアクセスできるようにする

Linuxは基本的にVPSなどリモート経由でアクセスする事が多いと思います。

デスクトップPC(Windows/Mac)から管理画面にアクセスするには ssh -L コマンドでポートフォワーディングを使います。

ここではLinux(VPS)のアドレスを111.111.111.111とし、ローカルのPCの25672ポートにフォワードします。

ssh -L 25672:111.111.111.111:15672 username@111.111.111.111

http://localhost:25672/ 

にアクセスし管理画面が開けたら成功・・・ですが、このままではguest/guestでログインできません(´・ω・`)


リモートからguest/guestで管理画面にアクセスできるようにする

RabbitMQのデフォルト設定ではguestユーザーはリモートPCからアクセスできないようになっています。

iptablesなどでセキュリティ確保していることを前提でguestユーザーをリモートアクセスできるようにします。

cd $RABBITMQ_HOME/etc/rabbitmq/

sudo touch rabbitmq.config
vi rabbitmq.config


rabbitmq.config

[{rabbit, [{loopback_users, []}]}].


サービス再起動

sudo service rabbitmq-server restart

これでリモートからguestでログインできるようになります。


Windows


erlangのサイトからerlangをインストール

http://www.erlang.org/download.html

Windowsでアクセスした場合はWindowsのバイナリのリンクがでる

http://www.erlang.org/download/otp_win64_17.4.exe

こういうのを落としてクリックインストール


RabbitMQをダウンロード

http://www.rabbitmq.com/download.html

http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.4/rabbitmq-server-3.4.4.exe

こういうのを落としてクリックインストール!


RabbitMQを有効化

サービスとしてインストールされるのでコントロールパネルの管理→サービスで有効化

CBIMGfsewr001.png


管理系のコマンドがある場所まで移動

rabbitMQのコマンドはここらへんにインストールされるのでコマンドプロンプトに入りこのパスまで移動する

cd C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.4\sbin


有効になってるプラグインを見つめる

CBIMGfsewr002.png

rabbitmq-plugins.bat listを実行すると管理系のプラグインが有効になってないのがわかる

C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.4\sbin>rabbitmq-plugins.bat list

Configured: E = explicitly enabled; e = implicitly enabled
| Status: * = running on rabbit@MACHINE
|/
[ ] amqp_client 3.4.4
[ ] cowboy 0.5.0-rmq3.4.4-git4b93c2d
[ ] mochiweb 2.7.0-rmq3.4.4-git680dba8
[ ] rabbitmq_amqp1_0 3.4.4
[ ] rabbitmq_auth_backend_ldap 3.4.4
[ ] rabbitmq_auth_mechanism_ssl 3.4.4
[ ] rabbitmq_consistent_hash_exchange 3.4.4
[ ] rabbitmq_federation 3.4.4
[ ] rabbitmq_federation_management 3.4.4
[ ] rabbitmq_management 3.4.4
[ ] rabbitmq_management_agent 3.4.4
[ ] rabbitmq_management_visualiser 3.4.4
[ ] rabbitmq_mqtt 3.4.4
[ ] rabbitmq_shovel 3.4.4
[ ] rabbitmq_shovel_management 3.4.4
[ ] rabbitmq_stomp 3.4.4
[ ] rabbitmq_test 3.4.4
[ ] rabbitmq_tracing 3.4.4
[ ] rabbitmq_web_dispatch 3.4.4
[ ] rabbitmq_web_stomp 3.4.4
[ ] rabbitmq_web_stomp_examples 3.4.4
[ ] sockjs 0.3.4-rmq3.4.4-git3132eb9
[ ] webmachine 1.10.3-rmq3.4.4-gite9359c7

全部無効になってる(´・ω・`)


管理プラグインを有効化する

C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.4\sbin>rabbitmq-plugins.bat enable rabbitmq

_management

以下のようになったらOK

The following plugins have been enabled:

mochiweb
webmachine
rabbitmq_web_dispatch
amqp_client
rabbitmq_management_agent
rabbitmq_management

Applying plugin configuration to rabbit@MACHINE... started 6 plugins.


管理プラグインが有効になったか調べる

C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.4\sbin>rabbitmq-plugins.bat list

Configured: E = explicitly enabled; e = implicitly enabled
| Status: * = running on rabbit@MACHINE
|/
[e*] amqp_client 3.4.4
[ ] cowboy 0.5.0-rmq3.4.4-git4b93c2d
[e*] mochiweb 2.7.0-rmq3.4.4-git680dba8
[ ] rabbitmq_amqp1_0 3.4.4
[ ] rabbitmq_auth_backend_ldap 3.4.4
[ ] rabbitmq_auth_mechanism_ssl 3.4.4
[ ] rabbitmq_consistent_hash_exchange 3.4.4
[ ] rabbitmq_federation 3.4.4
[ ] rabbitmq_federation_management 3.4.4
[E*] rabbitmq_management 3.4.4
[e*] rabbitmq_management_agent 3.4.4
[ ] rabbitmq_management_visualiser 3.4.4
[ ] rabbitmq_mqtt 3.4.4
[ ] rabbitmq_shovel 3.4.4
[ ] rabbitmq_shovel_management 3.4.4
[ ] rabbitmq_stomp 3.4.4
[ ] rabbitmq_test 3.4.4
[ ] rabbitmq_tracing 3.4.4
[e*] rabbitmq_web_dispatch 3.4.4
[ ] rabbitmq_web_stomp 3.4.4
[ ] rabbitmq_web_stomp_examples 3.4.4
[ ] sockjs 0.3.4-rmq3.4.4-git3132eb9
[e*] webmachine 1.10.3-rmq3.4.4-gite9359c7

OK!(`・ω・´)シャキーン

なんとなくビジュアライザーも有効化しておく

C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.4\sbin>rabbitmq-plugins.bat enable rabbitmq

_management_visualiser
The following plugins have been enabled:
rabbitmq_management_visualiser

Applying plugin configuration to rabbit@MACHINE... started 1 plugin.

以上