GenieACS 安装与使用指南
1. 项目目录结构及介绍
GenieACS 是一个高效的 TR-069 自动配置服务器(ACS),专为远程设备管理设计。以下是 GenieACS 的主要目录结构及其介绍:
genieacs/
├── bin/
│ ├── genieacs-cwmp
│ ├── genieacs-nbi
│ ├── genieacs-fs
│ └── genieacs-ui
├── build/
├── docs/
├── lib/
├── public/
├── test/
├── ui/
├── .eslintrc.json
├── .gitignore
├── .prettierignore
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── npm-shrinkwrap.json
├── package.json
└── tsconfig.json
目录介绍
- bin/: 包含 GenieACS 的主要可执行文件,包括
genieacs-cwmp
、genieacs-nbi
、genieacs-fs
和genieacs-ui
。 - build/: 构建输出目录,包含编译后的文件。
- docs/: 项目文档目录。
- lib/: 项目的主要代码库。
- public/: 公共资源目录,可能包含静态文件。
- test/: 测试代码目录。
- ui/: 用户界面相关代码目录。
- .eslintrc.json: ESLint 配置文件。
- .gitignore: Git 忽略文件配置。
- .prettierignore: Prettier 忽略文件配置。
- CHANGELOG.md: 项目更新日志。
- CONTRIBUTING.md: 贡献指南。
- LICENSE: 项目许可证文件。
- README.md: 项目介绍和使用说明。
- npm-shrinkwrap.json: npm 依赖锁定文件。
- package.json: npm 项目配置文件。
- tsconfig.json: TypeScript 配置文件。
2. 项目的启动文件介绍
GenieACS 的主要启动文件位于 bin/
目录下,每个文件对应一个服务模块。以下是各个启动文件的介绍:
genieacs-cwmp
- 功能: 这是 CPE(客户端设备)将与之通信的服务,负责处理 TR-069 协议的通信。
- 默认端口: 7547
- 配置: 需要在设备中配置 ACS URL 以指向该服务。
genieacs-nbi
- 功能: 这是北向接口模块,提供 REST API 用于与外部系统集成。
- 默认端口: 7557
- 配置: 仅在需要外部系统集成时启用。
genieacs-fs
- 功能: 文件服务器,用于 CPE 下载固件镜像等文件。
- 默认端口: 7567
genieacs-ui
- 功能: 提供 Web 用户界面,用于管理和配置 GenieACS。
- 默认端口: 3000
- 配置: 启动时需要指定
--ui-jwt-secret
参数来设置 JWT 密钥。
3. 项目的配置文件介绍
GenieACS 的配置文件主要通过命令行参数和环境变量进行配置。以下是一些关键配置项的介绍:
环境变量
- NODE_ENV: 设置运行环境,如
production
或development
。 - MONGO_URL: MongoDB 连接字符串。
- JWT_SECRET: JWT 密钥,用于
genieacs-ui
的安全认证。
命令行参数
- --port: 设置服务的监听端口。
- --ui-jwt-secret: 设置
genieacs-ui
的 JWT 密钥。 - --db-url: 设置 MongoDB 连接字符串。
示例
genieacs-cwmp --port 7547 --db-url mongodb://localhost:27017/genieacs
genieacs-ui --ui-jwt-secret mysecret
通过以上配置,您可以启动和管理 GenieACS 的各个服务模块,实现对 TR-069 设备的远程管理。