Mosquitto MQTT, MQTT protokolünü uygulayan açık kaynak kodlu bir mesaj aracısıdır. Düşük bant genişliği ve yüksek gecikmeli ağlar için tasarlanmış hafif bir yayın-abone ağ protokolüdür. Cihazlar arasında verimli iletişim sağlar ve bu nedenle Nesnelerin İnterneti (IoT) uygulamaları ve güvenilir mesaj iletimi gerektiren diğer senaryolar için idealdir. Mosquitto, TLS şifrelemesi ve kimlik doğrulama gibi çeşitli güvenlik özelliklerini destekler ve binlerce eşzamanlı bağlantıyı yönetme yeteneği ile büyük ölçekli dağıtımlar için uygundur.
Bu kılavuzda, Ubuntu 22.04 üzerinde Mosquitto MQTT Sunucusunu kurma sürecini adım adım anlatacağız.
Adım 1 – Gerekli Paketleri Kurma
Öncelikle, paket listemizi güncellememiz ve kurulum süreci için gerekli bazı temel paketleri yüklememiz gerekiyor. Terminalinizi açın ve aşağıdaki komutu çalıştırın:
apt-get update
apt-get install curl gnupg2 wget git apt-transport-https ca-certificates -y
Adım 2 – Mosquitto PPA’sını Ekleme
Sonraki adımda, Mosquitto PPA’sını (Kişisel Paket Arşivi) sistemimize eklememiz gerekiyor. PPA, Mosquitto’nun en son sürümünü sağlar. Aşağıdaki komutu çalıştırın:
add-apt-repository ppa:mosquitto-dev/mosquitto-ppa -y
Bu komut, Mosquitto PPA’sını sisteminizin yazılım kaynaklarına ekler.
Adım 3 – Mosquitto ve Mosquitto İstemcilerini Kurma
PPA eklendikten sonra, Mosquitto ve istemcilerini kurabiliriz. Aşağıdaki komutu çalıştırın:
apt install mosquitto mosquitto-clients -y
Bu komut, Mosquitto sunucusunu ve Mosquitto istemci araçlarını (mosquitto_sub ve mosquitto_pub) kurar.
Mosquitto’nun doğru bir şekilde kurulduğunu ve çalıştığını doğrulamak için systemctl
komutunu kullanarak durumunu kontrol edin:
systemctl status mosquitto
Çıktıda aşağıdakine benzer bir sonuç görmelisiniz:
● mosquitto.service - Mosquitto MQTT Broker
Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2024-06-26 13:49:53 UTC; 6s ago
Docs: man:mosquitto.conf(5)
man:mosquitto(8)
Process: 97749 ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Bu çıktı, Mosquitto hizmetinin aktif ve çalışır durumda olduğunu gösterir.
Adım 4 – Mosquitto’yu Yapılandırma
Varsayılan olarak, Mosquitto anonim bağlantılara izin verecek şekilde yapılandırılmıştır. Güvenlik nedenleriyle, Mosquitto aracınız için bir şifre ayarlamanız önerilir.
Aşağıdaki komutu çalıştırarak bir şifre dosyası oluşturun ve bir kullanıcı ekleyin:
mosquitto_passwd -c /etc/mosquitto/passwd hjethva
Oluşturduğunuz kullanıcı için (hjethva) bir şifre girmeniz ve onaylamanız istenecektir.
Password:
Reenter password:
Şifre dosyasının doğru sahipliğini ayarlamak için aşağıdaki komutu çalıştırın:
chown mosquitto:mosquitto /etc/mosquitto/passwd
Sonra, dinleyici ve şifre dosyasını belirtmek için bir yapılandırma dosyası oluşturun. Nano ile yapılandırma dosyasını açın:
nano /etc/mosquitto/conf.d/default.conf
Aşağıdaki satırları ekleyin:
listener 1883
password_file /etc/mosquitto/passwd
Bu satırlar, Mosquitto’yu 1883 numaralı portta dinleyecek şekilde yapılandırır ve kimlik doğrulama için belirtilen şifre dosyasını kullanır.
Bu değişiklikleri yaptıktan sonra, yeni yapılandırmayı uygulamak için Mosquitto hizmetini yeniden başlatın:
systemctl restart mosquitto
Adım 5 – Mosquitto’yu Test Etme
Her şeyin doğru çalıştığından emin olmak için, Mosquitto’yu mosquitto_pub
ve mosquitto_sub
komutlarını kullanarak test edeceğiz.
Bir terminal penceresi açın ve bir konuya abone olun:
mosquitto_sub -u hjethva -P password -v -t "hello/topic"
Başka bir terminal penceresinde, aynı konuya bir mesaj yayınlayın:
mosquitto_pub -u hjethva -P password -t 'hello/topic' -m 'hello MQTT'
Abone terminalinde aşağıdaki çıktıyı görmelisiniz:
hello/topic hello MQTT
Bu, Mosquitto sunucusunun doğru bir şekilde çalıştığını doğrular.
Sonuç
Bu kılavuzda, Ubuntu 22.04 üzerinde Mosquitto MQTT sunucusunun kurulumu ve yapılandırmasını ele aldık. Ayrıca, sunucuyu bir şifre ile nasıl güvence altına alacağınızı ve Mosquitto istemci araçlarını kullanarak kurulumunuzu nasıl test edeceğinizi gösterdik. Mosquitto, IoT ve mesajlaşma uygulamalarında yaygın olarak kullanılan güçlü ve hafif bir MQTT aracısıdır. Bu kurulum ile artık kendi MQTT tabanlı çözümlerinizi geliştirmeye başlayabilirsiniz. Mosquitto MQTT’yi eHost.com.tr den sunucu barındırma yada sanal sunucu sipariş ederek kullanabilirsiniz.