一款优秀的IT资产管理系统-Snipe-IT 安装及用户手册中文版(一安装部署篇)-程序员宅基地

技术标签: 资产管理  php  lavarel  IT  snipe  

因为一直在单位里负责IT方面的工作,对于IT资产管理的需求就比较大,人多设备多,管理起来相对就比较麻烦,尤其是人员变动比较快,时间久了,翻账本太麻烦,而且日常的一些设备、授权等等变动更加频繁,所以就要找一款好用的资产管理类的软件。

找来找去,此类软件有个特点,国内的收费,还很高,但是集成度和自动化程度高,例如上海一家公司出品的卖软件还带设备,什么标签打印机,盘点机一样不缺,但是对于我们这种比较穷的单位,而且需求又没有那么多,只是一个全生命周期的管理,用不着这么复杂的设备介入,所以就找国外的吧,看看有没有什么开源可用的,因为我个人对Php方面略懂,主要就找了PHP类的,方便对源码的修改和个性化定制开发一些功能;找了很久也没有找到合适的,甚至于都动了自己开发的念头,说实话,也开发了一部分,利用thinkphp的框架做了一点点,做到没有头绪的时候,偶然间发现了Snipe-IT,这才发现这款开源的资产管理系统正是自己需要的,而且操作简单,功能也能充分满足需要,真的可以说是面向IT部门定制的一款管理系统。

Snipe-IT 是一个开源的资产管理系统。Snipe-IT 用于IT资产管理,IT部门通过它能够跟踪谁拥有哪台笔记本电脑、何时购买、包含哪些软件许可证和可用的附件等等,当然还可以随时的调出调入,申请设备和维修等等;不过,整个的资料基本上都是英文版的,没有中文,而且对于安装各方面,整个也都是互联网部署为主,需要使用composer安装依赖关系;如果想在不连接互联网的网络上部署,就需要在互联网端部署后再迁移,我就是这么做的,当然等于互联网端开发测试好之后,于内部网络使用。

我的部署环境以Windows为主,对整个Snipe-IT从安装到使用,算是做了一个完全中文化的演示和说明吧,今天先写第一部分安装部署吧。

 

看了很多的信息化资产的系统,最后选择了使用Snipe-IT,前前后后找了很多的资料,因为相对比较简单,所以资料也好,手册也好,也都是比较少,而且还都是英文的,当然了基于Laravel构建的Snipe-IT,更多的还是要去找框架本身去学习。

有些简单的事情还是要去做的, 我已经部署好,并且也修改了很多的代码以满足自己在内部网络的使用,在此一一跟大家分享。下面将Snipe-IT从安装部署到使用以及修改代码进行一一分享;其中翻译的中文手册,因为英文水平一般,主要还是结合自己的理解跟大家尽量的解释清楚,不当之处,还请斧正。

手册内容同步https://snipe-it.readme.io/docs/

 

第一章节:下载与安装(Windows下示例)

1、环境部署-web服务安装支持

很多人都喜欢自己一个一个的去安装apache和php,mysql组建完整的应用环境,但是这样做相对复杂,秉承不重复造轮子的理念,我还是喜欢直接使用快捷的环境安装包来实现,linux下可以使用的是lamp,而在Windows环境下这种集成安装包就多了,我个人还是非常喜欢使用Xampp的,更新速度快,使用也方便,另外大家也可以使用phpstudy一个纯中文的集成环境面板。

xampp下载地址:https://www.apachefriends.org/index.html

 

 

 

 

 

根据Snipe-IT的部署要求,推荐下载7.4.19版本(Snipe-IT要求的好像就是7.1以上)。

安装包下载地址:

https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/7.4.19/xampp-windows-x64-7.4.19-0-VC15-installer.exe/download

 

下载后直接双击,根据提示安装即可,因为安装步骤非常简单,不再赘述。

 

根据个人需要调整自定义安装组件,上图即为我个人选择的组件,默认是勾选全部。

 

接着要注意配置系统环境路径变量,将Php可执行文件目录加入到Path中,方便调用。

 

运行xampp控制面板,修改php.ini,开启功能扩展。

extension=bz2

extension=curl

;extension=ffi

;extension=ftp

extension=fileinfo

extension=gd2

extension=gettext

;extension=gmp

;extension=intl

;extension=imap

extension=ldap

extension=mbstring

extension=exif      ; Must be after mbstring as it depends on it

extension=mysqli

;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client

;extension=odbc

;extension=openssl

;extension=pdo_firebird

extension=pdo_mysql

extension=pdo_oci

extension=pdo_odbc

extension=pdo_pgsql

extension=pdo_sqlite

;extension=pgsql

;extension=shmop

;extension=soap

extension=sockets

;extension=sodium

;extension=sqlite3

;extension=tidy

;extension=xmlrpc

;extension=xsl

将前面的分号去掉即可启用;看列表配置,然后设置后保存,并启动apache和mysql,看是否可以正常启动。

 

 

2、环境部署-安装composer,管理Php依赖关系;

下载地址:https://getcomposer.org/Composer-Setup.exe

 

下载完成后,双击安装,如果出现OCI.dll缺失的错误提示,则可以在网上搜索该dll文件,下载后放到Windows/system32/ ,64位系统放到sysWOW64目录下

 

出现缺失的问题一般发生在Windows7上,Windows10测试无此问题。

 

选择xampp下的Php命令行执行的目录;

 

3、环境部署-配置MySQL

通过xampp的管理打开phpmyadmin,需要做两项处理;首先是设置新的用户,为了安全配置好数据库账户,只需要连接和查询、写入、删除的权限,可以指定本地登录,为方便维护,也可以指定ip远程连接;其次是要建立新的数据库,编码方式按照Snipe-IT的要求,使用utf8mb4-unicode。xampp安装后,MySQL的root密码为空,但仅限于本地登录访问。

 

4、环境部署-解压缩Snipe-IT到网站目录下htdoc

\xampp\htdocs\snipe-it

在该目录下,通过命令行 xcopy .env.example .env 得到.env文件,直接复制粘贴进行改名时会报错。

 

编辑得到的.env文件,修改mysql连接信息;

 

5、环境部署-composer安装依赖

继续在当前目录下执行命令composer,看是否可以正常运行,一般情况下,在安装composer时会选择Php安装路径,并且会有add to path的选择,一定要注意勾选,勾选后会自动添加到系统的path变量中,方便在各个目录中调用。

 

 

输入composer出现版本提示即表示已经加入到了系统path变量下,可以随时调用,此时重新执行命令 composer update

 

等待命令执行完成后会发现网站目录下增加了一个vendor目录。

 

vendor目录则是通过composer自动下载安装的依赖库,主要是存放了第三方的类库文件,以及laravel框架的源码。

提示:如果发现下载失败或者超时,是因为访问国外源repo.packagist 的原因,此时可以通过命令行更改为使用国内源后再重新执行composer update。

方法一: 修改 composer 的全局配置文件(推荐方式)

打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

 

方法二: 修改当前项目的 composer.json 配置文件:

打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是 composer.json 文件所在目录),执行如下命令:

composer config repo.packagist composer https://packagist.phpcomposer.com

调整设置后,执行命令composer install

完成安装后,执行 php artisan key:generate  生成应用程序密钥。

 

6、环境配置-修改php.ini指定网站目录

通过xampp的apache 配置项,修改httpd.conf配置文件, 指定网站目录到snipe-IT目录,无需指定到public目录,同时修改snipe-IT下的Index.php,添加跳转指定到public。如果直接指定到public目录下,会出现异常错误。

 

 

 

 

修改后重启apache

7、网站运行部署;

打开浏览器http://localhost/public/

可以看到Valid选项全部为绿色的对号,那么点击右下角“Next:Create Database Tables”,创建数据表操作。稍等一会儿,浏览器的圈圈转完代表完成创建表的操作,会自动跳转到创建用户界面。这里snipe做的不好,应该有一个创建表的实时反馈信息就更好一些了。

 

提示数据表创建完成,点击“Next Create User”,创建用户。

 

这个没有什么好说的了吧,自己根据需要填写即可,只需注意后面带有橙色竖纹的为必录项,且密码不得少于8位。

点击“Next Save User”后,稍等即进入主页面。

 

页面布局简洁、直观、实用,具体的应用和功能后面继续。

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiaomage_cn/article/details/117104290

智能推荐

react之antd组件InputNumber控制小数点_antd inputnumber decimalseparator-程序员宅基地

文章浏览阅读3.9k次。InputNumber控制用户输入小数点的个数在项目过程中有个需求,需要控制用户输入小数点的个数问题。话不多说上代码://输入框绑定方法<InputNumber style={{ width: '100%' }} formatter={limitDecimals} parser={limitDecimals}/>方法:const limitDecimals = (value: string | number): string => { const reg_antd inputnumber decimalseparator

matlab 约束条件下三元函数的图像问题_三元函数图像-程序员宅基地

文章浏览阅读4.1k次,点赞5次,收藏15次。题目:绘制z=x+y,0<x<1,0<y<1,0.5<x+y<1(0.5<z)约束条件下的图像代码:clc;clear;x=0:0.01:1;y=0:0.01:1;[xx,yy]=meshgrid(x,y);[m,n]=size(xx); for i=1:m for j=1:n z(i,j)=x(i)+y..._三元函数图像

linux下恢复误删除oracle的数据文件_oracle 数据文件误删 linux-程序员宅基地

文章浏览阅读480次。场景描述:操作系统级别的删除数据文件(/oracle/oradata/ora10g/system1.dbf),而且数据库没有崩溃,仍然处于open状态。原理:在Linux操作系统中,如果文件从操作系统级别被删除掉,之前打开该文件的进程仍然持有相应的文件句柄,所指向的文件仍然可以读写,并且该文件的文件描述符可以从/proc目录中获得。如果关闭数据库,则句柄就会丢失。恢复步骤如..._oracle 数据文件误删 linux

VScode 自定义代码颜色、背景颜色、方法名、括号颜色-程序员宅基地

文章浏览阅读10w+次,点赞108次,收藏323次。自学前端刚开始的时候使用Hbuilder,Hbuilder界面设计的很小清新,我特别喜欢,代码提示啥方面做的也特别好,很好上手,作为小白我用了很长一段时间。后来浅浅学习微信小程序开发,得写wxml,Hbilder上没有wxml格式的代码提示,代码高亮等。于是我用了一段时间vscode,在网上按推荐安装了很多花里胡哨的插件呢。给我感觉是不好上手。于是后来又接触了sublime,sublime相比..._vscode 自定义代码颜色、背景颜色、方法名、括号颜色

深度学习框架Tensorflow学习与应用 图像数据处理之二_tensorflow深度学习框架实现了对图像亮度的调整-程序员宅基地

文章浏览阅读255次。四:图像色彩调整 和图像翻转类似,调整图像的亮度、对比度、饱和度和色相在很多图像识别应用中都不会影响识别结果。所以在训练神经网络模型时,可以随机的调整训练图像的这些属性,从而使训练得到的模型尽可能地受到无关因素的影响。话不多说,上代码了。注意:路径要用英文,不要有中文(一)调整亮度与调整对比度import matplotlib.pyplot as pltimport tensorf..._tensorflow深度学习框架实现了对图像亮度的调整

《ASP.NET5》无法路由到Web API Controller控制器_.net的web无法访问到控制器-程序员宅基地

文章浏览阅读5.6k次。这个标题不知道恰当不恰当,具体的问题就是我在一个现有的项目上创建了一个Web API Controller Class,但是按F5启动调试后,通过给定的路径如“http://localhost:3753/api/values/5”访问Get(int id)方法时,没有反应,设置了断点也进不去。但这个问题在网上又没有找到解决方法,于是又新建了一个ASP.NET Web Application类型的项_.net的web无法访问到控制器

随便推点

嵌入式Linux开发板_迅为iTOP-4412精英版入门篇(一)_4412开发入门-程序员宅基地

文章浏览阅读911次,点赞2次,收藏4次。迅为iTOP-4412开发板平台,ARM Cortex A9架构,主频1.4GHz-1.6GHz,1GB 双通道 DDR3(2GB 可选),4GB EMMC(16GB 可选),提供多种外接模块,如:RFID模块、继电器模块、CAN总线 RS485总线模块、串口转接板、矩阵键盘模块、AVIN模块、GPS模块、VGA模块、500万摄像头模块、WIFI/蓝牙模块等。拥有丰富的板载接口以及众多配套扩展模块,并提供丰富的学习教程与资源,是嵌入式Linux学习与开发最佳选择。_4412开发入门

扫荡倾斜摄影单体化难题_进行模型单体化容易遇到哪些问题-程序员宅基地

文章浏览阅读5.2k次,点赞6次,收藏27次。单体化问题的由来 我们先来说说什么是“单体化”。“单体化”其实指的就是每一个我们想要单独管理的对象,是一个个单独的、可以被选中的实体(Entity);即用鼠标点击时可以显示为不同颜色(称为“高亮”)显示,可以附加属性,可以被查询统计等等。只有具备了“单体化”的能力,数据才可以被管理,而不仅仅是被用来查看。 对于人工建模而言,单体化是一个不言而喻的事情。即在人工建模的过程中,自然会把需要单独管理的_进行模型单体化容易遇到哪些问题

snakeyaml自定义pojo写入yml文件时属性字段排序问题_snakeyaml 写入yaml-程序员宅基地

文章浏览阅读1.1k次。snakeyaml自定义pojo写入yml文件时属性排序问题解决。_snakeyaml 写入yaml

使用jbpm出现异常 java.lang.NoClassDefFoundError: de/odysseus/el/ExpressionFactoryImpl-程序员宅基地

文章浏览阅读2.9k次。java.lang.NoClassDefFoundError: de/odysseus/el/ExpressionFactoryImpl at org.jbpm.pvm.internal.script.JuelScriptEngine.(JuelScriptEngine.java:66) at org.jbpm.pvm.internal.script.JuelS_java.lang.noclassdeffounderror: de/odysseus/el/expressionfactoryimpl

浅谈安全运营中心-程序员宅基地

文章浏览阅读1.9k次,点赞2次,收藏6次。最近两年安全运营中心这个概念被提到的次数越来越多了,虽然没有一个建设的标准模式,但很多大厂都在提,也号称有了各种落地。那么,到底是怎样呢。_安全运营中心

mysql 序列化缓存到txt文件查找数据与直接查找数据 性能对比,13,601条数据文件缓存平均0.085秒后只需0.025秒 推荐 程序员导航网http://www.je666.com_je666com-程序员宅基地

文章浏览阅读2.8k次。推荐 程序员导航网http://www.je666.comCREATE TABLE IF NOT EXISTS `ylmf_site_search` ( `id` int(11) NOT NULL, `displayorder` int(11) NOT NULL, `pinyin` varchar(255) CHARACTER SET gbk NOT NULL,_je666com

推荐文章

热门文章

相关标签