在CENTOS 7上安装SNIPE-IT进行资产管理

介绍

Snipe-IT是一个免费的开源项目,旨在处理IT资产管理。它可以处理跟踪资产,例如网络设备,服务器,PC,软件和许可证,其购买日期以及其他相应信息。它是使用PHP和Laravel框架构建的,并依靠MySQL作为数据库来存储和检索其数据。

环境简介

组件版本IP address
centos7.9172.18.1.117
DNSwindows server 2012172.17.1.1
DBMariaDBlocalhost
PHP7.4localhost
Nginx

部署过程

1. 配置防火墙

使用firewall-cmd 打开centos 的80,443端口,以确保可以正常访问80,443端口

$ sudo firewall-cmd --permanent --add-port=80/tcp
$ sudo firewall-cmd --permanent --add-port=443/tcp
$ sudo firewall-cmd --reload

2. 安装EPEL 存储库

本文档所需的某些软件包仅在 EPEL(适用于企业 Linux 的额外软件包)存储库中提供。EPEL 存储库由红帽赞助的 Fedora 项目特别兴趣小组维护。EPEL 存储库提供了本指南所需的证书机器人和证书机器人 Nginx 插件包。

$ sudo yum install -y epel-release

3. 安装REMI 存储库

CentOS 7 的储存库提供 PHP 版本 5.4,而SNIP-IT 则要求最低 PHP 版本为 7.2.5。为了解决这个问题,REMI仓库,提供较新版本的PHP用于 CentOS。但是,Snipe-IT的文档建议使用7.4的PHP版本,Remi存储库提供此版本。

$ sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
安装yum-untils
$ sudo yum install -y yum-utils
配置yum,使其从remi 仓库中安装PHP7.4
$ sudo yum-config-manager --enable remi-php74

4. 安装NGINX

Nginx是一个可扩展的Web服务器,具有许多功能,例如负载平衡,反向代理,HTTP缓存等。

$ sudo yum install -y nginx
$ sudo systemctl enable nginx.service
$ sudo systemctl start nginx.service

5. 安装MariaDB数据库

MariaDB是社区开发的,商业支持的MySQL关系数据库的分支,根据GPL许可。它旨在通过提供更新,更优化的存储引擎来提高性能和可扩展性,从而成为MySQL的直接替代品。

$sudo yum install -y mariadb mariadb-server
$ sudo systemctl start mariadb.service
$ sudo systemctl enable mariadb.service

6. 配置MariaDB 数据库

默认情况下,MariaDB附带一个空白的根密码和一个不安全的配置,以便于配置。它带有一个安全的安装脚本,旨在设置root密码并使用安全的默认值配置服务器。

$ sudo mysql_secure_installation

当系统提示输入 root 的当前密码时,请按“无”。Enter

当系统要求您提供新的 root 密码时,请确保使用安全密码。该密码将在管理数据库指南的后续步骤中使用。因此,建议将此密码存储在安全的地方。

回答或按所有剩余的提示。'Y’ENTER

7. 创建数据库

$ sudo mysql -u root -p
创建数据
CREATE DATABASE snipeit;
创建用户名和密码
CREATE USER snipeit@localhost IDENTIFIED BY 'snipeit';
授予新用户相关权限
GRANT ALL PRIVILEGES ON snipeit.* TO snipeit@localhost;
加载配置,使其生效
FLUSH PRIVILEGES;

8. 安装PHP

PHP 是在服务器上运行SNIPE-IT所需的脚本语言和runtime。此外,PHP-FPM 软件包还提供了 PHP FastCGI 管理器,允许 Nginx 与 PHP 通信并执行 PHP 脚本。其余的包是SNIPE-IT 和Composer所需的依赖项,以及用于连接到 MariaDB 数据库的驱动程序。

$ sudo yum install -y php php-fpm php-ldap php-bcmath php-mbstring php-pdo php-simplexml php-dom php-gd php-mysqlnd
yum install -y zip unzip php-zip
修改PHP-FPM 配置文件
$ sudo vi /etc/php-fpm.d/www.conf
user = nginx
group = nginx
listen = /run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
------------------------------
$ sudo systemctl start php-fpm.service
$ sudo systemctl enable php-fpm.service

9. 安装Composer

Composer是 PHP Project 的依赖关系管理器。它由 Snipe-IT 使用,因此需要安装它,Composer 会安装所需的依赖包。它还用于在新版本发布时更新依赖包。

$   curl -sS https://getcomposer.org/installer | php
$  mv composer.phar /usr/local/bin/composer
$ composer global require slince/composer-registry-manager
$ composer repo:ls
$ composer repo:use
$ composer config -g -l repo.pachagist

10. 安装GIT

Git 是一个版本控制系统,将用于获取和更新 Snipe-IT 的源代码。这是 Snipe-IT 官方文档中推荐的下载方法。它还允许轻松获取和更新到较新版本的Snipe-IT。

$ sudo yum install -y git

11. 安装Snipe-IT

$ sudo git clone --depth=1 https://github.com/snipe/snipe-it /var/www/snipeit
$ cd /var/www/snipeit
修改配置文件
$ sudo cp .env.example .env
$ sudo vi .env
APP_URL=https://asset.unite-puxi.local
DB_DATABASE=snipeit
DB_USERNAME=snipeit
DB_PASSWORD=snipeit
-------------------------------------
修改相关文件夹权限,确保Nginx和PHP可以读写。
chown -R nginx:nginx /var/www/snipeit
$ sudo chown -R nginx:nginx storage public/uploads
$ sudo chmod -R 755 storage public/uploads
使用Composer更新其依赖包
$ composer update --ignore-platform-reqs
$ composer install --no-dev
生成新的随机app key
$ sudo php artisan key:generate --force

12.配置Nginx

$ sudo vi /etc/nginx/conf.d/snipeit.conf
server {
    listen 80;
    listen [::]:80;

    server_name asset.unite-puxi.local;

    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name asset.unite-puxi.local;

    ssl_certificate /etc/ssl/certs/asset.unite-puxi.local/dvwa.cer;
    ssl_certificate_key /etc/ssl/certs/asset.unite-puxi.local/dvwa.key;
    ssl_protocols TLSv1.2 TLSv1.3;

    root /var/www/snipeit/public;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        try_files $uri $uri/ =404;
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
$ sudo nginx -t
$ sudo systemctl restart nginx.service

13. 配置SELinux

$ sudo chcon -R --type=httpd_sys_rw_content_t /var/www/snipeit
$ setsebool -P httpd_can_network_connect_db 1

初始化Snipe-IT

输入域名https://asset.unite-puxi.local/setup
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

常见问题处理

这些命令应该从 Snipe-IT 项目根目录运行,用于清楚一些PHP 缓存文件,可解决大部分问题
composer dump-autoload
php artisan cache:clear 
php artisan config:clear
php artisan route:clear
php artisan debugbar:clear
php artisan event:clear
php artisan view:clear
php artisan optimize:clear
php artisan clear-compiled
邮箱问题
setsebool -P httpd_can_network_connect on
参考链接
https://snipe-it.readme.io/docs/common-issues
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值