目 录CONTENT

文章目录

Centos8+NGINX下部署IT资产管理系统Snipe-IT

Seven
2021-07-10 / 0 评论 / 4 点赞 / 3123 阅读 / 9997 字 / 正在检测是否收录...

image.png

什么是Snipe-IT?

Snipe-IT是一个基于Laravel 5.4构建的免费开源(FOSS)项目 。

Snipe-IT是一款开源的IT资产管理系统,该系统可以帮助IT部门跟踪各种信息化涉笔的生命周期。该系统可以管理信息设备(电脑、笔记本、打印机等)、各种许可证、软件、耗材等。

安装前我们 需要一台CentOS 8服务器和一个具有root用户权限的普通用户才能按照本指南在您的服务器上安装Snipe-IT。您可以使用sudo -i命令在非root用户和root用户之间切换。

Snipe-IT特点:

  1. 它是一个跨平台系统 – 适用于Linux,Windows和Mac OS X.
  2. 它适合移动设备,便于资产更新。
  3. 轻松集成Active Directory和LDAP。
  4. 用于签到/结帐的松弛通知集成。
  5. 支持一键式(或cron的)备份和自动备份。
  6. 支持谷歌器认证的可选双因素认证。
  7. 支持生成自定义报告。
  8. 支持自定义状态标签。
  9. 支持批量用户操作和用户角色管理,用于不同级别的访问。
  10. 支持多种语言,便于本地化等等。

还是和以往一样,附上官方说明文档
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 扩展。

image.png

image.png

image.png

image.png

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

image.png
安装完成!!!

创建数据库

请大家不要在宝塔面板直接创建数据库。最好自己手动创建,然后在宝塔面板里面同步数据库,就可以了。

  1. 以root用户身份登录Mysql
mysql -uroot -p
enter password:

root默认密码请在宝塔面板-数据库-root密码。这里可以自行修改密码。

  1. 创建数据库
create database snipeit;

数据库名为snipeit.
3. 验证数据库是否正确创建

show databases;
  1. 数据库创建Snipe-IT用户
create user snipedb
创建名为snipedb的数据库用户
  1. 在分配密码时授予权限
grant all on snipeit.* to 'snipedb'@'localhost' identified by 'YOUR_DB_PASSWORD_HERE';
给snipedb用户授权及分配密码
  1. 更新权限
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完成

image.png

现在再去打开 .env 的配置文件就会发现 APP_KEY= 这项自动生成了值。

添加网站

宝塔面板

添加站点
image.png
image.png
站点目录设置:(记得点保存)。
image.png

修改nginx配置文件;

image.png

在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进入飞行前设置:
image.png
下一步:
image.png
设置语言为中文:
image.png

至此安装完成。

4

评论区