Instal·lació de MQTT a un servidor remot basat en Debian 9

De Wiki d'en Jordi Binefa
Dreceres ràpides: navegació, cerca

Les passes descrites a aquesta pàgina les he fet a un servidor virtual privat (VPS) d'OVH (Al primer d'agost de 2018 el preu és 3€ al mes, més IVA, per un ordinador VPS al núvol amb 1 vCore, 2,4 GHz, 2 GB RAM i 20 GB SSD). De les opcions de sistema operatiu he escollit un Debian 9 (Stretch).

Instal·lació

No farem servir el paquet mosquitto que ve per defecte als dipòsits de Debian, farem servir els dipòsits propis de mosquitto.org

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
wget http://repo.mosquitto.org/debian/mosquitto-stretch.list
apt-get update
apt-get install mosquitto mosquitto-clients
service mosquitto status

Configuració per defecte

cat /etc/mosquitto/mosquitto.conf

# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example
pid_file /var/run/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d

A l'arxiu de bitàcola /var/log/mosquitto/mosquitto.log es pot veure tot el que està passant al servei mosquitto.

1533141525: mosquitto version 1.5 starting
1533141525: Config loaded from /etc/mosquitto/mosquitto.conf.
1533141525: Opening ipv4 listen socket on port 1883.
1533141525: Opening ipv6 listen socket on port 1883.
1533141550: New connection from 37.133.159.153 on port 1883.
1533141550: New client connected from 37.133.159.153 as mosqsub|2034-popotamo (c1, k60).
1533141567: New connection from 2.152.69.183 on port 1883.
1533141567: New client connected from 2.152.69.163 as joMateix (c1, k60).
1533141567: Client joMateix disconnected.
1533141721: New connection from 2.152.69.163 on port 1883.

Aquest registre recull que dos ordinadors des de dues IP públiques diferents s'han connectat mitjançant el protocol MQTT. Un com a subscriptor i un altre com a publicador.

L'ordinador popotamo connectat a Internet amb IP pública 37.133.159.153 s'ha subscrit als subtemes que pengen del tema /house/

popotamo@popotamo:~$ mosquitto_sub -h iot.electronics.cat -t /house/#
Hola
Hola i A10

L'ordinador debianJB connectat a Internet amb IP pública 2.152.69.163 ha publicat dos missatges al subtema /house/casa/meva identificant-se com a joMateix

jordi@debianJB:~$ mosquitto_pub -h iot.electronics.cat -t /house/casa/meva -m "Hola" -i joMateix
jordi@debianJB:~$ mosquitto_pub -h iot.electronics.cat -t /house/casa/meva -m "Hola i A10" -i joMateix

Configuració restrictiva per nom d'usuari i contrasenya