1.安装外部依赖
1.1 yum 安装依赖
yum install openssl-devel
yum install c-ares-devel
yum install libuuid-devel
yum install gcc*
1.2 编译安装hiredis客户端
tar -zxvf hiredis-0.13.3.tar.gz
cd hiredis-0.13.3
make -j8
make install
2.安装mosquitto实例:
tar -zxvf mosquitto-1.4.tar.gz
2.3 进入安装目录
cd mosquitto-1.4/
2.4 编译
make
make install
2.5 加载.so.1文件
vim /etc/ld.so.conf.d/user.conf
加入内容:
/usr/local/lib
加载以上配置
ldconfig
2.6 更新动态链接库
sudo ldconfig
2.8 测试mosquitto安装
mosquitto.conf
user mosquitto 改 user root
启动mosquitto
mosquitto -c mosquitto.conf
使用"功能验证建议"中的工具进行连接测试
3.安装redis认证插件
3.1 下载tar.gz
unzip mosquitto-auth-plug-master.zip
cd mosquitto-auth-plug-master
cp config.mk.in config.mk
3.3 编辑config.mk指定开启redis,mosquitto源码目录
vim config.mk
修改如下配置项:
BACKEND_MYSQL ?= no
BACKEND_REDIS ?= yes
MOSQUITTO_SRC = MOSQUITTO_SRC = /opt/longfx/mosquitto-1.4/src
编译
make
3.4 mosquitto目录下创建plugin目录
mkdir plugin
3.5 将插件中的.so文件复制到plugin目录下
cp auth-plug.so mosquitto/plugin
3.6 修改mosquitto的配置文件
vim mosquitto.conf
修改如下配置项
allow_anonymous false
在这一行下新增
auth_plugin /opt/longfx/mosquitto-1.4/plugin/auth-plug.so
auth_opt_backends redis
auth_opt_redis_host 127.0.0.1
auth_opt_redis_port 6379
auth_opt_redis_userquery GET %s
auth_opt_redis_aclquery GET %s-%s
3.7 在认证插件中使用np.c文件生成密码(例如,密码是admin的加密方式如下)
./np -p admin
得到输出: PBKDF2$sha256$901$lzMxwbgXSoPWfG3U$J/UVQWp39U8AQWpaOZhO/Rf6hlqVogm0
3.8 将用户名和加密后的密码添加到redis中
set admin PBKDF2$sha256$901$lzMxwbgXSoPWfG3U$J/UVQWp39U8AQWpaOZhO/Rf6hlqVogm0