这篇文章主要介绍如何安装Dependency-Track,以及如何更改数据库。
首先看如何搭建
Dependency-Track官网给了两种搭建方式。第一种是使用docker容器进行部署,第二种是部署可执行文件war的方式。
对于第二种方式,官方文档给出了弃用说明
弃用通知可执行WAR已过时,将不再在Dependency-Track的未来版本中分发。建议将组织迁移到Docker或Kubernetes等容器策略。
所以可以直接使用docker容器的方式进行部署。其中docker的方式,官方也给了三种示例,如下:
第一种:# Downloads the latest Docker Compose filecurl -LO https://dependencytrack.org/docker-compose.yml# Starts the stack using Docker Composedocker-compose up -d# -d表示后台运行第二种:# Downloads the latest Docker Compose filecurl -LO https://dependencytrack.org/docker-compose.yml# Intializes Docker Swarm (if not previously initialized)docker swarm init# Starts the stack using Docker Swarmdocker stack deploy -c docker-compose.yml dtrack第三种:# Pull the image from the Docker Hub OWASP repodocker pull dependencytrack/bundled# Creates a dedicated volume where data can be stored outside the containerdocker volume create --name dependency-track# Run the bundled container with 8GB RAM on port 8080docker run -d -m 8192m -p 8080:8080 --name dependency-track -v dependency-track:/data dependencytrack/bundled
之前文章Dependency-Track服务搭建也有介绍过,我使用的第三种方式。不论哪种方式部署,命令都给出了,只用照着赋值粘贴运行即可,关键的点是:
1.网络环境,网差的话很慢,甚至会中断。(我操作时中断好几次)
2.前提得先安装docker,毕竟是使用docker部署。
命令都执行完毕后,访问服务器ip:8080即可,然后会提示更改密码后重新登录,改完密码就可进入web界面了。
(我实在想不到更详细的操作点了,在此和那位兄弟说声抱歉
,帮不了更多了,还请见谅)
然后看如何更换默认数据库
Dependency-Track默认的数据库是嵌入式H2数据库,这是一种轻量级的数据库,不适用生产环境,因此想着更换成常用的数据库。
Dependency-Track支持以下数据库服务器:1.Microsoft SQL Server 2012及更高版本2.MySQL 5.6和5.73.PostgreSQL 9.0及更高版本
更换这几种数据库的配置官方也都给出了,具体可查看
https://docs.dependencytrack.org/getting-started/database-support/
其中有一点需要注意的是,官方关于使用mysql数据库的说明
如果需要UTF-8支持,请不要使用MySQL。
由于不支持utf-8,因此我们选择了PostgreSQL数据库。
首先就是安装这个数据库,具体安装教程一大堆,这里不赘述。主要介绍当时如何进行Dependency-Track与PostgreSQL相关的一些操作。
大致分两步
1.根路径新建dependency-track目录,然后在该目录下新建application.properties文件,在文件中填写下面配置
alpine.database.mode=externalalpine.database.url=jdbc:postgresql://localhost:5432/dtrackalpine.database.driver=org.postgresql.Driveralpine.database.username=dtrackalpine.database.password=password
2.使用命令docker-compose up重新启动一下,配置就生效了,启动时间可能略长。
上面总结的就是我在更换数据库时的操作,不同的机器配置啥的可能情况不同,仅供参考,可根据个人实际情况进行操作。




