CentOS 7 环境下部署 Dependency-Track 4.2.2 服务


# 将 SELinux 设置为宽容模式
sudo setenforce Permissive
sudo vim /etc/selinux/config
  SELINUX=permissive

# 关闭系统防火墙服务
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service

# 安装 OpenJDK 软件包
sudo yum -y install java-11-openjdk-devel

# 安装 PostgreSQL 10 服务
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql10-server

# 自定义 PostgreSQL 10 服务数据目录
sudo mkdir -p /opt/var/lib/pgsql/10/data/
sudo mkdir /opt/var/lib/pgsql/10/backups/
sudo chown -R postgres:postgres /opt/var/lib/pgsql/
sudo chmod -R g-rx,o-rx /opt/var/lib/pgsql/

# 该命令会调用 Vim 创建名为 "override.conf" 的空文件,不需要输入任何内容,直接退出即可。
sudo systemctl edit postgresql-10.service

sudo cp /usr/lib/systemd/system/postgresql-10.service /etc/systemd/system/postgresql-10.service.d/override.conf

# 该命令会调用 Vim 编辑 "/etc/systemd/system/postgresql-10.service.d/override.conf" 文件。
sudo systemctl edit postgresql-10.service

# 请将 "Environment=PGDATA=/var/lib/pgsql/10/data/" 修改为 "Environment=PGDATA=/opt/var/lib/pgsql/10/data/"
# 并在 "ExecStart=/usr/pgsql-10/bin/postmaster -D ${PGDATA}" 行的上面添加一行,内容为 "ExecStart="

sudo su - postgres -c '/usr/pgsql-10/bin/initdb -A md5 -D /opt/var/lib/pgsql/10/data -W'

# 此处会提示为 "postgres" 角色设置新的超级用户口令。建议设置一个安全的口令,并记住它,因为后面还会用到。

# 修改 PostgreSQL 10 服务配置文件的 "max_connections" 参数的值
sudo vim /opt/var/lib/pgsql/10/data/postgresql.conf
  max_connections = 512

sudo systemctl enable postgresql-10.service
sudo systemctl start postgresql-10.service

psql -U postgres

# 创建名为 "dtrack" 的角色,并为其设置一个安全的密码。
# 创建属于 "dtrack" 角色的同名数据库。

CREATE ROLE dtrack LOGIN PASSWORD '********';
CREATE DATABASE dtrack OWNER dtrack;

# 退出 psql
\q

# 创建并转到 Dependency-Track 安装目录
sudo mkdir /opt/dependency-track/
cd /opt/dependency-track/

# 下载 Dependency-Track 和 PostgreSQL JDBC 驱动程序
sudo wget https://github.com/DependencyTrack/dependency-track/releases/download/4.2.2/dependency-track-bundled.war
sudo wget https://jdbc.postgresql.org/download/postgresql-42.2.25.jar

# 上传 "application.properties" 默认配置文件。
# 可以提前下载并解压缩 dependency-track-bundled.war 文件,然后在 "WEB-INF/classes/" 目录下找到该 "application.properties" 文件。

sudo rz [application.properties]

# 编辑 "application.properties" 配置文件,修改以下配置项目,注意 "alpine.database.password" 配置项的值要填你自己设置的值。
sudo vim application.properties
  alpine.data.directory=/opt/dependency-track
  alpine.database.mode=external
  alpine.database.url=jdbc:postgresql://localhost:5432/dtrack
  alpine.database.driver=org.postgresql.Driver
  alpine.database.driver.path=/opt/dependency-track/postgresql-42.2.25.jar
  alpine.database.username=dtrack
  alpine.database.password=********

# 前台调试启动
# sudo java -Xmx16G -Dalpine.application.properties=application.properties -jar dependency-track-bundled.war -context / -host 0.0.0.0 -port 8090

# 后台启动
sudo -b -E java -Xmx16G -Dalpine.application.properties=application.properties -jar dependency-track-bundled.war -context / -host 0.0.0.0 -port 8090 > /dev/null 2>&1



# 显示进程信息
ps aux | grep 'dependency-track' | grep -v 'grep'

# 显示 PID
ps aux | grep 'dependency-track' | grep -v 'grep' | awk '{print $2}'

# 终止第二个进程
sudo kill -SIGTERM $(ps aux | grep 'dependency-track' | grep -v 'grep' | awk 'NR==2 {print $2}')



# 清空应用审核日志
sudo su - -c 'cat /dev/null > /root/.dependency-track/dependency-track-audit.log'

# 清空应用日志
sudo su - -c 'cat /dev/null > /root/.dependency-track/dependency-track.log'

# 清空嵌入式 Jetty 服务器日志
sudo su - -c 'cat /dev/null > /root/.dependency-track/server.log'

# https://docs.dependencytrack.org/