ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

1Panel 印尼语技术指南:开源 Linux 服务器管理面板的架构解析、快速安装与安全机制

1Panel 印尼语技术指南:开源 Linux 服务器管理面板的架构解析、快速安装与安全机制 1Panel 印尼语技术指南开源 Linux 服务器管理面板的架构解析、快速安装与安全机制【免费下载链接】1Panel 1Panel is a modern, open-source Linux server management panel and a lightweight AI management platform.项目地址: https://gitcode.com/GitHub_Trending/1p/1Panel本文基于 1Panel 仓库的官方印尼语文档docs/README.id.md撰写系统讲解这款现代开源 Linux 服务器管理面板的核心能力、仓库双模块core agent架构、一键安装方式以及 API 鉴权、防火墙、审计日志与云备份等安全机制帮助读者在掌握功能全貌的同时理解其源码级实现。一、什么是 1Panel核心能力总览根据官方文档描述1PanelPaneladalah panel kontrol berbasis web yang modern dan open-source untuk manajemen server Linux一个现代化、开源的 Web 控制面板用于 Linux 服务器管理。结合项目描述它同时也是一个轻量级的 AI 管理平台。原文档列出的五大核心能力如下后文将逐一结合仓库源码佐证其实现能力官方说明印尼语原文要点仓库实现佐证Manajemen Efisien高效管理通过友好的 Web 图形界面管理 Linux 服务器涵盖主机监控、文件管理、数据库管理和容器管理agent/service/ 下包含 monitor.go、file.go、database.go、[container.go)(agent/service/container.go) 等服务实现Penyebaran Situs Web Cepat网站快速部署深度集成开源建站软件 WordPress简化域名绑定与 SSL 证书配置一键完成agent/service/website_op.go、agent/utils/ssl/基于 go-acme/lego 的 ACME 证书客户端Toko Aplikasi应用商店提供大量优质开源工具与应用方便安装与更新agent/service/app_install.go、agent/service/app_upgrade.go、agent/model/app_detail.goKeamanan dan Keandalan安全与可靠性借助容器化技术与安全的应用部署实践降低漏洞暴露面通过集成的防火墙管理与审计日志增强安全agent/utils/firewall/iptables/nftables 双引擎、agent/middleware/operation.go 操作审计Cadangan Pulih Satu Klik一键备份与恢复一键备份/恢复功能简化数据保护支持多种云存储方案保障数据完整性与可用性agent/service/backup.go 及 backup_mysql.go 等按对象类型的备份实现二、仓库架构core 与 agent 双 Go 模块设计从源码结构看1Panel 采用「面板服务 主机代理」的双模块架构两个独立 Go module 通过 Makefile 统一构建coremodule github.com/1Panel-dev/1Panel/core见 core/go.mod负责 Web 面板服务提供登录认证、会话管理、前端静态资源与对外 API。其 core/app/auth/api_auth.go 实现 API Key 鉴权core/middleware/session.go、core/init/session/psession/ 负责会话安全还支持 MFAcore/utils/mfa/、WebAuthn Passkeycore/utils/passkey/、SAML/OIDC 单点登录依赖crewjam/saml、coreos/go-oidc见 core/go.mod。agentmodule github.com/1Panel-dev/1Panel/agent见 agent/go.mod部署在目标主机上直接执行资源监控、文件操作、Docker 容器管理、数据库管理、防火墙与快照等重活。关键依赖包括docker/docker、compose-go、shirou/gopsutil主机指标采集封装于 agent/utils/psutil/、go-sql-driver/mysql、jackc/pgx、go.mongodb.org/mongo-driver与go-redis/redis说明其对 MySQL、PostgreSQL、MongoDB、Redis 四类数据库的原生管理是有源码依据的。两个模块均为 Go 1.26.1见两个 go.mod 的go 1.26.1声明Web 入口分别为 core/cmd/server/main.go 与 agent/cmd/server/main.go后者同时携带 Swagger 注解BasePath /api/v2即 Agent 暴露的 REST API 前缀为/api/v2。前端技术栈管理界面位于 frontend/从 frontend/package.json 可确认其技术栈Vue 3.5 Element Plus 2.14 Vite Pinia Tailwind CSS并集成 CodeMirror/Monaco在线编辑器、ECharts监控图表、xterm.js 与 noVNCWeb 终端。Makefile 中的build_frontend目标执行npm install npm run build:pro产物嵌入 core 的静态资源目录core/cmd/server/web/assets。三、快速开始一键安装官方文档「Panduan Cepat Memulai快速开始指南」给出的安装方式为运行官方脚本并跟随提示完成安装curl -sSL https://resource.1panel.pro/quick_start.sh -o quick_start.sh bash quick_start.sh文档同时引导读者查阅其官方部署文档获取更多安装信息安装过程会交互式选择面板端口、登录用户名与密码等详见官方文档站。对于开发者也可以直接浏览本仓库源码来理解其实现Makefile 提供了本地交叉编译目标build_all: build_frontend build_core_on_linux build_agent_on_linux build_core_on_linux: cd $(CORE_PATH) \ CGO_ENABLED0 GOOS$(GOOS) GOARCH$(GOARCH) $(GOBUILD) -trimpath -ldflags -s -w -o $(BUILD_PATH)/$(CORE_NAME) $(CORE_MAIN)即build_all会先构建前端再以CGO_ENABLED0静态编译1panel-core与1panel-agent两个二进制-ldflags -s -w用于去除符号表减小体积并提供upx_bin目标进一步压缩。四、安全机制API 鉴权、防火墙与漏洞报告4.1 API Key 鉴权算法文档强调 1Panel 通过「防火墙管理与审计日志」提升安全性。从源码看Agent 对外 API 采用自定义 Token 鉴权agent/cmd/server/main.go 的 Swagger 注解明确了算法Token 格式: md5(1panel API-Key UnixTimestamp) 请求示例: curl -X GET http://{host}:{port}/api/v2/toolbox/device/base \ -H 1Panel-Token: 1panel_token \ -H 1Panel-Timestamp: current_unix_timestamp即调用方需将 API Key 与当前 Unix 秒级时间戳拼接为1panel{API-Key}{timestamp}后取 MD5放入1Panel-Token请求头并将时间戳放入1Panel-Timestamp请求头core 侧对应校验逻辑可参见 core/app/auth/api_auth.go。时间戳参与签名使重放攻击失效这一细节是阅读源码才能获得的实现事实。4.2 防火墙与审计防火墙管理位于 agent/utils/firewall/包含iptables_helper与nftables_helper两套引擎并通过 agent/service/firewall_sync.go、agent/service/firewall_docker.go 等实现规则同步与 Docker 端口联动防护agent/repo/docker_port_guard.go 提供容器端口守护。审计日志agent/middleware/operation.go 与 core/middleware/operation.go 作为 Gin 中间件记录操作行为与文档「kemampuan audit log审计日志能力」的描述一致。4.3 漏洞报告渠道文档「Informasi Keamanan安全信息」部分指出发现安全问题请通过wanghefit2cloud.com联系团队。这与仓库的 SECURITY.md 完全一致——该文件声明当前支持 v1.x 版本的安全维护并请求报告者在补丁发布前不要对外披露漏洞改为邮件发送给上述地址。五、备份与多云存储文档「Cadangan Pulih Satu Klik」的源码印证文档称 1Panel 支持「berbagai solusi penyimpanan cloud多种云存储解决方案」。agent/utils/cloud_storage/client/ 目录中的客户端文件印证了其覆盖范围文件云存储/协议s3.go通用 S3 协议oss.go / ali.go阿里云 OSScos.go腾讯云 COSkodo.go / up.go七牛 Kodo / 又拍云onedrive.go / google_drive.goOneDrive / Google Drivewebdav.goWebDAVsftp.goSFTPminio.goMinIOlocal.go本地存储上层 agent/service/backup.go 配合 backup_mysql.go、backup_website.go、backup_container.go 等按对象类型实现备份另有 agent/service/snapshot.go、snapshot_create.go 实现系统级快照与恢复与文档「cadangan dan pulih satu klik一键备份与恢复」的承诺相对应。六、许可证License与文档一致1Panel 在GNU General Public License v3 (GPLv3)下发布许可文本见 LICENSESECURITY.md 与两份 main.go 的 Swagger 注解license.name GPL-3.0也均指向同一许可。文档原文说明未遵循许可证条款不得使用相关代码且软件按「现状APA ADANYA」提供不附任何明示或默示担保——具体权利与限制以 GPL v3 许可证文本为准。七、小结1Panel 以「core 面板服务 agent 主机代理」的双 Go 模块架构将主机监控、文件、数据库、容器、网站建站、应用商店、防火墙、审计日志与多云备份统一到 Web 界面中官方提供的一行 curl 脚本即可完成安装开发者则可通过 Makefile、core/、agent/ 与 frontend/ 三个入口深入阅读其实现。本文所有架构与功能结论均可在对应源码路径中逐条验证。【免费下载链接】1Panel 1Panel is a modern, open-source Linux server management panel and a lightweight AI management platform.项目地址: https://gitcode.com/GitHub_Trending/1p/1Panel创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表