新闻详情

新闻详情

首页 / 资讯中心 / 详情

Ajenti 2 安装指南:虚拟环境一键部署、手动安装与彻底卸载

发布时间:2026/9/27 10:24:18来源:尧图网络
Ajenti 2 安装指南:虚拟环境一键部署、手动安装与彻底卸载
后端运维【免费下载链接】ajentiAjenti Core and stock plugins项目地址https://gitcode.com/gh_mirrors/aj/ajenti点击查看免费下载本篇指南基于 Ajenti 官方安装文档docs/source/man/install.rst编写系统讲解在 Debian/Ubuntu/RHEL 系 Linux 上部署 Ajenti 2 的全部路径推荐使用的虚拟环境自动安装、已被弃用的系统级自动安装、逐步骤手动安装以及服务启停、配置生成、故障排查与彻底卸载。读完本文你将掌握 Ajenti 2 从零部署到日常运维的完整技能并能理解安装脚本在底层做了哪些事、生成哪些文件、如何影响面板行为。支持的操作系统与安装方式总览Ajenti 官方明确支持以下操作系统详见 docs/source/man/install.rst 开头的 CAUTION 提示Debian 9 或更新版本Ubuntu Bionic18.04或更新版本RHEL 8 或更新版本其他 Linux 发行版可能可以运行但需要使用下面的手动安装方法自行处理依赖。安装方式按推荐程度分为三档安装方式适用场景推荐度虚拟环境自动安装install-venv.sh所有受支持系统尤其是 Debian 12/Ubuntu 24.04官方推荐系统级自动安装install.sh旧版本 Debian/Ubuntu 及其他系统已弃用手动安装任何受支持系统需自行控制依赖备选在 Debian 12、Ubuntu 24.04 及更高版本上pip 已默认启用externally managed environment保护策略禁止向系统 Python 环境直接安装包。虚拟环境安装正是为了规避这一限制而成为官方推荐方案。虚拟环境自动安装推荐执行以下命令即可需要 root 权限curl https://raw.githubusercontent.com/ajenti/ajenti/master/scripts/install-venv.sh | sudo bash -s -在当前镜像仓库中脚本位于 scripts/install-venv.sh可直接下载后以 root 执行。这条命令会以 root 身份运行脚本脚本内部自动完成以下全部步骤检测发行版通过/etc/issue与/etc/os-release识别 Debian / Ubuntu / CentOS / Rocky Linux / RHEL未知发行版会暂停并等待确认。安装系统依赖Debian/Ubuntubuild-essential python3-pip python3-venv python3-dev python3-lxml python3-dbus python3-augeas libssl-dev python3-apt ntpdateDebian 13 及以上还会额外安装ntpsec-ntpdate代替ntpdate。Ubuntu 需要先启用 universe 仓库add-apt-repository -y universe。RHEL 系gcc python3-devel python3-pip python3-virtualenv python3-pillow python3-augeas python3-dbus openssl-devel chrony redhat-lsb-core并先安装epel-release。创建虚拟环境python3 -m venv /opt/ajenti --system-site-packages后续所有 pip 操作都在/opt/ajenti/bin/python3中进行不污染系统 Python。升级 pip 并清理冲突升级pip wheel setuptools packaging若检测到已安装的gevent-socketio会先行卸载避免与 Ajenti 依赖冲突。安装 Ajenti 主程序与核心插件ajenti-panel及ajenti.plugin.core、dashboard、settings、plugins、notepad、terminal、filemanager、packages、services等。版本兼容修复安装gipc -U、固定gevent25.5.1、zope.event5.1.1脚本注释标明这是针对新版本 Python 的临时修复。生成配置文件创建/etc/ajenti/目录写入初始users.yml内容为users: null和config.yml若配置文件已存在则跳过不覆盖用户已有配置。生成 SSL 证书调用ajenti-ssl-gen $(hostname)。安装 init 脚本按优先级依次检测 Upstart/etc/init、systemd/lib/systemd/system、sysvinit/etc/init.d/ajenti分别生成对应的服务单元并启动。安装完成后脚本会打印本机 IP 并提示面板监听在https://IP:8000。登录后空白页升级 gipc 与 gevent如果在登录后收到空响应页面空白官方给出的排查方法是升级两个异步依赖/opt/ajenti/bin/python3 -m pip install gipc gevent -U这两个包是 Ajenti 消息推送与并发框架的基础版本过旧会导致 WebSocket/推送通道异常出现登录后无内容的典型症状。安装脚本本身已做过版本固定见 scripts/install-venv.sh此命令用于后续的临时升级修复。缺少 HTTPS 证书重新生成证书虚拟环境安装会调用ajenti-ssl-gen自动生成自签名证书。若因故缺失 https 证书可手动执行/opt/ajenti/bin/python3 /opt/ajenti/bin/ajenti-ssl-gen $(hostname)从 ajenti-panel/ajenti-ssl-gen 源码可以看到该工具的行为是以主机名为组织名生成 RSA 4096 位自签名证书有效期 10 年写入/etc/ajenti/ajenti.pem私钥与证书同文件读取/etc/ajenti/config.yml若ssl.certificate已配置则直接退出幂等保护否则将ssl.enable置为true、ssl.certificate指向证书文件并把结果回写回config.yml。系统级自动安装已弃用curl https://raw.githubusercontent.com/ajenti/ajenti/master/scripts/install.sh | sudo bash -s -当前镜像仓库中对应脚本为 scripts/install.sh。脚本开头会打印醒目的弃用警告这种方式会把 Ajenti 直接安装到系统 Python 环境/usr/lib/python3/dist-packages层级在较新的 Debian/Ubuntu 上会因 pip 的 PEP 668 保护而失败官方已不再推荐。仅适用于旧版本发行版及其他 Linux 系统。与虚拟环境脚本相比install.sh的差异点在于不创建虚拟环境直接用系统python3 -m pip安装在 Debian 系上安装前会先移除/usr/lib/python3/dist-packages/setuptools.egg-info兼容 Debian 7 的遗留处理其余逻辑依赖安装、配置文件生成、SSL 证书、init 脚本与install-venv.sh完全一致。手动安装手动安装适合需要精确控制依赖、或发行版不在官方支持列表中的场景核心是三步装好系统原生依赖 → 升级 pip → 用 pip 安装 Ajenti 及其插件。原生依赖Debian/UbuntuUbuntu 需先启用 universe 仓库sudo add-apt-repository universe然后安装依赖sudo apt-get install build-essential python3-pip python3-dev python3-lxml libssl-dev python3-dbus python3-augeas python3-apt ntpdate各依赖的作用可从 scripts/install.sh 得到印证python3-lxml用于 XML/HTML 解析python3-dbus支撑 D-Bus 系统总线交互python3-augeas提供 Augeas 配置编辑库网络、fstab 等插件依赖python3-apt供软件包管理插件使用libssl-dev供编译期链接ntpdate用于时间同步。原生依赖RHEL先启用 EPEL 仓库sudo dnf install epel-release再安装依赖sudo dnf install -y gcc python3-devel python3-pip python3-pillow python3-augeas python3-dbus chrony openssl-devel redhat-lsb-core其中redhat-lsb-core提供 LSB 兼容脚本支持sysvinit init 脚本检测lib/lsb/init-functions时用到chrony用于时间同步。安装 Ajenti 2先升级 pip 工具链sudo pip3 install setuptools pip wheel -U最小化安装仅面板 4 个基础插件适合先跑通sudo pip3 install ajenti-panel ajenti.plugin.core ajenti.plugin.dashboard ajenti.plugin.settings ajenti.plugin.plugins安装全部插件sudo pip3 install ajenti-panel ajenti.plugin.ace ajenti.plugin.augeas ajenti.plugin.auth-users ajenti.plugin.core ajenti.plugin.dashboard ajenti.plugin.datetime ajenti.plugin.filemanager ajenti.plugin.filesystem ajenti.plugin.network ajenti.plugin.notepad ajenti.plugin.packages ajenti.plugin.passwd ajenti.plugin.plugins ajenti.plugin.power ajenti.plugin.services ajenti.plugin.settings ajenti.plugin.terminal插件体系遵循每个功能一个 Python 包的约定aj是核心库即 ajenti-core其 setup.py 中版本为 2.2.16ajenti-panel是启动器各ajenti.plugin.*是功能插件。仓库根目录的 official_plugins.json 完整列出了官方维护的 26 个插件ace、augeas、auth_users、check_certificates、core、cron、dashboard、datetime、dns_api、docker、filemanager、filesystem、fstab、iptables、network、notepad、packages、passwd、plugins、power、services、session_list、settings、softraid、supervisor、terminal、traffic。你可以按需在 pip install 列表中增删。安装完成后的服务管理安装脚本两种自动安装脚本一致会按以下优先级注册服务Upstart存在/etc/init且可用start生成/etc/init/ajenti.conf以start on runlevel [2345]方式常驻systemd生成/lib/systemd/system/ajenti.serviceTypeforking、PIDFile/var/run/ajenti.pidExecStart为$PYTHON3 $PANEL -dsysvinit生成/etc/init.d/ajenti支持start|stop|restart|status四个动作。仓库中维护了一份标准 systemd 单元 debian/systemd/ajenti2.service与脚本生成的单元结构一致可供参考或手工部署。启动/重启服务的三种方式service ajenti restart # 或 /etc/init.d/ajenti restart # 或 systemctl restart ajenti面板默认监听HTTPS 8000 端口默认用户名为root密码即系统 root 密码认证走osprovider见下文配置说明。ajenti-panel 命令行参数手动运行面板时可用参数源码见 ajenti-panel/ajenti-panel 的usage()参数说明-c, --config file使用指定的配置文件替代默认的/etc/ajenti/config.yml-v调试/详细日志等价于--log debug--log level固定日志级别debug、info、warning、error--dev开发模式每次请求自动重建前端资源-d, --daemon后台守护进程模式--stock-plugins从 PYTHONPATH 加载内置插件未指定--plugins时的默认行为--plugins dir从指定目录加载额外插件可重复使用--autologin以运行面板的系统用户自动登录。公网暴露的系统上使用该选项存在严重安全隐患且源码强制要求必须与-v同时使用否则拒绝启动首次运行ajenti-panel时若/etc/ajenti/config.yml不存在启动器会自动创建一份带默认值的配置源码中可见默认bind.port: 8000、max_sessions: 9、session_max_time: 3600并同时初始化空的/etc/ajenti/users.yml与/etc/ajenti/smtp.yml。安装脚本生成的默认配置自动安装脚本写入的/etc/ajenti/config.yml初始内容如下后续可在面板设置或手工编辑中调整auth: allow_sudo: true emails: {} provider: os users_file: /etc/ajenti/users.yml bind: host: 0.0.0.0 mode: tcp port: 8000 color: default max_sessions: 9 trusted_domains: [] trusted_proxies: [] session_max_time: 3600 name: 主机名 ssl: certificate: fqdn_certificate: force: false client_auth: certificates: [] enable: false force: false enable: false仓库中另有一份更完整的参考配置示例 ajenti-panel/config.yml展示了启用 SSL 证书、客户端证书认证client_auth、语言、颜色主题等进阶字段。卸载 Ajenti 2Ajenti 由一组 pip 安装的 Python 模块 init 脚本 配置文件三部分组成卸载需按顺序清理。先移除服务再卸载 Python 模块最后删除配置。停止并移除服务systemdsudo systemctl stop ajenti.service sudo systemctl disable ajenti.service sudo systemctl daemon-reload sudo rm -f /lib/systemd/system/ajenti.serviceSysVinit/etc/init.d/ajenti stop rm -f /etc/init/ajenti.conf卸载 Python 模块先列出所有 Ajenti 相关模块aj、ajenti-panel及全部ajenti.plugin.*sudo pip3 list | grep aj输出示例插件数量随安装情况增减aj 2.1.43 ajenti-panel 2.1.43 ajenti.plugin.ace 0.30 ajenti.plugin.auth-users 0.31 ajenti.plugin.core 0.99 ajenti.plugin.dashboard 0.39 ajenti.plugin.filesystem 0.47 ajenti.plugin.passwd 0.24 ajenti.plugin.plugins 0.47 ajenti.plugin.session-list 0.4 ajenti.plugin.settings 0.30然后一次性卸载sudo pip3 uninstall -y aj ajenti-panel ajenti.plugin.ace ajenti.plugin.auth-users ajenti.plugin.core ajenti.plugin.dashboard ajenti.plugin.filesystem ajenti.plugin.passwd ajenti.plugin.plugins ajenti.plugin.session-list ajenti.plugin.settings若安装了更多插件把pip3 list中列出的其余ajenti.plugin.*名称追加到命令末尾即可。删除配置文件若不再需要保留面板数据用户、证书、SMTP 凭据、TFA 密钥均存于此处直接删除整个目录sudo rm -rf /etc/ajenti/配置体系速览卸载一节涉及的/etc/ajenti/是 Ajenti 所有配置的集中存放处详见 docs/source/man/config.rstconfig.yml主配置文件涵盖auth认证 provider、sudo 提权、用户文件路径、bind监听地址/端口/socket 类型、ssl证书、强制跳转、客户端证书认证、email密码重置邮件、以及color、language、name、max_sessions、session_max_time、trusted_domains、trusted_proxies、restricted_user等全局参数smtp.yml邮件中继凭据server、user、password、port为starttls/ssl用于密码重置功能文件权限会被强制收紧到 0600users.ymlprovider: users时的用户账户库用户名、scrypt 密码哈希、uid、fs_root、权限列表。相关默认值在 ajenti-core/aj/config.py 的BaseConfig.ensure_structure()中有完整定义例如max_sessions默认 99、session_max_time默认 3600 秒、restricted_user默认nobody、认证 provider 默认os。该模块还管理/etc/ajenti/tfa.ymlTOTP 双因素密钥与/etc/ajenti/smtp.yml的读写其中TFAConfig在加载时会抹掉内存中的明文密钥仅保留校验所需结构是值得注意的安全设计。关于用户密码哈希Ajenti 使用scrypt派生密钥可用如下 Python 代码生成写入users.yml的哈希值import scrypt, os bytes scrypt.encrypt(os.urandom(256), password, maxtime1) hex bytes.hex() print(hex)注意scrypt.encrypt产出的是派生密钥而非传统摘要这也是users.yml中password字段是长十六进制串的原因。故障排查指引若面板启动异常可参考 docs/source/man/run.rst 的调试方法运行日志位于/var/log/ajenti/ajenti.log崩溃时的完整 traceback 记录在/var/log/ajenti/crash-日期.log需要更详细输出时停掉服务后前台运行ajenti-panel -v或--dev观察资源编译结束后用systemctl start ajenti恢复服务登录后空白页优先尝试升级gipc与gevent见上文HTTPS 证书缺失时用ajenti-ssl-gen重新生成见上文。至此你已经掌握了 Ajenti 2 的完整安装生命周期从推荐的一键虚拟环境部署到旧系统的自动安装、受控的手动安装再到服务管理、配置理解与彻底卸载足以在生产服务器上独立完成部署与运维。赞分享后端运维【免费下载链接】ajentiAjenti Core and stock plugins项目地址https://gitcode.com/gh_mirrors/aj/ajenti点击查看免费下载相关推荐CUA CLI安装指南一键部署AI代理和虚拟机环境的完整教程CUA CLI安装指南一键部署AI代理和虚拟机环境的完整教程 想要快速搭建高性能的macOS和Linux虚拟机环境同时支持AI代理的自动化操作吗CUA项目人工智能AI Agent大模型GUI 自动化MCP 服务模型评测微调强化学习工具调用OpenSpeedy安装指南Winget一键部署与手动安装全流程对比OpenSpeedy安装指南Winget一键部署与手动安装全流程对比 你是否还在为游戏帧率限制而烦恼是否想寻找一款简单易用且高效的游戏加速工具OpenSp桌面应用游戏开发Ajenti服务器管理面板安装与卸载指南Ajenti服务器管理面板安装与卸载指南 前言 Ajenti是一款功能强大的服务器管理面板它提供了一个直观的Web界面来管理Linux服务器。与传统的命令行管后端运维上一篇如何深度解析网易NeoX引擎NPK文件从加密容器到可读资源的完整指南下一篇stylelint 规则 declaration-property-value-keyword-no-deprecated全面拦截 CSS 声明中的废弃关键字创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

精密运放选型指南:国产器件替代的关键指标与实操路径 2026/9/27 11:23:36

精密运放选型指南:国产器件替代的关键指标与实操路径

做了十几年模拟前端,选精密运放这件事,我以前非常固执。精密运放选型,第一反应就是看ADI,偶尔翻翻TI,国产芯基本不在首轮筛选名单里。这倒不是崇洋媚外,纯粹是肌肉记忆:早期有些国产通用运放&am…

阅读更多 →
智算网络技术导论:第三部分工程实践 如何建设一张智算网络 2026/9/27 11:23:29

智算网络技术导论:第三部分工程实践 如何建设一张智算网络

第三部分 工程实践:如何建设一张智算网络 第九章 规模测算方法 前两部分建立了概念与结构。本部分转入工程实施,从最基础的工作开始——把一个"多少卡"的需求,逐步转化为设备数量、机柜数量、供电容量与投资估算。 9.1 从卡数到设备台数的推算方法 设备数量…

阅读更多 →
using-lwc - SKILL 2026/9/27 11:23:10

using-lwc - SKILL

name: using-lwc description: “当项目决策、代码结构、研究、事件或已验证的上下文必须通过 LWC 记忆和图索引在未来的编码 Agent 会话中存续时使用。” category: development risk: critical source: community source_repo: JanYork/using-lwc source_type: community dat…

阅读更多 →
unship - SKILL 2026/9/27 11:22:32

unship - SKILL

name: unship description: “Compare AI agent-made UI variants locally in a real app, then keep one and clean up unused temporary code.” category: development risk: critical source: community source_repo: mbenhard/unship source_type: community date_added: …

阅读更多 →
嵌入式偶发Bug排查实战:串口假故障、蓝牙断开与烧录失败的差分定位法 2026/9/27 11:22:04

嵌入式偶发Bug排查实战:串口假故障、蓝牙断开与烧录失败的差分定位法

干嵌入式这行,最怕的不是那种逻辑写错、一查就出的硬 bug,而是“偶尔出现、一测就好、一放就坏、换个环境又消失”的偶发问题。你蹲在板子面前守了半天,它稳如老狗;你刚把示波器探头收起来,它又当场表演。尤其串口通信…

阅读更多 →
搞懂如何运营一个网站完整流程,别在备案上栽跟头 2026/9/27 11:21:58

搞懂如何运营一个网站完整流程,别在备案上栽跟头

搞懂如何运营一个网站完整流程,别在备案上栽跟头 你是不是也遇到过这种情况?网站代码写完了,UI也调好了,满心欢喜准备上线,结果卡在备案环节。看着工信部的系统提示,心里直打鼓,流程一头雾水,不知道先填什么、后传什么,更怕填错资料被驳回,白白浪…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉