当前位置: 首页 > news >正文

ubuntu22.04部署Snipe-IT

文章目录

  • 参考链接
  • 一、写在前
  • 二、安装操作系统
  • 三、安装 PHP
  • 四、下载 Snipe-IT
  • 五、安装依赖
  • 六、安装数据库并创建用户
  • 七、安装 Snipe-IT
  • 八、安装 Nginx
  • 九、Web 继续安装 Snipe-IT
    • 补充:
  • 最后


参考链接

How to Install Snipe-IT on Ubuntu 22.04
https://www.rosehosting.com/blog/how-to-install-snipe-it-on-ubuntu-22-04/
官方手册:https://snipe-it.readme.io/v7.1.17/docs/installation
IT打工人利器:推荐两款开源的公司固定资产管理工具
https://cloud.tencent.com/developer/article/2407425
在安装snipe-it中遇到的坑
https://www.cnblogs.com/mingxi/p/18293822


一、写在前

踩的坑多了,悟出的心得:
a.安装前一定要先找官方文档,查看软件的依赖环境,以及软件对应的版本信息
b.我使用的官方教程(默认克隆的最新版),教程里写的是PHP8.1即可,但其实最新版需要的是PHP8.2,所以导致安装失败,
在这里插入图片描述

二、安装操作系统

建议选择最小化安装(系统安装过程略)

apt install net-tools -y
apt -y install wget
apt install psmisc -y
apt install vim -y
apt install eple-r* -y
apt install curl -y
apt install git -y
apt update -y

查看系统版本
在这里插入图片描述

三、安装 PHP

根据Snipe-IT文档页面,v7.1.17版本要求PHP版本在8.1及以上。Ubuntu 22.04附带了PHP 8.1.2。在这一步中,我们将直接安装PHP 8.1以及所需的扩展。

# apt install php8.1-{bcmath,common,ctype,curl,fileinfo,fpm,gd,iconv,intl,mbstring,mysql,soap,xml,xsl,zip,cli}

四、下载 Snipe-IT

使用下面的命令导航到您的Web服务器的根目录。没有就新建

cd /var/www/html

然后,克隆Snipe-IT GitHub仓库并使用下面的命令将内容保存到snipe-it目录中。

git clone https://github.com/snipe/snipe-it snipe-it
//一定要注意:上面克隆的是最新版8.0.3,ubuntu版本仓库默认的PHP版本不支持,
//使用git回退版本
git clone --branch v7.1.17 https://github.com/snipe/snipe-it.git snipe-it    //此操作回退的是标签,不能当做安装包使用,需要创建分支//创建分支
git switch -c snipe-it-v7.1.17
//有的说回退版本
git checkout v7.1.17   //没尝试

五、安装依赖

Composer是一个PHP包管理器,它允许我们管理我们在Snipe-IT中使用的各种供应商包的依赖关系。供应商包是其他人编写的PHP库,我们在Snipe-IT中使用它。
不需要全局安装composer,第一组命令主要用于全局安装 Composer,而第二组命令用于项目内安装 Composer 并安装项目依赖。如果你需要在多个项目中使用 Composer,全局安装更为方便;如果希望每个项目有独立的 Composer 环境,避免不同项目之间的依赖冲突,项目内安装是更好的选择。

cd /var/www/html/snipeit/
curl -sS https://getcomposer.org/installer -o composer-setup.php
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
cd /var/www/html/snipeit/
curl -sS https://getcomposer.org/installer | php
php composer.phar install --no-dev --prefer-source

要检查Composer版本,可以运行以下命令:

# composer -V

六、安装数据库并创建用户

Snipe-IT基于Laravel 8框架。虽然Laravel支持MySQL/MariaDB、PostgreSQL、SQLite和MSSQL,但Snipe-IT只支持MySQL/MariaDB。在这一步中,我们将从默认存储库安装MariaDB服务器。要安装MariaDB服务器,执行以下命令:

apt install mariadb-server -y
//创建数据库
mysql
mysql> CREATE DATABASE snipeit;
mysql> show databases;
mysql> create user snipeit;
mysql> GRANT ALL ON snipeit.* TO snipeit@localhost identified by '1qaz@WSX';
mysql> FLUSH PRIVILEGES;
mysql> \q

七、安装 Snipe-IT

cd /var/www/html/snipe-it
cp .env.example .env
vim .env

输入您的应用程序URL和时间区

APP_URL=http://172.0.0.110
APP_TIMEZONE='Asia/Shanghai'
APP_LOCALE='zh-CN'

然后在数据库设置下,输入您的数据库凭据

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=snipeit
DB_USERNAME=snipeit
DB_PASSWORD=1qaz@WSX
DB_PREFIX=null

设置Snipe-IT数据目录的所有权和权限。

# chown -R www-data: /var/www/html/snipe-it
# chmod -R 775 /var/www/html/snipe-it

接下来,更新Snipe-IT依赖项。

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

更新Composer后,我们需要执行以下命令来安装所有应用程序依赖。(我对这步表示疑惑,但还是执行了)

# composer install --no-dev --prefer-source --no-plugins --no-scripts

在/var/www/snipe-it/。使用下面的命令生成Laravel APP Key-value。系统会自动把key填充到.env文件中。

# php artisan key:generate

八、安装 Nginx

Laravel支持多种web服务器,如Apache、Nginx或Litespeed。在这一步中,我们将安装和配置nginx。让我们先安装它,然后继续下一步。

# apt install nginx

安装后,nginx将自动启动,并且它已经配置为在重新启动时运行。所以,我们可以继续为我们的Snipe-IT网站创建一个新的nginx服务器块。

vim /etc/nginx/conf.d/snipeit.conf

在文件中插入以下内容,并确保将snipeit.yourdomain.com替换为指向服务器IP地址的实际域名或子域名。

server {listen 80;server_name snipeit.yourdomain.com;   //注意替换并删除我root /var/www/html/snipe-it/public;index index.php;location / {try_files $uri $uri/ /index.php?$query_string;}location ~ \.php$ {include fastcgi.conf;include snippets/fastcgi-php.conf;fastcgi_pass unix:/run/php/php8.1-fpm.sock;fastcgi_split_path_info ^(.+\.php)(/.+)$;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
}

保存文件,然后退出。我们需要重新启动nginx来应用我们所做的更改。

# systemctl restart nginx

九、Web 继续安装 Snipe-IT

此时,我们可以导航到http://172.0.0.110并通过web浏览器继续安装。
这一步如果访问失败(页面显示:500),那大概率是安装包权限问题,
新建一个用户:useradd snipeit,
并将安装包chwon -R snipeit: snipe-it和chmod -R 775 snipe-it/
然后重启再尝试
在这里插入图片描述
Next
在这里插入图片描述
已创建数据库表;现在单击Next: Create User继续。
在这里插入图片描述
单击下一步:保存用户在这里插入图片描述
到这里已安装完毕
至于更精细化的设置:LDAP、中文、使用技巧等等。请详询官手册

补充:

由于我的英文实在不好,这里我选择切换成中文。
切换中文的地方有两处:(第一处生效了)
在这里插入图片描述
在这里插入图片描述


最后

上面执行的顺序我有所调整,如果你在安装过程中遇到问题,请留言。

如果成了,给个赞鼓励一下。

相关文章:

  • MYSQL 常用字符串函数 和 时间函数详解
  • 信息学奥赛一本通 1509:【例 1】Intervals | OpenJudge 百练 1201:Intervals
  • 云服务器centos 安装hadoop集群
  • CS001-7-hbao
  • 海之淀攻略
  • 【视频时刻检索】Text-Video Retrieval via Multi-Modal Hypergraph Networks 论文阅读
  • 驱动开发硬核特训 · Day 21(上篇) 抽象理解 Linux 子系统:内核工程师的视角
  • Spring的xxxAware接口工作原理-笔记
  • 高等数学第三章---微分中值定理与导数的应用(3.1微分中值定理3.2洛必达法则)
  • 如何设置极狐GitLab 议题截止日?
  • 050_基于springboot的音乐网站
  • 图解YOLO(You Only Look Once)目标检测(v1-v5)
  • 零基础上手Python数据分析 (23):NumPy 数值计算基础 - 数据分析的加速“引擎”
  • 深度强化学习(DRL)实战:从AlphaGo到自动驾驶
  • React 文件链条
  • [论文阅读]ReAct: Synergizing Reasoning and Acting in Language Models
  • 设备接入与APP(应用程序)接入华为云iotDA平台的详细操作步骤及获取方式
  • 【动手学大模型开发】VSCode 连接远程服务器
  • Asp.Net Core 异常筛选器ExceptionFilter
  • 前端技术Ajax入门
  • 可移动可变形的新型超材料问世
  • 北京画院上海“点画”:评论家展场一对一评点
  • 印度加大应对力度,吊销所有巴基斯坦公民签证
  • 俄外长拉夫罗夫将出席金砖国家外长会
  • 给印度立“人设”:万斯访印祭出美国关税战新招,但效果存疑
  • 被电诈100万元又要被骗71万元,女子经民警近8小时劝阻幡然醒悟