搭建easycwmp

linux版本:ubuntu18.04server

1. 安装编译环境

sudo apt install -y curl libcurl4-openssl-dev pkg-config libssl-dev libtool cmake autoconf

 

2. 创建相关目录

USER=your_user       #your_user是你的用户名
GROUP=your_group   #your_group是你的组名
sudo mkdir -p /opt/{dev,git}
sudo chown -R $USER:$GROUP /opt/{dev,git}

 

3. 安装json-c

   3.1下载json-c

git clone https://gitee.com/mirrors/json-c.git /opt/git/json-c

  3.2 配置编译并安装json--c

cd /opt/git/json-c/
mkdir build
cd build
cmake ../../json-c
make
make test
sudo make install
sudo ln -sf /usr/local/include/json-c /usr/include/json

 

4. 安装libubox

  4.1 下载libubox

git clone git://nbd.name/luci2/libubox.git /opt/git/libubox

  4.2 修改文件/opt/git/libubox/blobmsg_json.c ,在#include "blobmsg_json.h"下加入一行#define is_error(ptr) (ptr == NULL)

  4.3 修改文件/opt/git/libubox/jshn.c,在#include "list.h"下加入一行#define is_error(ptr) (ptr == NULL)

  4.4 配置,编译并安装

cd /opt/git/libubox/
cmake CMakeLists.txt -DBUILD_LUA=OFF
make
sudo make install
sudo ln -sf /usr/local/lib/libubox.so /usr/lib/libubox.so
sudo mkdir -p /usr/share/libubox
sudo ln -sf /usr/local/share/libubox/jshn.sh /usr/share/libubox/jshn.sh

 

5. 安装uci

  5.1 下载uci

git clone git://nbd.name/uci.git /opt/git/uci

  5.2 配置,编译并安装

cd /opt/git/uci/
cmake CMakeLists.txt -DBUILD_LUA=OFF
make
class="western"
sudo make install
sudo ln -sf /usr/local/bin/uci /sbin/uci
sudo ln -sf /usr/local/lib/libuci.so /usr/lib/libuci.so

 

6. 安装ubus

  6.1 下载ubus

git clone git://nbd.name/luci2/ubus.git /opt/git/ubus

  6.2 配置, 编译并安装

cd /opt/git/ubus/
cmake CMakeLists.txt -DBUILD_LUA=OFF
make
sudo make install
sudo ln -sf /usr/local/sbin/ubusd /usr/sbin/ubusd
sudo ln -sf /usr/local/lib/libubus.so /usr/lib/libubus.so

 

7. 安装microxml

  7.1 下载microxml

git clone https://github.com/pivasoftware/microxml.git /opt/git/microxml

  7.2 配置,编译并安装

cd /opt/git/microxml/
autoconf -i
./configure --prefix=/usr --enable-threads --enable-shared --enable-static
make
sudo make install
sudo ln -sf /usr/lib/libmicroxml.so.1.0 /lib/libmicroxml.so
sudo ln -sf /usr/lib/libmicroxml.so.1.0 /lib/libmicroxml.so.1

 

8. 安装easycwmp

8.1 下载easycwmp,并移动到opt/dev目录

wget https://easycwmp.org/download/easycwmp-1.8.6.tar.gz
tar -xzvf
easycwmp-1.8.6.tar.gz
mv
easycwmp-1.8.6 /opt/dev/easycwmp

8.2 配置,编译

cd /opt/dev/easycwmp/
autoreconf -i
./configure --enable-debug --enable-devel --enable-acs=multi --enable-jsonc=1
make

8.2 创建相关目录

sudo mkdir -p /usr/share/easycwmp/functions
sudo mkdir -p /etc/easycwmp
sudo mkdir /etc/config

8.3 创建符号链接

复制代码
sudo ln -sf /opt/dev/easycwmp/ext/openwrt/scripts/easycwmp.sh /usr/sbin/easycwmp
sudo ln -sf /opt/dev/easycwmp/ext/openwrt/scripts/defaults /usr/share/easycwmp/defaults
sudo ln -sf /opt/dev/easycwmp/ext/openwrt/scripts/functions/common/common /usr/share/easycwmp/functions/common
sudo ln -sf /opt/dev/easycwmp/ext/openwrt/scripts/functions/common/device_info /usr/share/easycwmp/functions/device_info
sudo ln -sf /opt/dev/easycwmp/ext/openwrt/scripts/functions/common/management_server /usr/share/easycwmp/functions/management_server
sudo ln -sf /opt/dev/easycwmp/ext/openwrt/scripts/functions/common/ipping_launch /usr/share/easycwmp/functions/ipping_launch
sudo ln -sf /opt/dev/easycwmp/ext/openwrt/scripts/functions/tr181/root /usr/share/easycwmp/functions/root
sudo ln -sf /opt/dev/easycwmp/ext/openwrt/scripts/functions/tr181/ip /usr/share/easycwmp/functions/ip
sudo ln -sf /opt/dev/easycwmp/ext/openwrt/scripts/functions/tr181/ipping_diagnostic /usr/share/easycwmp/functions/ipping_diagnostic
sudo ln -sf /opt/dev/easycwmp/ext/openwrt/config/easycwmp /etc/config/easycwmp
sudo ln -sf /opt/dev/easycwmp/bin/easycwmpd /usr/sbin/easycwmpd
复制代码

8.4 修改脚本权限

chmod +x /opt/dev/easycwmp/ext/openwrt/scripts/functions/*

8.5 添加环境变量,

  8.5.1编辑/etc/bash.bashrc文件

sudo vim /etc/bash.bashrc

  8.5.2 在最后添加如下内容

export UCI_CONFIG_DIR="/opt/dev/easycwmp/ext/openwrt/config/"
export UBUS_SOCKET="/var/run/ubus.sock"

  8.5.3 加载环境变量

source /etc/bash.bashrc

8.6 安装openwrt脚本

复制代码
sudo mkdir -p /lib/{config,functions}
# 访问下面网址,下载functions.txt
https://roverq.lanzouw.com/i25Oo28jc3sd

# 访问下面网址,下载uci.txt
https://roverq.lanzouw.com/irDOm28jc3te

# 访问下面网址,下载network.txt
https://roverq.lanzouw.com/iA1vg28jc3uf
复制代码
# 将下载的文件拷贝到指定位置,并修改权限
sudo cp functions.txt /lib/functions.sh && sudo chmod +x /lib/functions.sh
sudo cp uci.txt /lib/config/uci.sh && sudo chmod +x /lib/config/uci.sh
sudo cp network.txt /lib/functions/network.sh && sudo chmod +x /lib/functions/network.sh

 

8.7 验证,输入以下命令

bash /usr/sbin/easycwmp get value Device.

结果如下

 

9 easycwmp连接tr069平台

9.1 修改url为tr069平台地址,修改文件内容如下

 

9.2 启动ubusd

ubusd -s /var/run/ubus.sock

9.3 启动easycwmp

/usr/sbin/easycwmpd -f -b

 

 

报错解决:

1. 找不到json-c库:在/etc/ld.so.conf中加入/usr/local/lib这一行,保存之后,再运行:/sbin/ldconfig –v更新一下配置即可。

 

参考链接:csdn

posted @   roverqqq  阅读(93)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示