LoginSignup
4
6

More than 5 years have passed since last update.

さくらの VPS に HiveMQ をインストールして MQTT の websocket bridge を有効にする手順

Last updated at Posted at 2014-12-02

はじめに

自身の備忘録として掲題の件、ここに残させていただきます。どなたかのお役にたつことがあれば幸いです

※2015.12.29追記:今だと mosquitto1.4 を websocket有効でビルドするほうがいいのかもしれません、手順(というかshell)をコメントに書きました

なぜ HiveMQ なのか

MQTT の Websocket bridge が必要だったのですが、mosquitto では現行の 1.3 系にはそれがなく、開発系の 1.4 を自分でビルドするか mod_websocket を使うなどが必要になります。Sango も検討したのですが月間最大メッセージ数の制限が合わず、CloudMQTTは Websocket がありませんでした。そこで HiveMQ を VPS にインストールして試してみました

インストール

事前準備:port 1883 と 8000 の開放

HiveMQ は mqtt と websocket のポートにデフォルトでそれぞれ
1883 と 8000 を使いますので、事前に /etc/sysconfig/iptables に以下を追加して、iptables を restart しておきます

iptables
# for hiveMQ
-A SERVICES -p tcp --dport 1883 -j ACCEPT
-A SERVICES -p tcp --dport 8000 -j ACCEPT
sudo /etc/rc.d/init.d/iptables restart

事前準備:JRE のインストール

sudo yum install JRE がエラーになってしまうので、rpm をダウンロードしてきてインストールします。こちらの手順を参考にさせていただきました.
1. rpm ファイルをダウンロード
2. インストール

rpm -ivh jre-7u7-linux-x64.rpm

HiveMQ のダウンロード

ダウンロードと動作確認

こちらの手順を参考にさせていただきました。

1.download

    wget --content-disposition http://www.hivemq.com/downloads/releases/latest

2.解凍して動作確認

unzip hivemq-<ダウンロードしたバージョン>.zip
cd <hivemq をダウンロードしたディレクトリ>/bin
chmod 755 run.sh
./run.sh

mosquitto などで pub/sub できることを確認します

Websocket を有効化

こちらの方と同じハマりかたをしてしまいました ^^;
自分がハマるようなネタは誰もが既にがハマっていて、誰かが stack overflow で既に聞いてくれていて、誰かが stack overflow で既に答えてくれている。有り難い世の中になったものです
デフォルトでは Websocket が無効になっているので
nano 等で conf/configurations.properties を開き、
websockets.enabled の設定を false から true に変更します

サービスに設定

こちらを参考にしました

  1. hivemq アカウントを作成し、ファイルの所有者の変更
useradd -d /opt/hivemq hivemq
chown -R hivemq:hivemq <hivemq をダウンロードしたディレクトリ>
  1. 初期化スクリプトの /etc/init.d/ へのコピー
cp <hivemq をダウンロードしたディレクトリ>/bin/init-script/hivemq-debian /etc/init.d/hivemq
chmod +x /etc/init.d/hivemq

3.サービスの起動
sudo /etc/init.d/hivemq start

参考文献

-RPMを使用したLinux x64版Javaのインストール方法
-HiveMQ: getting-started
-HiveMQ User Guide: starting hivemq

4
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6