news 2026/9/11 3:53:05

Snipe-IT 入门教程:从部署到资产出库的 4 步实操指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Snipe-IT 入门教程:从部署到资产出库的 4 步实操指南

Snipe-IT 入门教程:从部署到资产出库的 4 步实操指南

【免费下载链接】snipe-itA free open source IT asset/license management system项目地址: https://gitcode.com/GitHub_Trending/sn/snipe-it

Snipe-IT 是一款基于 Laravel 12 构建的开源 IT 资产管理系统,核心职责是回答三个问题:设备在谁手上、何时购买、何时到期。它覆盖硬件、软件许可证、配件与消耗品的全生命周期记录,支持 MySQL 数据库和 REST API,适合 IT 运维、学校机房和中小企业的设备管理场景。

一、环境搭建与首次运行

当你要在一台 Linux 服务器上跑起第一版资产台账时,最短路径是:克隆仓库、配好.env、生成密钥、迁移数据库。

前置条件:PHP 8.2 及以上(composer.json 声明)、Composer、Node.js、MySQL 8。

  1. 克隆仓库:git clone https://gitcode.com/GitHub_Trending/sn/snipe-it,进入目录。
  2. .env.example复制为.env,按下表调整 4 个关键项:
配置项说明
APP_URL对外访问地址,影响邮件链接与二维码内容
APP_KEY加密密钥,由 key:generate 生成
DB_CONNECTION / DB_HOST数据库驱动与地址,默认 mysql
DB_DATABASE / DB_USERNAME / DB_PASSWORD库名、账号与密码
  1. 安装依赖、构建前端资源并完成迁移:
composer install npm install && npm run production php artisan key:generate php artisan migrate --seed
  1. 用 Web 服务器将站点根目录指向public/,浏览器访问APP_URL配置的主机地址,出现登录页且能创建管理员账号,即首次运行成功。--seed会写入默认配置与初始数据,省去手工建库的多数工作。

二、核心使用流程

1. 资产录入的三种方式

方式适用场景入口
Web 界面逐条创建单台设备、少量新增资产菜单下的新建表单
CSV 批量导入存量设备一次性入库导入页,可参照sample_csvs/assets-sample.csv的列头准备文件
REST API与 HR、采购系统同步http://你的域名/api/v1/assets,使用个人访问令牌鉴权

批量导入支持厂商、分类、位置、采购日期、成本等约 20 个字段,列名需与模板一致,编码建议使用 UTF-8。

2. 资产的流转:checkout、checkin 与 request

录入之后,日常操作集中在两条链路上:

  • checkout(借出):把资产分配给用户,可选配件、许可证、消耗品一并绑定,并设置预期归还日期。
  • checkin(归还):收回资产,系统自动在 actionlog 中记录一条流转日志。

部分资产开启了"可自助申请"属性,此时流程变为"申请—管理员批准—借出":

3. 打印资产标签用于盘点

设置页(Labels 标签页)可选择显示条形码还是二维码,配置标签编号的前缀与自动填充规则。单台资产详情页提供标签预览与 PDF 输出,资产列表页支持勾选后批量打印,配合手持扫描设备即可完成现场盘点核对。

三、进阶配置

1. 自定义字段扩展资产表单

在自定义字段组页面为资产类型新增字段(如"购买渠道""保修截止日期"),字段支持文本、下拉、日期等类型,也可设置必填与正则校验。实现逻辑见 CustomField 模型。

2. 定时任务与自动告警

系统内置调度:开启告警开关后,库存低于阈值、资产临期、预期归还、审计提醒四类邮件每天发送;数据库备份每周执行,失效密码重置记录每 15 分钟清理一次。调度定义在 Console Kernel,命令实现位于 app/Console/Commands 目录。

3. 多公司数据隔离

在设置中打开FULL_MULTICOMPANY_SUPPORT后,资产、用户、位置等数据按公司维度隔离,管理员只能看到授权公司的记录。权限判定逻辑见 权限配置,公司范围过滤见 Company 模型。

四、常见问题

Q: 部署完成后打开页面提示 500,如何定位? A: 依次查看APP_KEY是否已由 key:generate 生成、.env中数据库三项是否可连通,再看storage/logs/laravel.log中的第一条异常栈。

Q: CSV 导入被整批拒绝? A: 对照sample_csvs/assets-sample.csv逐列核对列头名称与顺序,确认文件为 UTF-8 编码,资产标签列不能留空。

Q: 标签打印出来是空白或字符错位? A: 先确认打印机 PDF 驱动与纸张尺寸匹配;再核对标签页中前缀、自动填充数字位数等设置。

Q: API 返回 401 Unauthorized? A: 在个人资料页创建个人访问令牌并复制到请求头Authorization: Bearer中,同时确认令牌未被撤销。

Snipe-IT 的价值在于把"设备去向"从个人记忆变成可审计的数据库记录,部署一次即可长期复用。你在资产盘点中遇到过哪些难以人工核对的场景?欢迎留言交流你的处理办法。

【免费下载链接】snipe-itA free open source IT asset/license management system项目地址: https://gitcode.com/GitHub_Trending/sn/snipe-it

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 3:51:26

用Python+大模型Function Calling打造股票数据AI助手

做这个"股票数据AI助手"之前,我每天盘后干的事是这样的:打开行情软件手动翻一遍自选股,再把感兴趣的个股历史数据导出来,用Python写一长串pandas代码算波动率、换手率,最后把结果整理成表格发到群里。这一套…

作者头像 李华
网站建设 2026/9/11 3:50:24

多系统删除全指南:彻底卸载多余系统并修复引导

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 3:46:38

Java八种基本数据类型详解与应用实践

1. Java八种基本类型深度解析Java作为一门强类型语言,其基本数据类型(Primitive Types)是构成所有Java程序的基石。这八种基本类型可以分为三类:六种数字类型(4种整数型2种浮点型)、1种字符型和1种布尔型。…

作者头像 李华
网站建设 2026/9/11 3:46:30

基于SSM+MySQL的停车场管理系统:计费状态与并发控制实战解析

简介:基于SSMMySQL的停车场管理系统设计与实现资料包,专为毕业设计、课程设计及Java Web学习者打造,覆盖车辆进出管理、停车位监控、收费计费、统计报表等核心业务。资源内含项目全套源码、设计文档、部署说明和视频演示,共1223个…

作者头像 李华