Instalar Mosquitto en opensuse (con soporte para websockets)
¿Que es Mosquitto?
Para los que no saben que es mosquitto. Es una implementacion de código abierto intermediario de mensajes que implementa los MQ Telemetry Transporte (MQTT)
MQTT proporciona un método de llevar a cabo la mensajería mediante un modelo de publicación / suscripción. Esto hace que sea adecuado para la comunicación "máquina a máquina" de mensajería como con sensores de baja potencia o dispositivos móviles como teléfonos, ordenadores integrados o microcontroladores como el Arduino.
MQTT puede ser usado para desarrollos de Internet of Thing (IoT), para la comunicación entre dispositivos, como pueden ser wearables, smartphones.
Dependencias
Para la instalación en opensuse requerimos de las siguientes dependencias.
# zypper install cmake libopenssl-devel mercurial uuid-devel libuuid-devel libxslt1 docbook-xsl-stylesheets docbook5-xsl-stylesheets git gcc-c++ gcc python-pip
# zypper install cmake libopenssl-devel mercurial uuid-devel libuuid-devel libxslt1 docbook-xsl-stylesheets docbook5-xsl-stylesheets git gcc-c++ gcc python-pip
INSTALAR libwebsockets
# git clone https://github.com/warmcat/libwebsockets.git
# cd libwebsockets/
# mkdir build
# cd build/
# cmake .. -DOPENSSL_ROOT_DIR=/usr/bin/openssl
# make
# make install
INSTALAR ares
Ares puede ser omitido, en algunas ocasiones al instalar mosquitto provoca error al no econtrar esta dependencia, en esos casos tendremos que instalarla
Ares puede ser omitido, en algunas ocasiones al instalar mosquitto provoca error al no econtrar esta dependencia, en esos casos tendremos que instalarla
# wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz
# tar xvf c-ares-1.10.0.tar.gz
# cd c-ares-1.10.0/
# ./configure
# make install
Ahora si, ya con las dependencias instaladas tenemos todo listo para instalar nuestro servidor MQTT con mosquitto
INSTALAR mosquitto
# git clone https://git.eclipse.org/r/mosquitto/org.eclipse.mosquitto
# cd org.eclipse.mosquitto/
# git checkout origin/1.4
Para que mosquitto tenga soporte para websockets es necesario editar el archivo config.mk y editar la linea donde mencion WITH_WEBSOCKETS:=no e indicarle yes,
Para que mosquitto tenga soporte para websockets es necesario editar el archivo config.mk y editar la linea donde mencion WITH_WEBSOCKETS:=no e indicarle yes,
# vi config.mk
WITH_WEBSOCKETS:=yes
# make
# make binary
=-Si lo siguiente te provoco un error intenta con esta version.-=
# wget http://mosquitto.org/files/source/mosquitto-1.4.4.tar.gz
# tar xavf mosquitto-1.4.4.tar.gz
# cd mosquitto*
# make
# make install
=-Si lo siguiente te provoco un error intenta con esta version.-=
# wget http://mosquitto.org/files/source/mosquitto-1.4.4.tar.gz
# tar xavf mosquitto-1.4.4.tar.gz
# cd mosquitto*
# make
# make install
Configuración
Crea el siguiente archivo de configuración para mosquitto , en donde especificaremos los puertos a usar y el protocolo.
# vi /etc/mosquitto/mosquitto.conf
autosave_interval 1800
connection_messages true
log_timestamp true
listener 3000
listener 9001
protocol websockets
Debemos crear un usuario para mosquitto con la siguiente linea.
Debemos crear un usuario para mosquitto con la siguiente linea.
# useradd -r -m -d /var/lib/mosquitto -s /usr/sbin/nologin -g nogroup mosquitto
Para iniciar mosquitto usamos el siguiente comando.
# mosquitto -c /etc/mosquitto/mosquitto.conf
En algunas ocaciones puede dar el siguiente error:
Si quieres que mosquitto corra al iniciar el sistema, debes agregar la siguiente linea en /etc/rc.d/after.local
En algunas ocaciones puede dar el siguiente error:
mosquitto: error while loading shared libraries: libwebsockets.so.6: cannot open shared object file: No such file or directory
Se debe que a que la instalación de libwebsockets se encuentra en /usr/local/lib y mosquitto lo busca en /usr/lib o /usr/lib64 para x64 Se soluciona creando un link simbólico
# sudo ln -s /usr/local/lib/libwebsockets.so.6 /usr/lib64/libwebsockets.so.6
Si quieres que mosquitto corra al iniciar el sistema, debes agregar la siguiente linea en /etc/rc.d/after.local
/usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf &
Comentarios
Publicar un comentario