环境准备:系统要求与依赖安装

到这一步,咱们得先把手里的家伙事儿捋顺了。我见过不少新手,上来就写代码,结果环境配了半天,最后发现是基础没打牢。今天就先把环境搞定。

系统要求

说白了,你的机器得能跑起来这些服务。我个人习惯用 64 位的 Linux 服务器,尤其是 Ubuntu 20.04 LTS 或 CentOS 7 以上版本。如果你手头只有 Windows,也别慌,WSL2 完全够用。

组件 最低要求 推荐配置 备注
CPU 2 核 4 核+ 并发高时很关键
内存 4 GB 8 GB 以上 Access Audit 服务大概占 2 GB
磁盘 20 GB 空余 SSD 50 GB+ 日志与审计数据增长很快
操作系统 64 位 Linux / Windows Server 2016+ Ubuntu 22.04 / CentOS 8 WSL2 也可以,但生产环境别用
JDK 11 17 或 21 接口解析需要 Java 运行时

小提示: 有一次我在一个 2 核 4GB 的虚拟机上硬跑,结果 Access Audit 的界面加载直接卡死。你想想看,光操作系统就用掉一半内存,哪还有空间给服务?所以有条件就上 8GB,省心很多。

软件依赖项

咱们要装的东西不多,但环环相扣。下面这张图帮你快速看明白整体依赖关系。

Access Audit 接口配置环境——依赖关系图 操作系统 (Linux/WSL) JDK 11+ Python 3.8+ Node.js 16+ Docker (可选) Access Audit 接口配置服务 REST API 解析 | 审计日志写入 | 策略同步 说明:不同接入模式对依赖项需求有区别。REST 接口模式必须 JDK + Python;Webhook 模式多需要 Node.js。 Docker 容器化部署非必需,但能帮你隔离环境,我建议你在学习阶段就用 Docker 省心。

安装步骤

好,咱们直接开干。我按照最常见的 Linux 环境(Ubuntu 22.04)来走一遍。Windows 用户请打开 WSL2 后再操作。

1. 更新系统包索引

sudo apt update && sudo apt upgrade -y

这一步简单,但别跳过。我遇到过一位同事,直接跳过更新就装软件,结果依赖冲突花了两小时才解决。

2. 安装 JDK 17(推荐)

sudo apt install openjdk-17-jdk -y
java -version

输出里看到 "openjdk version 17.x.x" 就算成了。嗯,这里要注意:如果你的生产环境还在用 JDK 8,那得确认 Access Audit 的版本是否兼容。我个人建议至少用 11,17 的 GC 性能好很多。

3. 安装 Python 3.10 与 pip

sudo apt install python3 python3-pip -y
python3 --version
pip3 --version

Access Audit 的接口测试脚本是用 Python 写的。曾经有一次,我图省事装了 Python 3.6,结果一个加密库死活装不上。所以版本别太低,3.8 起步,3.10 最稳。

4. 安装 Node.js 18 LTS

如果你想接入 Webhook 或者自定义插件,Node.js 就是刚需。

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
node -v
npm -v

核心观点: 依赖安装的顺序其实有讲究:操作系统 → JDK → Python 与 Node(可并行)→ Access Audit 服务。乱序装容易遇到 PATH 找不到的情况。我一般先装 JDK,因为好多工具底层都靠它。

5. 配置环境变量(重点)

装完只是第一步,你得告诉系统这些工具在哪。我个人习惯把下面几行加到 ~/.bashrc 或 ~/.zshrc 里:

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
export NODE_HOME=/usr/local/node-v18
export PATH=$PATH:$NODE_HOME/bin

记得执行 source ~/.bashrc 生效。好多人装完就忘了这一步,然后跟我说“配好了但命令找不到”,其实就差一个 source。

6. (可选) Docker 环境安装

如果你想用容器部署 Access Audit,那 Docker 必不可少。我建议你学习阶段就用 Docker,踩坑了直接删容器重来,成本极低。

sudo apt install docker.io docker-compose -y
sudo systemctl enable --now docker
docker --version

别忘了把当前用户加入 docker 组,不然每次都要 sudo:

sudo usermod -aG docker $USER
newgrp docker

警告: 不要在生产环境把 docker 组权限随意给用户。这会带来安全风险。学习阶段无所谓,但上了生产一定要严格控制。

验证环境就绪

所有组件安装完后,跑一遍快速验证脚本,确保每个依赖都活着。

echo "=== JDK ===" && java -version && \
echo "=== Python ===" && python3 --version && \
echo "=== Node ===" && node -v && \
echo "=== Docker ===" && docker version

如果每一步都输出了版本号,恭喜,环境准备好了。我记得有一次帮人远程排错,最后发现他没装 pip,导致 Python 脚本根本跑不起来。所以别偷懒,每条命令都敲一遍。

常见问题与避坑指南

  • 端口冲突: Access Audit 默认用 8080 和 8443。如果被占用了,比如 Nginx 或 Jenkins,你可以临时停掉它们,或者改 Access Audit 的端口。我的经验是,开发环境用 8080,生产再换成 8443 加证书。
  • JDK 版本不匹配: 有些老插件只认 JDK 11。如果你用了 17,记得在启动参数里加上 --add-opens 之类的 JVM 参数。具体翻官方文档,别硬试。
  • Python 库版本冲突: 强烈建议用虚拟环境。我在项目中就吃过亏,全局装了一堆库,结果两个项目依赖的版本打架。用 python3 -m venv 隔离一下,省心十倍。
  • Docker 网络模式: 如果你用 WSL2,记得把 Docker Desktop 的 WSL 集成打开。不然容器和宿主机网络不通,Access Audit 的控制台日志会一直报连接超时。

小技巧: 装完所有依赖后,我习惯做个快照(虚拟机或 WSL 的导出)。一旦环境被你搞乱了,直接恢复快照,比重新装一遍快多了。教学班的学生都说这招是“后悔药”。

环境准备这件事,看着琐碎,但真别急。磨刀不误砍柴工,后面咱们配接口策略、调审计规则的时候,一个稳定的环境能让你少掉 80% 的头发。