genieacs官网:GenieACS
genieacs开发手册:Welcome to GenieACS’s documentation! — GenieACS Documentation 1.2.8 documentation
genieacs 论坛:GenieACS Forum - GenieACS community
(注意:可选用docker进行安装 ,这里不做介绍)
安装指南参考官网Installation Guide — GenieACS Documentation 1.2.8 documentation
安装指南本指南用于在任何使用 systemd 作为其初始化系统的 Linux 发行版上的单个服务器上安装 GenieACS。
各种 GenieACS 服务相互独立,可以安装在不同的服务器上。 您还可以在负载平衡/故障转移设置中运行每个实例的多个实例。
注意对于生产部署,请确保配置 TLS 并将 UI_JWT_SECRET 更改为唯一且安全的字符串。 有关如何启用 TLS 以加密流量的信息,请参阅 HTTPS 部分。
条件Node.js
GenieACS 需要 Node.js 10.x 及更高版本。 有关说明,请参阅 Node.js。
注意:如果Node.js版本过低,则运行时会出错,n模块可能存在无法升至10.x以上,建议使用nvm模块进行升级,网上资料较多并且安装简单,可自行升级,提供传送门:NVM安装nodejs的方法_json博客-CSDN博客_nvm安装nodejs
MongoDB
GenieACS 需要 MongoDB 3.6 及更高版本。 参考MongoDB:应用数据平台| MongoDB 获取说明。
(注意:必须安装到对应的版本以上,否则运行不了)
安装GenieACS 从 NPM 安装: sudo npm install -g genieacs@1.2.5 从源码安装如果您更喜欢从源代码安装,例如在运行带有自定义补丁的 GenieACS 副本时,请参阅源包中的 README.md 文件。 相应地调整下面的后续步骤。
配置systemd创建一个系统用户来运行 genieacs?守护进程
sudo useradd --system --no-create-home --user-group genieacs创建目录以保存扩展和环境文件
我们将使用 /opt/genieacs/ext/ 目录来存储扩展脚本。
mkdir /opt/genieacs mkdir /opt/genieacs/ext chown genieacs:genieacs /opt/genieacs/ext创建文件 /opt/genieacs/genieacs.env 来保存我们作为环境变量传递给 GenieACS 的配置选项。 有关所有可用配置选项的列表,请参阅环境变量部分。
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设置文件所有权和权限:
sudo chown genieacs:genieacs /opt/genieacs/genieacs.env sudo chmod 600 /opt/genieacs/genieacs.env创建日志目录
mkdir /var/log/genieacs chown genieacs:genieacs /var/log/genieacs创建 systemd 文件
为四个 GenieACS 服务中的每一个创建一个 systemd 单元文件。 请注意,我们使用 EnvironmentFile 指令从我们之前创建的文件中读取环境变量。
每个服务都有两个日志流:访问日志和进程日志。 访问日志在此处配置为转储到 /var/log/genieacs/ 下的日志文件中,而进程日志则转到 journald。 使用 journalctl 命令查看进程日志。
注意
如果命令 systemctl edit --force --full 失败,您可以手动创建单元文件。
(注意:如果systemctl edit失败,需在/etc/systemd/system/中创建genieacs-nbi.service、genieacs-ui.service、genieacs-fs.service、genieacs-cwmp.service,并修改权限)
运行以下命令创建 genieacs-cwmp 服务:
sudo systemctl edit --force --full genieacs-cwmp然后在编辑器中粘贴以下内容并保存:
[Unit] Description=GenieACS CWMP After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/bin/genieacs-cwmp [Install] WantedBy=default.target(注意: ExecStart需修改为对应genieacs-cwmp路径,可通过命令which genieacs-cwmp查看)
运行以下命令创建 genieacs-nbi 服务:
sudo systemctl edit --force --full genieacs-nbi然后在编辑器中粘贴以下内容并保存:
[Unit] Description=GenieACS NBI After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/bin/genieacs-nbi [Install] WantedBy=default.target运行以下命令创建 genieacs-fs 服务:
sudo systemctl edit --force --full genieacs-fs然后在编辑器中粘贴以下内容并保存:
[Unit] Description=GenieACS FS After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/bin/genieacs-fs [Install] WantedBy=default.target运行以下命令创建 genieacs-ui 服务:
sudo systemctl edit --force --full genieacs-ui然后在编辑器中粘贴以下内容并保存:
[Unit] Description=GenieACS UI After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/bin/genieacs-ui [Install] WantedBy=default.target使用 logrotate 配置日志文件轮换
将以下内容另存为 /etc/logrotate.d/genieacs
/var/log/genieacs/*.log /var/log/genieacs/*.yaml { daily rotate 30 compress delaycompress dateext }启用和启动服务
sudo systemctl enable genieacs-cwmp sudo systemctl start genieacs-cwmp sudo systemctl status genieacs-cwmp sudo systemctl enable genieacs-nbi sudo systemctl start genieacs-nbi sudo systemctl status genieacs-nbi sudo systemctl enable genieacs-fs sudo systemctl start genieacs-fs sudo systemctl status genieacs-fs sudo systemctl enable genieacs-ui sudo systemctl start genieacs-ui sudo systemctl status genieacs-ui查看每个状态消息以验证服务是否成功运行。
genieacs配置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 Forum - GenieACS community中搜索对应ACS产生的异常
genieacs基本操作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
服务开启
sudo systemctl enable genieacs-cwmp sudo systemctl enable genieacs-nbi sudo systemctl enable genieacs-fs sudo systemctl enable genieacs-ui服务开始
sudo systemctl start genieacs-cwmp sudo systemctl start genieacs-nbi sudo systemctl start genieacs-fs sudo systemctl start genieacs-ui服务停止
sudo systemctl stop genieacs-cwmp sudo systemctl stop genieacs-nbi sudo systemctl stop genieacs-fs sudo systemctl stop genieacs-ui服务状态查询
sudo systemctl status genieacs-cwmp sudo systemctl status genieacs-nbi sudo systemctl status genieacs-fs sudo systemctl status genieacs-ui 安装过程遇到的问题:由于安装使用的是genieacs账户,当在root时,nodejs的版本是最新的,但在genieacs账号中node指令可能仍然是低版本
解决方法1:
1.切换至genieacs查看node的路径
2.并将更新好的node14.17.1 软链接到node中
genieacs@ubuntu:/xx$ node --version v8.17.0 genieacs@ubuntu:/xx$ which node /usr/local/bin/node genieacs@ubuntu:/xx$ su root@ubuntu:/xx$ root@ubuntu:/xx$ cd /usr/local/bin/ root@ubuntu:/usr/local/bin$ root@ubuntu:/usr/local/bin$ find / -name "node" …… /usr/bin/node /usr/local/bin/node /usr/local/share/doc/node /usr/local/n/versions/node /usr/local/n/versions/node/8.17.0/bin/node /usr/local/n/versions/node/8.17.0/share/doc/node /usr/local/n/versions/node/8.17.0/include/node /home/ecos/.nvm/versions/node /home/ecos/.nvm/versions/node/v14.17.1/bin/node /home/ecos/.nvm/versions/node/v14.17.1/share/doc/node /home/ecos/.nvm/versions/node/v14.17.1/include/node /home/ecos/.nvm/.cache/src/node-v14.17.1/files/node /home/ecos/.nvm/.cache/src/node-v14.17.1/files/deps/v8/tools/node …… root@ubuntu:/usr/local/bin# sudo ln -s /home/ecos/.nvm/versions/node/v14.17.1/bin/node ./node
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。 |
标签: #genieacs安装部署 #To #GenieACSs #Documentation #GenieACS