前言

TR069:CPE广域网管理协议,称为用户终端设备广域网管理协议(CWMP)。在TR069协议定义的网管模型中,服务器称为自动配置服务器(ACS),负责对用户终端设备(CPE)进行管理。本文主要介绍开源服务器OpenACS的搭建过程。


一、软件环境

由于OpenACS是用Java编写的,所以搭建前需要一些必须的环境配置。

  • Linux系统(centos8.x)

查看方法

cat /etc/redhat-release 
CentOS Linux release 8.5.2111
或者
cat /proc/version 
Linux version 4.18.0-348.el8.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.5.0 20210514 (Red Hat 8.5.0-3) (GCC)) #1 SMP Tue Oct 19 15:14:17 UTC 2021
  • JDK
  • Jboss
  • Mysql
  • OpenACS

二、环境安装(建议在root权限下操作)

1.安装JDK

采用rpm方式安装
rpm -ivh jdk-8u311-linux-x64.rpm

默认安装路径在/usr/java/
/usr/java/jdk1.8.0_311-amd64

在/etc/profile末行添加JDK环境变量
vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_311-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
保存退出

生效环境变量
source /etc/profile

JDK安装成功效果

JDK安装成功

2.安装Jboss

/opt目录下解压包
unzip jboss-4.2.2.GA.zip 

在/etc/profile末行添加JBOSS环境变量
vi /etc/profile
export JBOSS_HOME=/opt/jboss-4.2.2.GA/
export PATH=$PATH:/opt/jboss-4.2.2.GA/bin
保存退出

生效环境变量
source /etc/profile

进入/opt/jboss-4.2.2.GA/bin目录执行
./run.sh -b 0.0.0.0

浏览器访问:http://服务器ip地址:8080/

如果成功会出现JBOSS的页面,如下所示

Jboss安装成功页面

3.配置数据库

安装数据库驱动

注:由于当前服务器上数据库已经存在,版本为8.0.28,就在官网下载对应版本的驱动,下载地址为:
https://downloads.mysql.com/archives/c-j/

数据库驱动下载

将下载好的mysql-connector-java-8.0.28.zip解压,将解压目录中的mysql-connector-java-8.0.28.jar复制到/opt/jboss-4.2.2.GA/server/default/lib/目录下

unzip mysql-connector-java-8.0.28.zip
cd mysql-connector-java-8.0.28/
cp mysql-connector-java-8.0.28.jar /opt/jboss-4.2.2.GA/server/default/lib/

配置数据库

登录
mysql -u root -p

创建用户openacs,密码为123456789
create user 'openacs'@'%' identified by '123456789';

刷新权限
flush privileges;

创建ACS数据库,并将该库授权给openacs用户
create database ACS;
grant all on ACS.* to openacs@'%';
grant all privileges on ACS.* to 'openacs'@'%';
flush privileges;

用openacs用户登录,密码为123456789,如下表示创建用户,授权用户成功

用户创建、授权成功

4.安装OpenACS

/opt目录下解压包
unzip openacs-bin-0.5.0.3.zip
cd openacs
cp acs.ear /opt/jboss-4.2.2.GA/server/default/deploy/

vi openacs-ds.xml	主要修改connection-url,user-name和password
保存退出
cp openacs-ds.xml /opt/jboss-4.2.2.GA/server/default/deploy/
cp openacs-service.xml /opt/jboss-4.2.2.GA/server/default/deploy/jms/

openacs-ds.xml修改如下

openacs-ds.xml配置

5.运行OpenACS服务器

在/opt/jboss-4.2.2.GA/bin目录下运行
./run.sh -b 0.0.0.0

浏览器访问
http://服务器ip地址:8080/openacs/

效果如下

OpenACS服务器

6.异常处理

Openwrt CPE上线失败,logread发现服务器返回500错误,服务器抛出如下异常

java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage

原因是Jboss的soap实现的是老的javax.xml.soap.SoapMessage接口,这个接口的setProperty方法在老版本是不需要override的,但是到高版本的java,jdk自带soap包,而自带的这个包的SoapMessage接口对setProperty方法又强制其实现类要override自身,所以抛出了上述异常。

解决方案:

把/opt/jboss-4.2.2.GA/lib/目录中除了getopt.jar, jboss-system.jar, jboss-jmx.jar之外其他所有的jar移进/opt/jboss-4.2.2.GA/lib/endorsed/,同时移动/opt/jboss-4.2.2.GA/client/目录中的jboss-saaj.jar ,jboss-jaxrpc.jar到/opt/jboss-4.2.2.GA/lib/endorsed/目录下,这样服务器将使用jboss自带的老版本。

具体操作如下:

cd /opt/jboss-4.2.2.GA/lib/
mv concurrent.jar jboss-common.jar jboss-xml-binding.jar log4j-boot.jar endorsed/
mv commons-* endorsed/

cd /opt/jboss-4.2.2.GA/client
mv jboss-saaj.jar jboss-jaxrpc.jar /opt/jboss-4.2.2.GA/lib/endorsed/

总结(附安装包下载地址)

以上就是centos搭建OpenACS的过程,欢迎大家交流搭建过程中遇到的问题。

搭建过程中所用到的包:下载地址(0积分下载)

OpenACS服务器搭建用到的包

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐