Skip to content

部署指南

whgojp edited this page Nov 24, 2024 · 1 revision

不少师傅反馈,在项目搭建的过程中还是遇到一些问题,由此出一个"保姆式"教程

前言

环境参考

Java环境:Java 8 Maven也使用Java 8

img

Docker与Docker compose 环境

image-20241121183147640

image-20241121183306935

部署方式

IDEA本地部署

1、配置数据库(Mysql 8.0+)

执行 sql/JavaSecLab.sql 文件

修改配置文件application.yml active为dev(项目默认为docker 如果搭建的过程中出现数据库连接错误 师傅们可以注意下这里)

spring:
  # 环境 dev|docker
  profiles:
    active: dev

2、修改application-dev.yml配置文件

username: root
password: QWE123qwe
url: jdbc:mysql://localhost:13306/JavaSecLab?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true&allowMultiQueries=true

image-20241122191114168

image-20241122182808973

初始账号密码:admin/admin(后台可修改)

"半自动"部署

image-20241122235943851

编译遇到麻烦的师傅,可以直接下载最新Release版本,在项目根目录下新建target子目录,将JavaSecLab.jar移动到这里,即可跳过编译阶段,直接下列命令进行部署

docker-compose -p javaseclab up -d

Docker部署

条件:已安装docker和docker-compose

docker部署过程中 sql文件没有初始化执行的话(即数据库为空) 需要手动导入下sql文件

mvn clean package -DskipTests
docker-compose -p javaseclab up -d

image-20241122182808973

image-20240905225532698

可能会遇到的问题

编译问题

mvn clean package -DskipTests  # maven编译报错

image-20241122182808973

解决方法:检查下jdk与maven版本 可能会是下面👇情况 emmmm~

image-20241122183859118

按照要求进行配置,必要时可以重装下jdk、maven

Docker镜像源(网络)问题

docker-compose -p javaseclab up -d

image-20241122175928904

解决方法:更换镜像源

vim /etc/docker/daemon.json
# 替换为下面内容
{
  "registry-mirrors": [
    "https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com",
    "https://mirror.ccs.tencentyun.com",
    "https://0dj0t5fb.mirror.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://6kx4zyno.mirror.aliyuncs.com",
    "https://registry.docker-cn.com",
    "https://akchsmlh.mirror.aliyuncs.com",
    "https://registry.docker-cn.com",
    "https://docker.mirrors.ustc.edu.cn", 
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

img

后续进行刷新配置、重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

端口冲突

image-20241122182004806

项目默认使用80端口,可以通过修改下面三个文件更改端口

image-20241122184158829

部署成功后无法登录

正常部署后,使用默认账号密码admin/admin无法登录,日志显示user表找不到

Docker Compose 自动构建过程中,SQL文件可能没有初始化执行,需要自己手动导入

至于为什么没有自动执行,具体原因我也不清楚,有时候可以成功,可能跟环境有关系🤔

image-20241122174954083

解决方法:使用navicat本地连接数据库后,右键运行SQL文件,当然使用命令行也是可以的

image-20241122174954083

漏洞页面打不开?

首页一些漏洞类型打不开(点击无反应),例如SQL注入下的Hibernate、JPA等,有两种可能:

1、一是优先级不高,先搁置一下,用来提醒自己

2、漏洞场景不好写,还在调研

此外,感兴趣的师傅可以提PR补充漏洞场景……