mosquitto之linux编译

一、编译前工作

        需要先安装好CMake工具。
        解压源码,例如:mosquitto-1.6.9.tar.gz到目录/home/workspace/mosquitto-1.6.9,打开CMake软件:
在这里插入图片描述
        选择后点击“Configure”按钮。
在这里插入图片描述
        在Linux的x64系统中选择默认选项,点击“Finish”按钮。
在这里插入图片描述        等待初始化配置,当日志窗口出现“Configuring done”时,说明初始化配置完成。
在这里插入图片描述        此时,可以在图中的红色区域内进行个性化配置,以下介绍几个重要的配置选项。

  • CMAKE_INSTALL_OLDINCLUDEDIR,默认为/usr/include。这里改为/opt/mosquitto-1.6.9-linux/include
  • CMAKE_INSTALL_PREFIX,指定mosquitio编译后的安装路径,默认为/usr/local。这里改为/opt/mosquitto-1.6.9-linux
  • WITH_STATIC_LIBRARIES,指定是否同时编译出静态库,若打勾则除了动态库还会编译出静态库,默认不打勾(只编译动态库)。
  • WITH_TLS,指定是否包含SSL/TLS支持,默认打勾(若打勾,必须设置OpenSSL相关配置选项),若不想使用SSL,则不打勾。
  • WITH_TLS_PSK,指定是否包含TLS_PSK支持,默认打勾(若打勾,必须同时把WITH_TLS打勾),若不想使用SSL,则不打勾。

        当个性配置设置确认后,点击“Generate”按钮,生成构建文件。
在这里插入图片描述
        当日志窗口出现“Generating done”时,表示构建文件已经创建成功。
在这里插入图片描述
        进入目录/home/software/mosquitto-1.6.9-build,可以看到如下文件。
在这里插入图片描述

二、编译源码

        打开终端,输入命令:make all,成功后,输入命令:make install,即可把mosquitto库安装到目录:/opt/mosquitto-1.6.9-linux
在这里插入图片描述

三、服务器搭建以及SSL/TLS安全配置

1、服务器搭建

        终端进入/opt/mosquitto-1.6.9-linux/bin目录,可以看到:
在这里插入图片描述        运行命令./mosquitto,将启动代理服务器,默认端口为1883,可以加上-h选项查看帮助,运行成功后如下:
在这里插入图片描述
        可以加上-c选项为服务器指定配置文件,配置文件模板在目录/opt/mosquitto-1.6.9-linux/etc/mosquitto里:
在这里插入图片描述        可以把该文件拷贝到目录/opt/mosquitto-1.6.9-linux/bin,如:
在这里插入图片描述        然后在修改mosquitto.conf里面的配置选项。终端运行./mosquitto -c mosquitto.conf加载配置文件,每次修改配置文件后无法立即生效,需要重启服务器。

2、SSL/TLS安全配置

        首先需要已经安装了openssl库,请参考:

        在任意路径创建目录,假设命名为cert,目录路径为:/home/workspace/cert。在目录中创建两个文件:

  • rsa_ca.sh,用于创建自己根证书文件和私钥的CA.crtCA.key(注意:正式情况不能这样处理)。代码如下:
#!/bin/bash

# 配置证书公司名
CA_O="company"

# 配置证书有效时间(天数)
CA_DAYS=3650

# 生成私钥文件
openssl genrsa -out CA.key 1024

# 生成自签名证书
CA_SUBJ="/O=$CA_O"
openssl req -new -key CA.key -x509 -days $CA_DAYS -out CA.crt -subj $CA_SUBJ

rm -rf *.srl
  • rsa_client.sh,用于生成客户用的client.crtclient.key文件。代码如下:
#!/bin/bash

# 配置证书公司名
CLIENT_O="company"

# 配置主机地址
CLIENT_CN="127.0.0.1"

# 配置证书有效时间(天数)
CLIENT_DAYS=3650

# 生成私钥文件
openssl genrsa -out client.key 1024

# 生成证书请求文件
CLIENT_SUBJ="/O=$CLIENT_O/CN=$CLIENT_CN"
openssl req -new -key client.key -out client.csr -subj $CLIENT_SUBJ

# 生成自签名证书
openssl x509 -req -in client.csr -CA CA.crt -CAkey CA.key -CAcreateserial -days $CLIENT_DAYS -out client.crt

rm -rf *.srl
rm -rf *.csr

        这里把client.crtclient.key文件重命名为mosq_srv.crtmosq_srv.key供服务器使用。
        修改/opt/mosquitto-1.6.9-linux/bin/mosquitto.conf配置文件。

  • 把默认端口号修改为8883,如:
    在这里插入图片描述 - 指定cafilecertfilekeyfile选项,如:
    在这里插入图片描述 - 设置服务器为需要证书验证,如:
    在这里插入图片描述        保存配置文件,运行命令./mosquitto -c mosquitto.conf,运行成功后如下:
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值