Snipe-IT是一款开源的IT资产管理系统,该系统可以帮助IT部门跟踪各种信息化涉笔的生命周期。该系统可以管理信息设备(电脑、笔记本、打印机等)、各种许可证、软件、耗材等。
1.环境准备:
我这里使用的环境是: Centos 7.9 + Apache 2.4.6 + PHP 8.0 + Mysql 8.0
Centos 7.9系统的安装这里不多说了,网上教程很多,这里主要说一下Apache、PHP、MYSQL的安装。
1.1 Apache 2.4.6安装
- 首先确保linux可以正常访问外网;
- 为了方便,直接关闭防火墙和selinux,后期可根据需求开启;
#临时关闭SELinux
setenforce 0
#永久关闭SELinux(重启生效)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#临时关闭防火墙
systemctl stop firewalld.service
#永久关闭防火墙
systemctl disable firewalld.service - 更换YUM源,这里使用的是阿里源;
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo- 安装Apache服务及其扩展包;
yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql- 启动Apache服务并测试。
systemctl start httpd在浏览器上输入"http://ip地址"会显示下面图片,这说明Apache服务安装启动成功
通过httpd -v命令可以查看Apache的版本。
1.2安装PHP
- 添加remi源(可能需要提前安装epel-release)
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
- 单独启用php80的源 (没有 yum-config-manager命令的话需要安装yum-utils)
yum-config-manager --disable 'remi-php*'
yum-config-manager --enable remi-php80- 安装php及其拓展
yum install -y php php-bcmath php-cli php-common php-devel php-fpm php-gd php-intl php-ldap php-mbstring php-mysqlnd php-odbc php-pdo php-pear php-pecl-xmlrpc php-pecl-zip php-process php-snmp php-soap php-sodium php-xml- 最后,php安装完成,版本验证一下,查看PHP状态。
#查看PHP版本
php -v
#查看php状态
systemctl status php-fpm
#启动php
systemctl start php-fpm
#停止php
systemctl stop php-fpm
#重启php
systemctl restart php-fpm
#配置php开机自启
systemctl enable php-fpm - 配置httpd,启到PHP模块
#打开httpd.conf文件
vim /etc/httpd/conf/httpd.conf#httpd.conf中找到DirectoryIndex后面增加index.php
DirectoryIndex index.php index.html
#httpd.conf中找到AddType application/x-gzip .gz .tgz后面增加一行
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .phtml1.3安装MYSQL
- 查看是否已经安装MySQL或mariadb,如果已经安装先删除
#查看是否已经安装mariadb
rpm -qa |grep mariadb
#查看是否已经安装MySQL
rpm -qa |grep mysql
#删除已安装的mariadb
yum -y remove mariadb*
#删除已安装的mysql
yum -y remove mysql*最后查看老版本中MySQL相关的安装目录,如果有就删除;
[root@localhost ~]# find / -name mysql
/etc/selinux/targeted/active/modules/100/mysql
/usr/lib64/mysql
/usr/lib64/perl5/vendor_perl/auto/DBD/mysql
/usr/lib64/perl5/vendor_perl/DBD/mysql
/usr/share/mysql
[root@localhost ~]# rm -rf /etc/selinux/targeted/active/modules/100/mysql
[root@localhost ~]# rm -rf /usr/lib64/mysql
[root@localhost ~]# rm -rf /usr/lib64/perl5/vendor_perl/auto/DBD/mysql
[root@localhost ~]# rm -rf /usr/lib64/perl5/vendor_perl/DBD/mysql
[root@localhost ~]# rm -rf /usr/share/mysql- 下载mysql 8.0的包
wget https://repo.mysql.com//mysql80-community-release-el7-7.noarch.rpm- 使用rpm -ivh 安装刚刚下载的rpm包
rpm -ivh mysql80-community-release-el7-7.noarch.rpm- 使用yum安装mysql
yum -y install mysql-community-server- 启动并测试
#重启mysql服务
systemctl restart mysqld
#查看MySQL服务是否正在运行
systemctl status mysqld |grep active
#查看mysql运行进程
ps -ef |grep mysqld |grep -v grep
#查看mysql的网络连接信息
netstat -antlp |grep mysqld
#查看mysql版本
mysql -V- 设置新密码并重新启动 MySQL的密码并不是默认为空,而是在启动的时候,默认在log日志中生成密码,可以通过命令查看到密码:
grep "temporary password" /var/log/mysqld.log随机密码很难记,需要设置成自己的密码,登录数据库
mysql -uroot -p修改密码
alter user 'root'@'localhost' identified by 'Abc@123!';注意: 这里的密码如果设置的过于简单也会报错,要设置的复杂一点,密码长度大于8位数
执行 flush privileges; 使密码生效;
flush privileges;- 增加snipeit数据库库,并设置账号密码
#创建snipeit数据库
CREATE DATABASE snipeit;
#创建用户snipeit并设置密码
CREATE USER 'snipeit'@'localhost' IDENTIFIED BY 'Pass@word1';
#给snipeit账号授权
GRANT ALL PRIVILEGES ON snipeit.* TO 'snipeit'@'localhost';
#刷新权限
FLUSH PRIVILEGES;2.安装Snipe-IT
2.1下载Snipe-IT
下载最新版的Snipe-IT到本地,这里采用的是Git的方式,当然你也可以自己下载了通过FTP上传到服务器
#/var/www/snipeit 为你想安装的文件夹,如果没有Git会自动创建
git clone https://github.com/snipe/snipe-it /var/www/snipeit2.2修改.env文件
Snipe-IT的配置文件采用env的文件存储,这方便了对很多关键信息的修改
#进入snipeit目录
cd /var/www/snipeit
#复制snipeit的配置文件
cp .env.example .env编辑配置
vi .env#改时区
APP_TIMEZONE=Asia/Shanghai
#设置默认语言
APP_LOCALE=zh-CN
#设置访问地址或域名,这里填什么就确定了用这个域名访问时才能看到图片
APP_URL=http://127.0.0.1
#留空就行,后面会配置
APP_KEY=
#数据库地址
DB_HOST=localhost
#库名
DB_DATABASE=snipeit
#数据库账户
DB_USERNAME=snipeit
#数据库密码
DB_PASSWORD=Pass@word1 赋权
#进入snipeit目录
cd /var/www/snipeit
chmod -R 755 storage
chmod -R 755 public/uploads
chown -R apache:apache storage public/uploads2.3配置apache,创建虚拟主机
#新建snipeit.com.conf文件
vim /etc/httpd/conf.d/snipeit.com.conf 添加如下内容
ServerName EAM
DocumentRoot /var/www/snipeit/public/
Options Indexes FollowSymLinks MultiViews
AllowOverride ALL
Order allow,deny
Allow from all
2.4安装Composer
#切换到snipeit目录
cd /var/www/snipeit
#下载composer
curl -sS https://getcomposer.org/installer | php
#拷贝到执行文件夹,这一步不是必须
cp composer.phar /usr/bin/composer
#禁用默认源镜像
composer config -g secure-http false
#修改为阿里云镜像源
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
#查看修改结果
composer config -g -l
#更新
composer update
#运行安装缺少的扩展
composer install --no-dev --prefer-source在通过 Composer 命令安装软件包时经常会出现如下提醒:
Do not run Composer as root/super user! See https://getcomposer.org/root for details
提示不要以超级用户身份运行 Composer 命令。
解决办法:切换到任一非超级用户执行命令;
官方解释是因为某些 Composer 命令,包括 exec,install 和,update 允许第三方代码在您的系统上执行。插件和脚本对运行Composer 的用户帐户具有完全访问权限。因此,强烈建议 避免以超级用户/root身份运行 Composer。
您可以使用以下语法在软件包安装或更新期间禁用插件和脚本,以便仅执行Composer的代码,而不会执行第三方代码:
composer install --no-plugins --no-scripts
composer update --no-plugins --no-scripts 2.5生成 app_key
php artisan key:generate
3.Snipe-IT配置
snipe-it部署完成,打开浏览器,输入http://IP地址访问,按提示配置就可以了。

