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

本文档详细介绍了在CentOS 7.9环境下安装和配置Snipe-IT资产管理系统的过程,包括安装EPEL和REMI存储库、设置MariaDB数据库、部署PHP、Nginx和Composer,以及配置防火墙、SELinux和初始化系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

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
为了确保在CentOS7安装Snipe-IT资产管理系统时PHP 7.2能与Apache服务器正确集成,你需要遵循一系列详细的步骤。首先,确保系统已经更新到最新状态,这样可以避免安全漏洞和兼容性问题。然后,开始安装并配置Apache、MariaDB和PHP。 参考资源链接:[CentOS7中搭建Snipe-IT资产管理系统教程](https://wenku.csdn.net/doc/6412b74bbe7fbd1778d49c8d?spm=1055.2569.3001.10343) 在CentOS7上源码安装PHP 7.2的步骤如下: 1. 安装依赖工具,例如编译器、开发工具等。 2. 下载PHP 7.2的源码包,并解压到指定目录。 3. 配置PHP源码编译选项,例如: ```bash ./configure --prefix=/usr/local/php7.2 --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/php7.2 --with-mysql=/usr/bin/mysql_config --enable-mbstring --enable-mysqlnd --with-openssl --with-zlib --enable-bcmath --with-iconv --with-curl --with-gd --enable-gd-native-ttf --enable-pdo --with-pdo-mysql --with-mhash --enable-pcntl --enable-shmop --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-gd-native-ttf --enable-sockets --enable-sysvsem --enable-sysvmsg --enable-pcntl --enable-opcache --with-pear --with-gettext --with-xmlrpc --enable-zip --enable-mbregex --enable-mbstring --with-kerberos --with-bz2 --enable-sockets --with-gd --enable-gd-native-ttf --with-xsl --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-mbstring --with-mcrypt --with-mhash --enable-gd-jis-conv --with-fpm-user=apache --with-fpm-group=apache ``` 4. 编译并安装PHP: ```bash make && make install ``` 5. 配置Apache以支持PHP模块,编辑`/etc/httpd/conf.d/php.conf`文件,确保有类似以下的加载指令: ```apacheconf LoadModule php7_module modules/libphp7.so AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps ``` 6. 重启Apache服务以应用更改: ```bash systemctl restart httpd ``` 7. 测试PHP配置是否正确,可以创建一个`info.php`文件,写入以下内容: ```php <?php phpinfo(); ?> ``` 然后在浏览器访问`***`,如果能看到PHP信息页面,则表示PHP已成功配置并集成到Apache中。 以上步骤确保了在CentOS7系统上PHP 7.2与Apache服务器的集成,这将为你后续安装Snipe-IT资产管理系统打下坚实的基础。为了更深入理解Snipe-IT的部署过程,你可以参考这份教程:《CentOS7中搭建Snipe-IT资产管理系统教程》。这本教程不仅详细介绍了环境的准备和安装步骤,还有关于如何通过Composer安装依赖、配置环境变量以及运行安装脚本等操作的详细指导,是学习和部署Snipe-IT的宝贵资源。 参考资源链接:[CentOS7中搭建Snipe-IT资产管理系统教程](https://wenku.csdn.net/doc/6412b74bbe7fbd1778d49c8d?spm=1055.2569.3001.10343)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值