一、准备工作
任何能够处理以下应用程序的操作系统(建议使用Linux);
中间件:Apache Tomcat 9.0(建议使用9.0.30);
数据库:PostgreSQL从9.5到10.x;
工具:cmdbuild-3.3.war
相关资源包: cmdbuild-3.3.1-resources.zip
二、war包部署安装
1、安装 tomcat9 和 jdk11
2、安装数据库 PostgreSQL
yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum -y install postgresql10 postgresql10-server postgresql10-contrib postgresql10-libs
3、初始化数据库
postgresql-10-setup initdb
4、修改 postgresql.conf 配置 让所有地址都可以访问
vim /var/lib/pgsql/10/data/postgresql.conf
尾行添加
listen_addresses = '*'
5、配置对PostgreSQL数据库的访问
vim /var/lib/pgsql/10/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
host all all 192.168.40.130/24 md5
6、启动postgresql 数据库
systemctl start postgresql-10
systemctl enable postgresql-10
7、进入数据库 创建基础/用户
[root@Service-2 ~]# su - postgres
Last login: Tue Mar 23 06:24:24 PDT 2021 on pts/0
-bash-4.2$
-bash-4.2$ psql
psql (10.16)
Type "help" for help.
postgres=#
postgres=# CREATE DATABASE cmdbuild_db;
CREATE DATABASE
postgres=#
postgres=# CREATE USER cmdbuild_user WITH encrypted password 'password';
CREATE ROLE
postgres=#
postgres=# GRANT ALL PRIVILEGES ON DATABASE cmdbuild_db TO cmdbuild_user;
GRANT
postgres=#
postgres=# DROP DATABASE cmdbuild_db;#该基础已被有意删除,因为稍后它将由安装脚本创建
DROP DATABASE
postgres=#
postgres=# CREATE USER cmdbuild_superuser WITH encrypted password 'password';
CREATE ROLE
postgres=#
postgres=# ALTER USER cmdbuild_superuser WITH SUPERUSER;
ALTER ROLE
postgres=# \q
-bash-4.2$ exit
logout
该基础已被有意删除,因为稍后它将由安装脚本创建
8、将cmdbuild-3.3.war包部署到tomcat/webapps当中
cp cmdbuild-3.3.war tomcat9/webapps/
9、解压cmdb相关资源包 cmdbuild-3.3.1-resources.zip
unzip -o cmdbuild-3.3.1-resources.zip
10、将解压出来文件里的 tomcat-libs/postgresql.jar 放到 tomcat/lib目录下,多个jar包一起 cp 过去
cp tomcat-libs/postgresql-* tomcat9/lib/
ll tomcat9/lib/postgresql-*
11、将 cmdb 自带的 shark 目录 传到 tomcat9/webapps/ 目录下 (这步非必要)
cp -r shark/ tomcat9/webapps/
12、启停 tomcat 加载 cmdbuild,进入webapps目录 修改 加载好的项目名称 (注意:tomcat 不能使用 root 启动)
./tomcat9/bin/startup.sh
./tomcat9/bin/shutdown.sh
cd tomcat9/webapps/
mv cmdbuild-3.3 cmdbuild
13、配置 cmdb-jdbc 连接池 直接Vim创建 database.conf 将下面连接池内容复制进去 (注意路径 webapps/cmdbuild/WEB-INF/conf/ 下面)
[sa@Service-2 ~]$ vim tomcat9/webapps/cmdbuild/WEB-INF/conf/database.conf
#数据库连接池
db.url=jdbc:postgresql://localhost:5432/cmdbuild
#刚才Postgres设置的用户名和密码
db.username=cmdbuild_user
db.password=password
db.admin.username=cmdbuild_superuser
db.admin.password=password
14、执行脚本 创建基础结构 导入空模 (根据自身系统环境路径配置)
chmod +x tomcat9/webapps/cmdbuild/cmdbuild.sh
bash tomcat9/webapps/cmdbuild/cmdbuild.sh dbconfig create empty -configfile /home/sa/tomcat9/webapps/cmdbuild/WEB-INF/conf/database.conf
15、如果您需要下载演示数据 执行脚本 下面导入空模到数据库 (上面执行过了,这里做一个描述,跳过此步骤直接访问 cmdb)
bash tomcat9/webapps/cmdbuild/cmdbuild.sh dbconfig create empty -configfile /home/sa/tomcat9/webapps/cmdbuild/WEB-INF/conf/database.conf
16、关闭防火墙和 selinux,启动tomcat 访问CMDBuild (注意:tomcat 不能使用 root 启动)
#关闭selinux 设置SELINUX=disable
vi /etc/sysconfig/selinux
#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
访问 http://192.168.40.130:8080/cmdbuild
默认账号密码 admin/admin