> For the complete documentation index, see [llms.txt](https://docs.iotcentral.in/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iotcentral.in/docs/thingsboard/installing-a-mqtt-and-access-it-from-external-ip.md).

# Installing a MQTT and access it from external ip

here are the steps to install Mosquitto and Mosquitto clients on Ubuntu and configure the MQTT broker to be accessible externally without requiring a username and password:

#### Step 1: Update Your Package List

First, update your package list to make sure you have the latest information on the newest versions of packages and their dependencies.

```bash
bashCopy codesudo apt update
```

#### Step 2: Install Mosquitto and Mosquitto Clients

Install the Mosquitto broker and client tools using the following commands:

```bash
bashCopy codesudo apt install mosquitto mosquitto-clients
```

#### Step 3: Enable and Start the Mosquitto Service

Enable Mosquitto to start on boot and then start the service:

```bash
bashCopy codesudo systemctl enable mosquitto
sudo systemctl start mosquitto
```

#### Step 4: Configure Mosquitto to Allow External Access

Edit the Mosquitto configuration file to allow connections from external devices. Open the configuration file with a text editor:

```bash
bashCopy codesudo nano /etc/mosquitto/mosquitto.conf
```

Add the following lines to the configuration file to allow anonymous connections and listen on all network interfaces:

```conf
confCopy codeallow_anonymous true
listener 1883 0.0.0.0
```

Save the file and exit the text editor (Ctrl+O, Enter, Ctrl+X).

#### Step 5: Restart the Mosquitto Service

Restart the Mosquitto service to apply the changes:

```bash
bashCopy codesudo systemctl restart mosquitto
```

#### Step 6: Configure Firewall (If Applicable)

If you have a firewall enabled, you need to allow traffic on port 1883 to ensure the MQTT broker can be accessed externally. Use the following command to allow traffic on port 1883:

```bash
bashCopy codesudo ufw allow 1883
```

#### Step 7: Test the MQTT Broker

You can use Mosquitto clients to test the MQTT broker. Open a terminal and use the following commands to publish and subscribe to topics.

**Subscribe to a Topic:**

```bash
bashCopy codemosquitto_sub -h <your-server-ip> -t test/topic
```

**Publish a Message to the Topic:**

Open another terminal and use the following command:

```bash
bashCopy codemosquitto_pub -h <your-server-ip> -t test/topic -m "Hello, MQTT"
```

Replace `<your-server-ip>` with the IP address of your Ubuntu server running Mosquitto.
