In this tutorial, we will show you how to install Mosquitto MQTT on Ubuntu 20.04 LTS. For those of you who didn’t know, MQTT, an acronym for Message Queue Telemetry Transport, is a lightweight communication protocol based on the publisher/subscriber concept. It represents an alternative to the classic client/server architecture, widely used in the Internet of Things. It is commonly used for geo-tracking fleets of vehicles, home automation, environmental sensor networks, and utility-scale data collection.
This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘
sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the Mosquitto MQTT on Ubuntu 20.04 (Focal Fossa). You can follow the same instructions for Ubuntu 18.04, 16.04, and any other Debian-based distribution like Linux Mint.
- A server running one of the following operating systems: Ubuntu 20.04, 18.04, and any other Debian-based distribution like Linux Mint or elementary OS.
- It’s recommended that you use a fresh OS install to prevent any potential issues.
non-root sudo useror access to the
root user. We recommend acting as a
non-root sudo user, however, as you can harm your system if you’re not careful when acting as the root.
Install Mosquitto MQTT on Ubuntu 20.04 LTS Focal Fossa
Step 1. First, make sure that all your system packages are up-to-date by running the following
apt commands in the terminal.
sudo apt update sudo apt upgrade sudo apt install build-essential libwrap0-dev libssl-dev libc-ares-dev uuid-dev xsltproc
Step 2. Installing Mosquitto MQTT on Ubuntu 20.04.
First, we create a user with the name mosquito which is used to execute the MQTT application:
sudo adduser mosquitto sudo usermod -aG sudo mosquitto.
Now we download the MQTT installation packages from the official page:
wget https://mosquitto.org/files/source/mosquitto-2.0.11.tar.gz tar zxvf mosquitto-2.0.11.tar.gz
Next, go into the directory and compile also install the MQTT server on your system:
make sudo make install
Step 3. Configure Mosquitto MQTT.
Now time to configure the MQTT server. We will create a user with the name
mqtt-idroot, this user is a system used for running the Mosquitto server which will be used to make a connection from the client. In this step, we will be prompted to make a new password:
sudo mosquitto_passwd -c /etc/mosquitto/pwfile mqtt-idroot
Next, create a configuration file for Mosquitto MQTT Server:
Add the following lines:
persistence true persistence_location /var/lib/mosquitto/ persistence_file mosquitto.db log_dest syslog log_dest stdout log_dest topic log_type error log_type warning log_type notice log_type information connection_messages true log_timestamp true allow_anonymous true password_file /etc/mosquitto/pwfile
Save and close, then run
sudo ldconfig command line:
Step 4. Create a Systemd Service file for Mosquitto MQTT.
Now create a Mosquitto
systemd unit file by creating a new file
Add the following line:
[Unit] Description=Insite MQTT Broker [Service] ExecStart=/usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf Restart=always [Install] WantedBy=multi-user.target
Save and close the file. Then, reload the
systemd daemon with the following command:
sudo systemctl start mosquitto.service sudo systemctl enable mosquitto.service
Step 5. Testing Mosquitto MQTT.
Once successfully installed, we have created simple testing which is running on the server’s console, where there is a server and a client to use the server service:
On the server we will create a topic by using the command line :
mosquitto_sub -v -t 'chedelics/test' -u mqtt-idroot -P (your-password)
Sending a message with the same topic as a server has. Submitting command line :
mosquitto_pub -t 'chedelics/test' -u mqtt-idroot -P (your-password)
Congratulations! You have successfully installed Mosquitto. Thanks for using this tutorial for installing the Mosquitto Message Queuing Telemetry Transport (MQTT) on Ubuntu 20.04 LTS Focal Fossa system. For additional help or useful information, we recommend you check the official Mosquitto website.