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文件。

  • 相关阅读:
    堆栈学习
    需要阅读的书籍
    Rust Book Lang Ch.19 Fully Qualified Syntax, Supertraits, Newtype Pattern, type aliases, never type, dynamic sized type
    Rust Lang Book Ch.19 Placeholder type, Default generic type parameter, operator overloading
    Rust Lang Book Ch.19 Unsafe
    Rust Lang Book Ch.18 Patterns and Matching
    Rust Lang Book Ch.17 OOP
    Rust Lang Book Ch.16 Concurrency
    Rust Lang Book Ch.15 Smart Pointers
    HDU3966-Aragorn's Story-树链剖分-点权
  • 原文地址:https://www.cnblogs.com/saryli/p/9825108.html
Copyright © 2011-2022 走看看