Mosquitto is a message broker that implements the MQTT protocol. Mosquitto is an open-source project developed by Eclipse. MQTT protocol uses a publish/subscribe model. Client can publish message to a broker and other clients can subscribe to the topic of that message. A broker is a central component that receives all messages from the clients and then publishes the messages to all subscribed clients.
This tutorial explains how to install Mosquitto 2 broker on Ubuntu 20.04.
Add the Mosquitto repository:
sudo add-apt-repository -y ppa:mosquitto-dev/mosquitto-ppa
Run the following command to install Mosquitto broker:
sudo apt install -y mosquitto
Once installation is completed, we can check Mosquitto version:
mosquitto -h | grep version
You can execute the following command to determine if Mosquitto service is running:
sudo service mosquitto status
Also you can stop, start and restart service:
sudo service mosquitto stop sudo service mosquitto start sudo service mosquitto restart
Since Mosquitto 2, we must to configure authentication for Mosquitto broker before clients can connect. It can be configured to require username and password when client connects to the broker.
Password file can be created using
mosquitto_passwd tool. First argument is path to a file, second argument is username. The
-c option means that new password file will be created. Run the following command and enter a password for the user:
sudo mosquitto_passwd -c /etc/mosquitto/password_file myuser
Next, open Mosquitto configuration file:
sudo nano /etc/mosquitto/mosquitto.conf
Add the following lines at the end of a file:
listener 1883 password_file /etc/mosquitto/password_file
Restart Mosquitto service:
sudo service mosquitto restart
MQTT Explorer can be used for testing. It is a cross-platform MQTT client which can be installed as Desktop application. It can be downloaded from official website.
Get the IP address of your machine:
Next, open MQTT Explorer and provide details about MQTT connection. Enter the connection name, IP address, username and password. By default, Mosquitto broker is running on 1883 port. Click "SAVE" and then "CONNECT".
If connection was successfully established, you will see a window like this:
If you decided to completely remove Mosquitto and related dependencies, execute the following command:
sudo apt purge --autoremove -y mosquitto
Remove GPG key and repository:
sudo rm -rf /etc/apt/trusted.gpg.d/mosquitto-dev_ubuntu_mosquitto-ppa.gpg sudo rm -rf /etc/apt/sources.list.d/mosquitto-dev-ubuntu-mosquitto-ppa-focal.list
You can also remove Mosquitto configuration:
sudo rm -rf /etc/mosquitto