zoukankan      html  css  js  c++  java
  • 转:使用Mosquitto-Auth-Plugin对mqtt客户端进行验证

    https://www.lixiaodong.com/?p=163
    1.安装需要的包
    sudo apt-get install libc-ares-dev libcurl4-openssl-dev libmysqlclient-dev
    2.下载mosquitto源码并编译安装
    从http://mosquitto.org/download/ 下载源码并解压到某个目录,进入该目录编译安装
    make mosquitto
    sudo make install
    3.下载mosquitto-auth-plug源码
    git clone https://github.com/jpmens/mosquitto-auth-plug.git
    并使用copy命令生成config.mk文件:cp config.mk.in config.mk
    编辑config.mk:根据需要选择合适的后台。我这里只使用mysql数据库验证用户,BACKEND_MYSQL这一行是yes,其余行都是no。在MOSQUITTO_SRC一行输入mosquitto的源码路径,比如MOSQUITTO_SRC =/root/mosquitto-1.4.4/
    。在OPENSSLDIR一行输入openssl的路径,比如OPENSSLDIR = /usr/lib/ssl。
    可以使用以下命令得到openssl的路径:openssl version -a
    4.进入mosquitto-auth-plug所在目录,使用make命令生成so文件。
    5.移动so文件到mosquitto目录(不是源码目录,而是安装后的目录)
    mv auth-plug.so /etc/mosquitto/
    6.编辑mosquitto配置文件
    mosquitto-auth-plug的源码里已经有多种范例配置文件,可以使用这些文件。比如,我用mysql做验证,可以使用 examples目录下的mosquitto-mysql.conf。
    mv mosquitto.conf mosquitto.conf.origin(保留原始配置文件,供以后使用)
    mv mosquitto-auth-plug目录/examples/mosquitto-mysql.conf mosquitto目录/mosquitto.conf
    根据实际情况,编辑文件里的auth_plugin,backend,数据库host,端口,数据库名,用户,密码,sql语句等。
    7.运行mosquitto并观察输出
    mosquitto -c mosquitto-conf -v


    问题:
    1. 输出显示Unable to load auth plugin ".../auth-plug.so"
    解决:
    编辑Mosquitto源码目录下的config.mk:WITH_SRV:=no
    然后重新编译:
    make clean
    make
    生成新的so文件。

  • 相关阅读:
    jsp第八次作业
    jsp第七次作业
    jsp第六次作业
    jsp第五次作业
    jsp第二次作业
    软件测试第一次作业
    第一本书的学习笔记
    第零次作业
    software engineering task0
    自己创建的mysql用户无法使用密码登录,直接用用户名就可以登录的问题
  • 原文地址:https://www.cnblogs.com/saryli/p/9825108.html
Copyright © 2011-2022 走看看