Next Terminal 开源项目安装与使用教程
1. 项目目录结构及介绍
Next Terminal 是一款简单易用且安全的开源交互式审计系统,支持多种协议如 RDP、SSH、VNC 和 Telnet。以下是基于 Docker 容器部署的基本目录结构:
.
├── docker-compose.yml # Docker Compose 配置文件,用于启动整个应用
└── data # 数据存储目录,包括 SQLite 数据库文件和其它持久化数据
└── sqlite # 默认 SQLite 数据库存放路径
└── next-terminal.db # SQLite 数据库文件
在这个结构中,docker-compose.yml
文件定义了如何启动 Guacd 和 Next Terminal 两个服务,而 data
目录则用于挂载到容器内以保存数据。
2. 项目启动文件介绍
Docker Compose 文件 (docker-compose.yml
)
该文件用于通过 Docker Compose 部署 Next Terminal 及其依赖服务 Guacd。下面是一份示例配置:
version: '3.3'
services:
guacd:
image: dushixiang/guacd:latest
volumes:
- /data:/usr/local/next-terminal/data
restart: always
next-terminal:
image: dushixiang/next-terminal:latest
environment:
DB: sqlite
GUACD_HOSTNAME: guacd
GUACD_PORT: 4822
ports:
- "8088:8088"
volumes:
- /etc/localtime:/etc/localtime
- /data:/usr/local/next-terminal/data
这个配置将启动两个服务:
guacd
作为 Guacamole 代理,提供远程桌面访问。next-terminal
为主应用,设置环境变量以连接 Guacd,并暴露 8088 端口供外部访问。
Docker Run 命令
如果你不使用 Docker Compose,也可以通过单独的 Docker Run 命令启动:
docker run --restart=always --name next-terminal \
--link guacd \
-p 8088:8088 \
-v /root/next-terminal/data:/usr/local/next-terminal/data \
-v /etc/localtime:/etc/localtime \
-e DB=sqlite \
-e GUACD_HOSTNAME=guacd \
-e GUACD_PORT=4822 \
dushixiang/next-terminal:latest
这与 Docker Compose 配置相似,只是手动设置了相关参数。
3. 项目的配置文件介绍
Next Terminal 使用环境变量进行配置,主要涉及以下几个关键项:
- DB:数据库类型,默认是 SQLite。可选项包括
'sqlite'
或'mysql'
。 - SQLITE_FILE (仅限 SQLite):SQLite 数据库文件的路径,如
/usr/local/next-terminal/data/sqlite/next-terminal.db
。 - MYSQL_HOSTNAME, MYSQL_PORT, MYSQL_USERNAME, MYSQL_PASSWORD 和 MYSQL_DATABASE (仅限 MySQL):MySQL 数据库的相关连接信息。
- SERVER_ADDR:服务器监听地址,默认是
0.0.0.0:8088
。 - ENCRYPTION_KEY:用于加密授权凭证和资产的密钥。
- GUACD_HOSTNAME 和 GUACD_PORT:Guacd 服务的主机名和端口号。
这些配置可以通过 Docker Compose 的 environment
字段或 Docker Run 的 -e
参数设置。
示例配置(使用 MySQL)
如果你希望使用 MySQL 作为数据库,配置文件将如下所示:
version: '3.3'
services:
guacd:
...
next-terminal:
image: dushixiang/next-terminal:latest
environment:
DB: mysql
MYSQL_HOSTNAME: your-mysql-server-host
MYSQL_PORT: 3306
MYSQL_USERNAME: your-username
MYSQL_PASSWORD: your-password
MYSQL_DATABASE: next-terminal
SERVER_ADDR: 0.0.0.0:8088
ENCRYPTION_KEY: your-secret-key
GUACD_HOSTNAME: guacd
GUACD_PORT: 4822
...
请注意替换上述配置中的占位符为你实际的数据库和 Guacd 设置。
完成以上步骤后,你就可以通过 http://your-server-ip:8088 访问 Next Terminal 了。如果使用了自签名证书,可能需要在浏览器中临时信任该证书才能正常访问。