/WeblogicEnvironment

Weblogic环境搭建工具

Primary LanguageShell

Weblogic环境搭建工具

Weblogic环境搭建过程很繁琐,很多时候需要测试各种Weblogic版本和各种JDK版本的排列组合,因此我写了一个脚本级别的Weblogic环境搭建工具,用于安全研究时节省大家搭建环境的时间。 此环境搭建工具使用Docker和shell脚本,因此需要本机安装Docker才可以使用。经测试漏洞搭建工具可以在3分钟内构建出任意JDK版本搭配任意Weblogic版本,包含一个可远程调试的已启动的Weblogic Server域环境。

相比于源项目添加了补丁安装

需求

  • 自动化安装任意版本JDK
  • 自动化安装任意版本Weblogic Server
  • 自动化创建域
  • 自动打开远程调试
  • 自动启动一个Weblogic Server域
  • 自动化安装补丁

流程

在启动 weblogic-server 之前添加补丁安装

使用方法:

下载JDK安装包和Weblogic安装包

  1. 下载相应的JDK版本和Weblogic安装包,将JDK安装包放到jdks/
  2. 目录下将Weblogic安装包放到weblogics/目录下。
  3. opatch 2021年1月更新过,需要安装新版的 opatch, 放置 opatch 目录下
  4. 将补丁安装至 patch_dir 补丁目录下

此步骤必须手动操作,否则无法进行后续步骤。

JDK安装包下载地址:https://www.oracle.com/technetwork/java/javase/archive-139210.html Weblogic安装包下载地址:https://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html

构建镜像并运行

回到根目录,执行Docker构建镜像命令:

docker build --build-arg JDK_PKG=<YOUR-JDK-PACKAGE-FILE-NAME> --build-arg WEBLOGIC_JAR=<YOUR-WEBLOGIC-PACKAGE-FILE-NAME>  --build-arg PATCH_PKG=xxxxxxx -t <DOCKER-IMAGE-NAME> .

镜像构建完成后,执行以下命令运行:

docker run -d -p 7001:7001 -p 8453:8453 -p 5556:5556 --name <CONTAINER-NAME> <DOCKER-IMAGE-NAME-YOU-JUST-BUILD>

以Weblogic12.1.3配JDK 7u21为例,构建镜像命令如下:

docker build --build-arg JDK_PKG=jdk-7u21-linux-x64.tar.gz --build-arg WEBLOGIC_JAR=fmw_12.1.3.0.0_wls.jar --build-arg PATCH_PKG=xxxxxx -t weblogic12013jdk7u21 .

镜像构建完成后,执行以下命令运行:

docker run -d -p 7001:7001 -p 8453:8453 -p 5556:5556 --name weblogic12013jdk7u21 weblogic12013jdk7u21

运行后可访问http://localhost:7001/console/login/LoginForm.jsp登录到Weblogic Server管理控制台,默认用户名为weblogic,默认密码为qaxateam01

远程调试

如需远程调试,需使用docker cp将远程调试需要的目录从已运行的容器复制到本机。

也可以使用run_weblogic1036jdk6u25.shrun_weblogic12013jdk7u21shrun_weblogic12021jdk8u121.sh这三个脚本进行快速环境搭建并复制远程调试需要用到的目录。执行前请赋予它们相应的可执行权限。

示例

以JDK 7u21配合Weblogic 12.1.3为例,自动搭建效果如下:

兼容性测试

已测试了如下环境搭配的兼容性:

  • 测试系统:macOS Mojave 10.14.5

  • Docker版本:Docker 18.09.2

  • Weblogic 10.3.6 With JDK 6u25

  • Weblogic 10.3.6 With JDK 7u21

  • Weblogic 10.3.6 With JDK 8u121

  • Weblogic 12.1.3 With JDK 7u21

  • Weblogic 12.1.3 With JDK 8u121

  • Weblogic 12.2.1 With JDK 8u121

已知问题

  • 由于时间关系,我没有对更多Weblogic版本和更多的JDK版本搭配做测试,请自行测试
  • 请时刻关注输出内容,如出现异常请自行修改对应脚本

欢迎大家一起为此自动化环境搭建工具贡献力量。