📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 112行目: | 112行目: | ||
<br> | <br> | ||
==== MQTTブローカーのインストール ==== | ==== MQTTブローカーのインストール ==== | ||
===== パッケージ管理システムからインストール ===== | |||
# RHEL | # RHEL | ||
sudo dnf install mosquitto mosquitto-clients | sudo dnf install mosquitto mosquitto-clients | ||
| 127行目: | 128行目: | ||
sudo systemctl enable mosquitto | sudo systemctl enable mosquitto | ||
<br> | <br> | ||
===== ソースコードからインストール ===== | |||
Mosquittoのビルドに必要なライブラリをインストールする。<br> | |||
# RHEL | |||
sudo dnf install make cmake gcc gcc-c++ cJSON-devel \ | |||
openssl3 openssl3-libs openssl3-devel | |||
systemd-devel # Systemdサービスを使用する場合 | |||
# SUSE | |||
sudo zypper install make cmake gcc gcc-c++ cJSON-devel \ | |||
libopenssl-devel libopenssl-1_1-devel | |||
systemd-devel # Systemdサービスを使用する場合 | |||
<br> | |||
[https://mosquitto.org/download/ Mosquittoの公式Webサイト]または[https://github.com/eclipse-mosquitto/mosquitto Github]にアクセスして、ソースコードをダウンロードする。<br> | |||
ダウンロードしたファイルを解凍する。<br> | |||
tar xf mosquitto-<バージョン>.tar.gz | |||
cd mosquitto-<バージョン> | |||
<br> | |||
Mosquittoをビルドおよびインストールする。<br> | |||
mkdir build && cd build | |||
cmake -DCMAKE_BUILD_TYPE=Release \ | |||
-DCMAKE_INSTALL_PREFIX=<Mosquittoのインストールディレクトリ> \ | |||
-DWITH_SYSTEMD=ON \ # Systemdサービスユニットを使用する場合 | |||
-DWITH_TLS_PSK=ON \ # TLS-PSKをサポートする場合 | |||
-DWITH_EC=ON \ # 楕円曲線暗号をサポートする場合 | |||
.. | |||
make -j $(nproc) | |||
make install | |||
<br> | |||
Mosquittoをユーザディレクトリにインストールした場合は、Systemdサービスユニットファイルを手動で作成する必要がある。<br> | |||
vi ~/.config/systemd/user/mosquitto.service | |||
<br> | |||
<syntaxhighlight lang="ini"> | |||
# ~/.config/systemd/user/mosquitto.serviceファイル | |||
[Unit] | |||
Description=Mosquitto MQTT Broker | |||
Documentation=man:mosquitto.conf(5) man:mosquitto(8) | |||
After=network.target | |||
Wants=network.target | |||
[Service] | |||
Type=notify | |||
NotifyAccess=main | |||
ExecStart=/<Mosquittoのインストールディレクトリ>/sbin/mosquitto -c /<Mosquittoのインストールディレクトリ>/etc/mosquitto/mosquitto.conf | |||
ExecReload=/bin/kill -HUP $MAINPID | |||
Restart=on-failure | |||
ExecStartPre=/bin/mkdir -m 740 -p /<Mosquittoのインストールディレクトリ>/var/log/mosquitto | |||
ExecStartPre=/bin/mkdir -m 740 -p /<Mosquittoのインストールディレクトリ>/run/mosquitto | |||
[Install] | |||
WantedBy=multi-user.target | |||
</syntaxhighlight> | |||
<br> | |||
Systemdデーモンを再読み込みする。<br> | |||
systemctl --user daemon-reload | |||
<br> | |||
Systemdサービスユニットが正常に読み込まれているかどうかを確認する。<br> | |||
systemctl --user mosquitto | |||
<br> | |||
==== ファイアウォールの設定 ==== | ==== ファイアウォールの設定 ==== | ||
MQTTブローカーの動作に必要なポートを開放する。<br> | MQTTブローカーの動作に必要なポートを開放する。<br> | ||