
什么是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进入飞行前设置:

下一步:

设置语言为中文:

至此安装完成。
            
          
            
          
评论区