ubuntu 16.04 64位 搭建GenieACS
官方连接
转载连接
按照如下命令输入(均是普通用户操作)
1,安装Node.js
sudo apt update
sudo apt-get update
sudo apt-get upgrade
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
其它环境安装
sudo apt-get install gcc g++ make
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
2、安装MongoDB
sudo apt-get update
sudo apt-get upgrade
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
sudo systemctl start mongod
sudo systemctl daemon-reload
sudo systemctl status mongod
sudo systemctl enable mongod //执行此命令后,终端界面如果无法输入。不用管,直接新开一个终端。
3,安装Genieacs
sudo npm install -g genieacs@1.2.8 //留意最新版本号
sudo useradd --system --no-create-home --user-group genieacs
sudo mkdir /opt/genieacs
sudo mkdir /opt/genieacs/ext
sudo chown genieacs:genieacs /opt/genieacs/ext
创建genieacs.env配置文件
sudo gedit /opt/genieacs/genieacs.env
写入下面内容
GENIEACS_CWMP_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-cwmp-access.log
GENIEACS_NBI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-nbi-access.log
GENIEACS_FS_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-fs-access.log
GENIEACS_UI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-ui-access.log
GENIEACS_DEBUG_FILE=/var/log/genieacs/genieacs-debug.yaml
NODE_OPTIONS=--enable-source-maps
GENIEACS_EXT_DIR=/opt/genieacs/ext
GENIEACS_UI_JWT_SECRET=secret
genieacs.env创建完成后,继续执行下列命令
sudo chown genieacs:genieacs /opt/genieacs/genieacs.env
sudo chmod 600 /opt/genieacs/genieacs.env
sudo mkdir /var/log/genieacs
sudo chown genieacs:genieacs /var/log/genieacs
切换到此目录下(/etc/systemd/system/)
cd /etc/systemd/system/
新建4个文件并写入相应的内容
文件1
sudo gedit genieacs-cwmp.service
以下内容写入到genieacs-cwmp.service
[Unit]
Description=GenieACS CWMP
After=network.target[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-cwmp[Install]
WantedBy=default.target
文件2
sudo gedit genieacs-nbi.service
以下内容写入到genieacs-nbi.service
[Unit]
Description=GenieACS NBI
After=network.target[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-nbi[Install]
WantedBy=default.target
文件3
sudo gedit genieacs-fs.service
以下内容写入到genieacs-fs.service
[Unit]
Description=GenieACS FS
After=network.target[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-fs[Install]
WantedBy=default.target
文件4
sudo gedit genieacs-ui.service
以下内容写入到genieacs-ui.service
[Unit]
Description=GenieACS UI
After=network.target[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-ui[Install]
WantedBy=default.target
新建文件/etc/logrotate.d/genieacs
sudo gedit /etc/logrotate.d/genieacs
内容如下
/var/log/genieacs/*.log /var/log/genieacs/*.yaml {dailyrotate 30compressdelaycompressdateext
}
启动服务。设置开机自动启
sudo systemctl enable genieacs-cwmp
sudo systemctl enable genieacs-nbi
sudo systemctl enable genieacs-fs
sudo systemctl enable genieacs-uisudo systemctl start genieacs-cwmp
sudo systemctl start genieacs-nbi
sudo systemctl start genieacs-fs
sudo systemctl start genieacs-ui
以下命令官方说明中有提及,但实际貌似不用输入
sudo systemctl status genieacs-cwmp
sudo systemctl status genieacs-nbi
sudo systemctl status genieacs-fs
sudo systemctl status genieacs-ui
现在基本需要的安装已经OK。下面对GenieACS 简单说明。
web登陆:IP:3000
Genieacs-ui 基于Web的用户界面。默认情况下,它在端口3000上侦听。
genieacs-cwmp 这是CPE将与之通信的服务。默认情况下,它在端口7547上侦听。相 应地在设备中配置ACS URL。
Genieacs-nbi 这是北向接口模块。默认情况下,它在端口7557上公开REST API。
仅当您具有使用此API与GenieACS集成的外部系统时,才需要此接口。
genieacs-fs 文件服务器,CPE将从该文件服务器下载固件映像等
genieacs-sim 作为虚拟TR-069仿真器
通过【IP:3000】访问服务器管理页面
cpe连接url为【IP:7547】
acs认证设置
Key:cwmp.auth
Value:AUTH("cwmp","cwmp")
cpe认证设置
Key:cwmp.connectionRequestAuth
Value:AUTH("cwmpd","cwmpd")
Online设置
可以设置配置cwmp.deviceOnlineThreshold
来调整超时前等待的时间。默认为 4000(毫秒)
Key:cwmp.deviceOnlineThreshold
Value:10000
会话超时设置
可以配置cwmp.deviceOnlineThreshold
来调整会话超时时间
Key:cwmp.seesionTimeout
Value:"10000"
其他:可以genieacs.com搜索对应ACS产生的异常
1:任务队列数,需要调用操作2才会将队列中任务发送出去
2:Commit发送数据,将1中Queued全部整合成报文在一个session中发送出去
3:搜索栏,可通过节点名称过滤节点
4:部分PRC操作
reboot:重启
reset:恢复出厂设置
Push file 上传文件 如固件升级
Delete:删除当前设备
5:Log,能查看当前设备的错误返回情况
6:部分RPC操作,操作后将会放入Queued队列中
7、12:刷新节点,通过节点后带有数字的为object,详细可查看协议或规格
7为param,刷新7时,会调用getParamValue刷新当前值
12位object,刷新12时,会先调用getParamName获取PortMapping下所有的{i}节点名称,如PortMapping.1. PortMapping.2. ……PortMapping.n.等,当前仅存在PortMapping.1. 然后再调用getParamValue获取其子节点值
详细可通过wireshark抓包查看
8:当param中属性rw=1,可写入时,ACS会生成此图标,可通过调用setParamName设置CPE参数值
9:当object中属性rw=1,可写入时,ACS会生成此图标,可通过调用addObject添加CPE object实例值
10:当object中属性rw=1,可写入时,ACS会生成此图标,可通过调用delObject删除CPE object实例值
11:清空队列Queued
genieacs配置更改
配置为systemctl edit --force --full genieacs-*中
EnvironmentFile=/opt/genieacs/genieacs.env
配置中参数设置参考Environment Variables — GenieACS Documentation 1.2.8 documentation
转载其它配置:
环境变量
可以通过以下环境变量来配置GenieACS服务:
所有GenieACS环境变量必须以开头GENIEACS_。
数据库连接参数:MONGODB_CONNECTION_URL
MongoDB连接字符串。
默认: mongodb://127.0.0.1/genieacs
EXT_DIR
从中查找扩展脚本的目录。
默认: <installation dir>/config/ext
EXT_TIMEOUT
超时(以毫秒为单位),允许对扩展的调用返回响应。
默认: 3000
DEBUG_FILE
转储CPE调试日志的文件。
默认值:未设置
DEBUG_FORMAT
调试日志格式。有效值为'yaml'和'json'。
默认: yaml
LOG_FORMAT
用于日志的格式条目中CWMP_LOG_FILE,NBI_LOG_FILE, FS_LOG_FILE,和UI_LOG_FILE。可能的值为simple和 json。
默认: simple
ACCESS_LOG_FORMAT
用于日志的格式条目中CWMP_ACCESS_LOG_FILE, NBI_ACCESS_LOG_FILE,FS_ACCESS_LOG_FILE,和UI_ACCESS_LOG_FILE。可能的值为simple和json。
默认: simple
CWMP_WORKER_PROCESSES
为genieacs-cwmp生成的辅助进程数。值0表示有可用的CPU内核。
默认: 0
CWMP_PORT
genieacs-cwmp侦听的TCP端口。
默认: 7547
CWMP_INTERFACE
genieacs-cwmp绑定到的网络接口。
默认: 0.0.0.0
CWMP_SSL_CERT
证书文件的路径。如果省略,将使用非安全的HTTP。
默认值:未设置
CWMP_SSL_KEY
证书密钥文件的路径。如果省略,将使用非安全的HTTP。
默认值:未设置
CWMP_LOG_FILE
记录genieacs-cwmp与进程相关的事件的文件。如果省略,日志将转到stderr。
默认值:未设置
CWMP_ACCESS_LOG_FILE
用于记录genieacs-cwmp传入请求的文件。如果省略,日志将转到标准输出。
默认值:unest
NBI_WORKER_PROCESSES
为genieacs-nbi生成的工作进程数。值0表示有可用的CPU内核。
默认: 0
NBI_PORT
genieacs-nbi侦听的TCP端口。
默认: 7557
NBI_INTERFACE
genieacs-nbi绑定到的网络接口。
默认: 0.0.0.0
NBI_SSL_CERT
证书文件的路径。如果省略,将使用非安全的HTTP。
默认值:unest
NBI_SSL_KEY
证书密钥文件的路径。如果省略,将使用非安全的HTTP。
默认值:未设置
NBI_LOG_FILE
记录有关genieacs-nbi的进程相关事件的文件。如果省略,日志将转到stderr。
默认值:未设置
NBI_ACCESS_LOG_FILE
用于记录对genieacs-nbi的传入请求的文件。如果省略,日志将转到标准输出。
默认值:未设置
FS_WORKER_PROCESSES
为genieacs-fs生成的工作进程数。值0表示有可用的CPU内核。
默认: 0
FS_PORT
genieacs-fs侦听的TCP端口。
默认: 7567
FS_INTERFACE
genieacs-fs绑定到的网络接口。
默认: 0.0.0.0
FS_SSL_CERT
证书文件的路径。如果省略,将使用非安全的HTTP。
默认值:未设置
FS_SSL_KEY
证书密钥文件的路径。如果省略,将使用非安全的HTTP。
默认值:未设置
FS_LOG_FILE
记录genieacs-fs的进程相关事件的文件。如果省略,日志将转到stderr。
默认值:未设置
FS_ACCESS_LOG_FILE
用于记录对genieacs-fs的传入请求的文件。如果省略,日志将转到标准输出。
默认值:未设置
FS_URL_PREFIX
生成TR-069下载请求的文件URL时使用的URL前缀(例如' https://example.com:7657/ ')。如果genieacs-fs和genieacs-cwmp位于代理之后或在其他服务器上运行,请设置此选项。
默认值:根据ACS URL的主机名,FS_PORT配置以及是否为genieacs-fs启用SSL,自动生成。
UI_WORKER_PROCESSES
为genieacs-ui生成的工作进程数。值0表示有可用的CPU内核。
默认: 0
UI_PORT
genieacs-ui侦听的TCP端口。
默认: 3000
UI_INTERFACE
genieacs-ui绑定到的网络接口。
默认: 0.0.0.0
UI_SSL_CERT
证书文件的路径。如果省略,将使用非安全的HTTP。
默认值:未设置
UI_SSL_KEY
证书密钥文件的路径。如果省略,将使用非安全的HTTP。
默认值:未设置
UI_LOG_FILE
记录genieacs-ui的与进程相关的事件的文件。如果省略,日志将转到stderr。
默认值:未设置
UI_ACCESS_LOG_FILE
用于记录genieacs-ui传入请求的文件。如果省略,日志将转到标准输出。
默认值:未设置
UI_JWT_SECRET
用于对存储在浏览器cookie中的JWT令牌进行签名的密钥。该字符串的最大长度为64个字符。
默认值:未设置
MongoDB数据库配置:转载
启动文件配置:sudo gedit /etc/systemd/system/mongodb.service
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
//以下是开户登陆验证:
//ExecStart=/usr/bin/mongod --auth --config /etc/mongod.conf[Install]
WantedBy=multi-user.target
开启远程访问:
sudo gedit /etc/mongod.conf
找到并把 bind_ip=127.0.0.1 这一行注释掉或者是修改成 bind_ip=0.0.0.0,最好是直接注释掉
连接mongo数据库,终端输入:mongo
添加用户:db.createUser({user: "admin", pwd: "123456",roles: [ { role: "root", db: "admin"} ]})
ubuntu 16.04 64位 搭建GenieACS相关推荐
- Ubuntu 16.04 64位+Qt 5.7.1+opencv 3.2.0 + opencv_contrib 3.2.0
Ubuntu 16.04 64位+Qt 5.7.1+opencv 3.2.0 + opencv_contrib 3.2.0 author@jason_ql http://blog.csdn.net/l ...
- Ubuntu 16.04 64位安装YouCompleteMe
之前记录在OneNote上感觉有点乱,而且不适合保存shell,这次重新安装又出问题了,干脆写篇博客记录. 从零开始 1.git(用来下载vim和相关插件) sudo apt-get install ...
- Ubuntu 16.04 64位安装arm-linux-gcc交叉编译器以及samba服务器
交叉编译器是嵌入式开发的必要工具,但是由于目前大多数人使用64位ubuntu,在照着很多教程做的时候,就会失败,失败原因是64位ubuntu需要额外安装32位的兼容包.以arm-linux-gcc-3 ...
- Ubuntu 16.04 64位 安装 modelsim
一.准备 下载modelsim 10.2安装文件及pojie文件 Ubuntu上没有健全的Java环境,先安装jre.jdk sudo apt-get install default-jre sudo ...
- Ubuntu 16.04 64位中文版 配置 LAMP+phpMyAdmin PHP(7.0)开发环境
1.安装 Apache Web服务器. 终端:sudo apt-get install apache2 apache2-doc -y,然后测试是否安装成功. 浏览器地址栏输入:http://local ...
- Ubuntu 14.04 64位机上配置Android Studio操作步骤
Android Studio是一个为Android平台开发程序的集成开发环境.2013年5月16日在Google I/O上发布,可供开发者免费使用.Android Studio基于JetBrains ...
- linux运行qsql,c – QSqlDatabase:未在Ubuntu 15.04 64位上加?...
在Ubuntu 15.04 64位中,我安装了Qt5.6(在线安装程序),在尝试将我的开发环境从Windows 7迁移到Linux时,我面临以下问题: SqlDatabase: QMYSQL driv ...
- linux运行qsql,QSqlDatabase:未在Ubuntu 15.04 64位上加载QMYSQL驱动程序
在Ubuntu 15.04 64位中,我安装了Qt5.6(在线安装程序),并且在尝试将开发环境从Windows 7迁移到Linux时,遇到了以下问题: SqlDatabase: QMYSQL driv ...
- Go在Ubuntu 14.04 64位上的安装过程
1. 从 https://golang.org/dl/ 或 https://studygolang.com/dl 下载最新的发布版本go1.10即go1.10.linux-amd64.tar.gz ...
- 9.解决 WPS 在ubuntu 19.04 64位下提示“系统缺失字体”
系统版本:ubuntu 19.04 64位 WPS for Linux提示:系统缺失字体symbol.wingdings.wingdings 2.wingdings 3.webding.MTExtra ...
最新文章
- ASP.NET 2.0 ajax中gridView的刷新问题!
- 回归 好坏 机器学习_机器学习下的多元回归
- 常州IBMV3700数据恢复成功
- 从易于扩展扩展的角度来设计FizzBuzzWhizz
- 0518 Scrum项目5.0
- 在c#中实现类似C语言中的memset功能
- 【转】Impala导出查询结果到文件
- sql用什么替代or
- 绕过安卓SSL验证证书的四种方式
- java安全编码指南之:敏感类的拷贝
- ssl1063-统计数字【哈希表】
- 协议编码分析 - ARP协议详解
- Java基础学习总结(111)——Java虚拟机JVM总结大全
- 召唤新一代超参调优开源新神器,集十大主流模块于一身
- oracle 表或视图不存在_sqlalchemy反射不存在主键的表引发的问题
- 计算机中汉字字库分为哪两种,常用的汉字字库有GB2312字库和GBK字库两种。 (转)...
- python的语法格式
- tecplot批量导出图片_科研画图工具Tecplot使用教程
- excel查找窗口被拉边上_excel
- VS2015远程白屏的解决办法——亲测可用
热门文章
- 【bat】bat批处理文件的注释
- 两平面平行方向向量关系_空间向量,如果一条直线与一平面平行,那么直线的方向向量与平面的法向量有什么关系??垂直呢?...
- 荣耀7i android版本,华为荣耀7i有几个版本?荣耀7i不同版本配置介绍
- 阿里云公司简介介绍资料
- 【英语魔法俱乐部——读书笔记】 3 高级句型-简化从句倒装句(Reduced Clauses、Inverted Sentences) 【完结】...
- 三角网导线平差实例_三角网间接平差示例
- c++程序添加资源文件及释放文件
- 戴尔服务器显示器接口类型,拒绝凌乱桌面 Type-C接口显示器的魅力
- 网络流之dinic算法
- Linux和onenote很像的软件,Microsoft OneNote替代方案?