Ubuntu通过宝塔面板安装Snipe-IT

宝塔搭建Snipe-IT

一、首先在宝塔面板新建一个PHP网站(PHP版本8.2以上)

在网站目录下,将自动生成的几个文件全部删除:
image

拉取Snipe-IT源码到网站根目录:
git clone https://github.com/grokability/snipe-it .
国内镜像:https://gitee.com/mirrors/Snipe-IT

赋予程序目录权限,应用与子文件夹
image

二、修改PHP设置

宝塔PHP默认禁用了部分存在危险的 PHP 函数,但是 Composer 需要使用到 putenv、proc_open、pcntl_signal,还需要安装 fileinfo 和 exif 扩展。(如果没有exif扩展,无法上传资产图片和用户头像,如果遇到其他问题,可以修改.env开启debug)

在PHP配置文件中,通过查找disable_function,删除后面的putenv,
image

image

image

image

image

三、新建数据库

在宝塔面板新建snipeit数据库

四、安装composer

安装composer

在网站根目录,打开终端,运行命令:
wget -O composer-setup.php https://getcomposer.org/installer

php composer-setup.php --install-dir=/usr/local/bin --filename=composer

查看安装的版本:composer -V

五、使用composer更新依赖

更新依赖命令:
composer update --no-plugins --no-scripts

Composer 在访问 GitHub API 时遇到了每小时 60 次的访问限制。你需要配置一个 GitHub OAuth token 来提高限额,让 composer update 命令可以继续运行。

步骤 1:创建 Fine-grained Token

直接点击 Composer 提供的这个专用链接(它已为你预填了推荐设置):
https://github.com/settings/personal-access-tokens/new?name=Composer+on+ubuntu2404+2026-03-18+0745

在打开的页面中:

Token name:可以保留默认的 "Composer on ubuntu2404 ..."

Expiration:根据需要选择过期时间(例如 30 天或 60 天),不建议选择 "No expiration"

Repository access:选择 "Public Repositories (read-only)"。因为你访问的是公共仓库 grokability/laravel-scim-server,这个选项足够

Permissions:保持默认即可(实际上 Public Repositories 模式下权限会自动设置为只读)

点击 "Generate token" 并立即复制生成的 token(页面刷新后就看不到了)

步骤 2:配置 Token 到 Composer

在命令行中执行以下命令(将 你的token 替换为刚刚复制的 token):
composer config --global github-oauth.github.com 你的token
这个命令会将 token 以明文形式存储在 /root/.config/composer/auth.json 中。

备注:如果访问拒绝,可能是安全原因,添加信任网站根目录即可:git config --global --add safe.directory /www/wwwroot/snipe-it.com

步骤 3:重新运行 Composer 命令

composer update --no-plugins --no-scripts

如果因网络原因无法拉取,可以更换使用国内镜像源:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

修改composer.json文件

  "repositories": [
    {
      "type": "composer",
      "url": "https://mirrors.aliyun.com/composer/",
      "canonical":false
    },
    {
            "type":"composer",
            "url":"https://repo.packagist.org"
    }

  "config": {
    "preferred-install": "dist",
    "sort-packages": true,
    "optimize-autoloader": true,
    "discard-changes": true,
    "process-timeout": 3000,
    "allow-plugins": {
      "dealerdirect/phpcodesniffer-composer-installer": true
    },
    "audit": {
            "ignore": [
                    "PKSA-67d7-mg8j-87zx",
                    "PKSA-bjyb-w14t-61js",
                    "PKSA-8x19-j2j3-bn67",
                    "PKSA-z3gr-8qht-p93v",
                    "PKSA-2cx9-ynrq-qdk3",
                    "PKSA-rqc2-tcc6-nc79"
            ],
            "block-insecure":false
    }
  }
}

清除composer缓存:composer clear-cache

重新运行 Composer:

composer update --no-plugins --no-scripts --with-all-dependencies

或者:
COMPOSER_PROCESS_TIMEOUT=2000 composer update --no-plugins --no-scripts --with-all-dependencies

COMPOSER_PROCESS_TIMEOUT=2000 设置 Composer 下载包时的网络超时时间,单位是秒
--with-all-dependencies 允许 Composer 在更新指定包时,同时更新其所有依赖项(包括依赖的依赖),以便解决版本冲突

六、修改程序配置文件

cp .env.example .env

编辑.env文件

APP_URL=http://IP:端口  (如果是IP地址访问就用IP,如果是域名访问,就用域名)
APP_TIMEZONE='Asia/Shanghai'    (修改时区)
APP_LOCALE='zh-CN'   (修改默认语言)

DB_DATABASE=snipeit
DB_USERNAME=snipeit
DB_PASSWORD=Passw0rd

七、生成密钥:

在网站根目录,终端运行:

php artisan key:generate

在出现的选项中选择yes

八、配置网站Nginx

运行目录pbluic

image

伪静态:laravel5

image

九、访问网站地址,进行程序初始化

第一步的URL错误可以忽略
image

image

十、系统设置

chrome浏览器可能显示格式有问题,有些图标无法显示
可以使用Edge浏览器访问网站

导入CSV格式,编辑好CSV文件后,需要另存为:CSV UTF-8 格式

image

参考:https://www.itca.cc/网站程序/38.html

posted @ 2026-03-18 12:59  红妹妹  阅读(96)  评论(0)    收藏  举报