什么是Snipe-IT?
Snipe-IT是一个基于Laravel 5.4构建的免费开源(FOSS)项目 。
Snipe-IT是一款开源的IT资产管理系统,该系统可以帮助IT部门跟踪各种信息化涉笔的生命周期。该系统可以管理信息设备(电脑、笔记本、打印机等)、各种许可证、软件、耗材等。
安装前我们 需要一台CentOS 8服务器和一个具有root用户权限的普通用户才能按照本指南在您的服务器上安装Snipe-IT。您可以使用sudo -i命令在非root用户和root用户之间切换。
Snipe-IT特点:
- 它是一个跨平台系统 – 适用于Linux,Windows和Mac OS X.
- 它适合移动设备,便于资产更新。
- 轻松集成Active Directory和LDAP。
- 用于签到/结帐的松弛通知集成。
- 支持一键式(或cron的)备份和自动备份。
- 支持谷歌器认证的可选双因素认证。
- 支持生成自定义报告。
- 支持自定义状态标签。
- 支持批量用户操作和用户角色管理,用于不同级别的访问。
- 支持多种语言,便于本地化等等。
还是和以往一样,附上官方说明文档
https://snipe-it.readme.io/docs/introduction
环境准备:
Centos 8 +Nginx + PHP 7.4 + Mysql 5.7
也可以直接安装宝塔面板,或者Lnmpa环境包。
本文用的宝塔面板,之前用过Lnmpa环境包。安装配置大同小异。
安装前准备
1. 更新系统
yum -y install epel-release
yum update -y
2. 使用yum安装宝塔面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
如果不会安装,可以直接去官网:https://www.bt.cn/bbs/thread-19376-1-1.html 查看安装教程。特别简单,一句命令。
3. 安装需要的环境
首次进入宝塔面板,会提示你安装环境,LNMP还是LAMP,本文使用的是Lnmp,注意选择安装版本,nginx 1.20 mysql 5.7 PHP 7.4 phpMyAdmin 5.0 (用来管理数据库)
3. 配置PHP扩展
默认禁用了部分存在危险的 PHP 函数,但是 Composer 需要使用到 putenv、proc_open、pcntl_signal,还需要安装 fileinfo 扩展。
Snipe-IT 安装
下载Snipe-IT 源文件
wget https://github.com/snipe/snipe-it/archive/refs/tags/v5.1.8.tar.gz
将文件解压到/www/wwwroot/snipe-it
tar -xzvf v5.1.8.tar.gz -C /www/wwwroot/snipe-it
设置目录权限
cd /www/wwwroot/snipe-it
chown -R www:www storage public/uploads
chmod -R 755 storage public/uploads
安装 Composer
cd /www/wwwroot/snipe-it
curl -sS https://getcomposer.org/installer | php
cp composer.phar /usr/bin/composer
composer config -g repo.packagist composer https://packagist.phpcomposer.com ##非必须,这句是把composer的源更换为阿里云。
php composer.phar install --no-dev --prefer-source ##安装PHP依赖,如果这句运行有报错,多数是因为PHP版本问题,在命令后面加参数; --ignore-platform-reqs ;意思是忽略版本检查。
composer config -g --unset repos.packagist ##恢复源原始状态
这里需要比较长的时间,如果安装过程中报错,或者网络不太好,都会出现失败,大家可以多运行几次安装命令:下面我把完全安装命令再打印一次在下面:
php composer.phar install --no-dev --prefer-source --ignore-platform-reqs
安装完成!!!
创建数据库
请大家不要在宝塔面板直接创建数据库。最好自己手动创建,然后在宝塔面板里面同步数据库,就可以了。
- 以root用户身份登录Mysql
mysql -uroot -p
enter password:
root默认密码请在宝塔面板-数据库-root密码。这里可以自行修改密码。
- 创建数据库
create database snipeit;
数据库名为snipeit.
3. 验证数据库是否正确创建
show databases;
- 数据库创建Snipe-IT用户
create user snipedb
创建名为snipedb的数据库用户
- 在分配密码时授予权限
grant all on snipeit.* to 'snipedb'@'localhost' identified by 'YOUR_DB_PASSWORD_HERE';
给snipedb用户授权及分配密码
- 更新权限
flush privileges;
exit;
然后退出mysql;
创建配置文件
cd /www/wwwroot/snipe-it
cp .env.example .env
vim .env
编辑 .env 配置文件,根据说明并修改
# --------------------------------------------
# REQUIRED: BASIC APP SETTINGS
# --------------------------------------------
APP_ENV=production
APP_DEBUG=false # 排错的时候这个改为true
APP_KEY=ChangeMe # 不要手动改它,不要手动改它,不要手动改它。下一步会自动生成。
APP_URL=null # 设置Snipe的域名,这里填什么就确定了用这个域名访问时才能看到图片
APP_TIMEZONE='Asia/Shanghai' # 时区设置
APP_LOCALE=zh-CN # 默认语言
MAX_RESULTS=500
# --------------------------------------------
# REQUIRED: UPLOADED FILE STORAGE SETTINGS
# --------------------------------------------
PRIVATE_FILESYSTEM_DISK=local
PUBLIC_FILESYSTEM_DISK=local_public
# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=mysql
DB_HOST=127.0.0.1 # 数据库地址
DB_DATABASE=snipeit # 数据库名
DB_USERNAME=snipedb # 数据库用户名
DB_PASSWORD=****** # 对应的密码。
DB_PREFIX=null
DB_DUMP_PATH='/usr/bin'
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci
配置后面有很多,可以先不用,最后使用最多的应该就是发送通知邮件的配置,等安装完后,可以慢慢去配置。
生成key
cd /www/wwwroot/snipe-it
php artisan key:generate #在提示后面输入yes完成
现在再去打开 .env 的配置文件就会发现 APP_KEY= 这项自动生成了值。
添加网站
宝塔面板
添加站点
站点目录设置:(记得点保存)。
修改nginx配置文件;
在server: 节点添加以下配置
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri $uri/ =404;
fastcgi_pass unix:/tmp/php-cgi-74.sock;;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
完整配置文件如下:
server
{
listen 80;
server_name 111.111.111.111;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/snipe-it/public;
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#SSL-END
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
#error_page 404 /404.html;
#error_page 502 /502.html;
#ERROR-PAGE-END
#PHP-INFO-START PHP引用配置,可以注释或修改
include enable-php-74.conf;
#PHP-INFO-END
#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
include /www/server/panel/vhost/rewrite/111.111.111.111.conf;
#REWRITE-END
#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}
#一键申请SSL证书验证目录相关设置
location ~ \.well-known{
allow all;
}
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri $uri/ =404;
fastcgi_pass unix:/tmp/php-cgi-74.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log /dev/null;
access_log /dev/null;
}
location ~ .*\.(js|css)?$
{
expires 12h;
error_log /dev/null;
access_log /dev/null;
}
access_log /www/wwwlogs/111.111.111.111.log;
error_log /www/wwwlogs/111.111.111.111.error.log;
完成基本配置。
初始化Snipe-IT
在浏览器上输入IP进入飞行前设置:
下一步:
设置语言为中文:
至此安装完成。
评论区