一、部署环境
Windows Server 2019 Standard+Apache2.4.62+php8.3.15+MySQL8.0.40
二、需要的软件
Snipe-it7.1.15、Compose2.8.4、ImageMagick-7.1.1-43-Q16-x64-dll、php_imagick-3.7.0-8.3-ts-vs16-x64、notepad+(修改各种配置文件)、VC_redist2015-2022.x64(MySQL8需要VC2019环境)
三、安装过程
1、安装MySQL
先安装VC_redist2015-2022.x64,然后安装MySQL。安装过程中可以先为snipeit创建一个数据库用户(建议新建用户),或者直接用root用户,但是密码不要太长,否则在后面对snipeit进行数据迁移时会报错。
为了确保后期数据库不占用C盘空间,建议将数据库文件迁移到其他盘。将C:\ProgramData\MySQL\MySQL Server 8.0里面的文件夹Data、Uploads复制到D:\MySQL里面,并修改C:\ProgramData\MySQL\MySQL Server 8.0\my.ini内容如下:
datadir=D:/MySQL\Data
secure-file-priv=“D:/MySQL/Uploads”
修改完后,到服务里重启MySQL服务。
启动MySQL8.0 Commandline Client,分别输入以下命令来创建snipeit数据库:
create database snipeit; --创建snipeit数据库
show databases; --查看是否成功创建snipeit数据库
create user ‘snipeit’@‘localhost’ identified by ‘password’; --创建用户snipeit及密码password
grant all privileges on snipeit.* to ‘snipeit’@‘localhost’ WITH GRANT OPTION; --授权
flush privileges; --刷新权限
2、安装php
将压缩包解压到D盘根目录,改名为php8(根据自己喜好来),复制一份php.ini-production.ini并将复制的改名为php.ini,使用notepad+编辑它。
首先修改extension_dir的位置,修改为extension_dir = “D:/php8/ext”,可以选择修改
upload_tmp_dir = “D:/tmp”
error_log = “D:/Temp/php8_errors.log”
date.timezone = “Asia/Shanghai”
根据snipeit官方文档开启相应的extension,并添加extension=php_imagick.dll
3、安装ImageMagick
直接运行安装程序,安装完成后,将安装目录下CORE开头的dll文件复制到php根目录中。
4、安装php_imagick插件
将php_imagick-3.7.0压缩包中的php_imagick.dll解压到php8\ext里面。
5、安装Apache
将压缩包解压到D盘,修改conf目录下的httpd.conf文件。确保80端口没有被占用,一般会被IIS占用,到服务里将www服务停止,并改为手动启动。
Define SRVROOT “D:/Apache24”
LoadModule php_module “D:/php8/php8apache2_4.dll” -----手动添加
PHPIniDir “D:/php8” -----手动添加
将DocumentRoot “{SRVROOT}/htdocs"及<Directory “”${SRVROOT}/htdocs”>改为DocumentRoot "D:/snipeit/public"和Directory “D:/snipeit/public”>
或者启用Include conf/extra/httpd-vhosts.conf,并在conf\extra中修改httpd-vhosts.conf文件,添加snipeit/public的信息
创建Apache服务:以管理员身份打开cmd,输入以下命令
sc create Apache2.4 binPath= ““D:\Apache24\bin\httpd.exe” -k runservice” start= auto displayname= “Apache2.4”
创建完成后启动该服务。
6、安装snipeit
将压缩包解压到D盘,改名为snipeit,用xcopy .env.example .evn来复制一个.evn配置文件,修改以下配置文件:
.evn修改如下:
APP_URL=http://服务器IP
APP_TIMEZONE=‘Asia/Shanghai’
APP_LOCALE=‘zh-CN’
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=snipeit
DB_USERNAME=snipeit
DB_PASSWORD=password
DB_PREFIX=null
DB_DUMP_PATH=‘C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin’
config\app.php修改如下:
env(‘APP_URL’, ‘http://服务器IP’)
env(‘APP_TIMEZONE’, ‘Asia/Shanghai’)
env(‘APP_LOCALE’, ‘zh-CN’)
env(‘FALLBACK_APP_LOCALE’, ‘zh-CN’)
config\database.php修改如下:
env(‘DB_HOST’, ‘localhost’)
env(‘DB_PORT’, 3306)
env(‘DB_DATABASE’, ‘snipeit’)
env(‘DB_USERNAME’, ‘snipeit’)
env(‘DB_PASSWORD’, ‘password’)
7、安装compose
运行安装程序,选择php的安装目录,确认勾选将它添加到系统环境变量。安装完毕后,打开cmd,进入snipeit安装目录,输入compos install进行安装,如果报错,根据错误信息在网上找对应的解决方法。安装完成后输入php artisan key:generate生成.env里面的key。再输入php artisan migrate进行数据库迁移。
四、启动
到此,snipeit安装完成,到浏览器里输入ip地址,打开Snipe-IT Pre-Flight配置界面,按提示进行配置。