安装依赖

安装JDK
dnf install -y java-17-openjdk-headless
安装工具(转换pdf文件)
dnf install -y ghostscript
安装ODBC
dnf install -y unixODBC
安装redis
dnf install -y redis

#修改密码
vi /etc/redis.conf
查找requirepass,修改为(同Application-prod.yml配置一致
requirepass @Unifound
# 确保目录存在 + 归属 redis
sudo mkdir -p /var/log/redis
sudo chown -R redis:redis /var/log/redis
sudo chmod 755 /var/log/redis

数据库安装

安装GREATSQL

https://greatsql.cn/docs/8.0.32-27/4-install-guide/3-3-openeuler-install.html

依赖
dnf install -y libaio numactl-libs openssl ncurses-libs
安装
启动准备
groupadd mysql
useradd -g mysql -M mysql -s /sbin/nologin

mkdir -p /data/GreatSQL
chown -R mysql:mysql /data/GreatSQL
chmod -R 700 /data/GreatSQL
# 3. 初始化(只做一次)
mysqld --initialize-insecure --user=mysql --datadir=/data/GreatSQL

# 4. 前台起
mysqld --user=mysql --datadir=/data/GreatSQL --socket=/data/GreatSQL/mysql.sock

#客户端
mysql -S /data/GreatSQL/mysql.sock -u root
已授权情况下
mysql -h 127.0.0.1 -P 3306 -u root -p
授权处理
-- 如果已经有 root@'%' 但没密码 / 密码不对,先删了重来更干净
DROP USER IF EXISTS 'root'@'%';
CREATE USER 'root'@'%' IDENTIFIED BY 'Unifound@808';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
-- 创建CCMAdmin,密码lchz761UF
CREATE USER 'CCMAdmin'@'%' IDENTIFIED BY 'lchz761UF';
GRANT ALL PRIVILEGES ON OPMDB.* TO 'CCMAdmin'@'%' WITH GRANT OPTION;
-- 创建CACADMIN,密码lchz761UF
CREATE USER 'CACADMIN'@'%' IDENTIFIED BY 'lchz761UF';
GRANT ALL PRIVILEGES ON UniCAC.* TO 'CACADMIN'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
ODBC

使用MySQL的配置,驱动也用mysql的

[MySQL]
Description=ODBC for MySQL
Driver=/usr/lib/libmyodbc5.so
Setup=/usr/lib/libodbcmyS.so
Driver64=/usr/lib64/libmyodbc8w.so
Setup64=/usr/lib64/libodbcmyS.so
FileUsage=1

yum install -y mysql-connector-odbc
下载官方(Oracle)驱动,mysql-connector-odbc-8.0.29-1.el8.aarch64.rpm(可以从)
https://mirrors.aliyun.com/mysql/Connector-ODBC/8.0/下载,官方只能下载最新的)
dnf localinstall mysql-connector-odbc-8.0.29-1.el8.aarch64.rpm
安装后对应库文件为/usr/lib64/libmyodbc8w.so, 在/etc/odbcinst.ini中吧libmyodb5.so改成libmyodbc8w.so
x86的系统安装mysql-connector-odbc-8.0.29-1.el8.x86_64.rpm
DSN
[OPMDB_DSN]
Description=MYSQL ODBC DSN
Driver=MySQL
TCP_Port=3306

[UNICAC_DSN]
Description=MYSQL ODBC DSN
Driver=MySQL
TCP_Port=3306
安装OceanBase
下载安装
# 1. 下载并安装 all-in-one 包
bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/installer.sh)"


# 2. 加载环境变量
source ~/.oceanbase-all-in-one/bin/env.sh

# 3. 校验
which obd
which obclient
启动
  • 最小启动
    obd demo

  • 级联启动
    odb cluster …

  • 密码修改
    #缺省密码(随机密码)通过下面命令可以看到对应的密码
    obd cluster display demo | grep obclient
    #登录
    obclient -h127.0.0.1 -P2881 -uroot@sys -p’<当前密码>’ -Doceanbase -A
    #修改密码
    ALTER USER root IDENTIFIED BY ‘Unifound@808’;

  • 启动失败
    dnf install -y findutils iputils

配置ODBC

https://www.oceanbase.com/docs/common-oceanbase-connector-odbc-cn-10000000001283682

  • mysql兼容模式,可以参考上面的GREATSQL

  • 下载安装本身的odbc,在下载中心的OB Cloud有下载链接(需要登录)
    #按如下顺序安装
    sudo rpm -ivh libobclient-.rpm
    sudo rpm -ivh ob-connector-odbc-
    .rpm
    sudo rpm -ivh ob-unixodbc-*.rpm

    [Oceanbase]
    Description = ODBC for Oceanbase
    Driver = /u01/ob-connector-odbc/lib64/mariadb/libobodbc.so

授权处理
-- 如果已经有 root@'%' 但没密码 / 密码不对,先删了重来更干净
-- 用root@sys进行登录,
DROP USER IF EXISTS 'root'@'%';
CREATE USER 'root'@'%' IDENTIFIED BY 'Unifound@808';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
-- 创建CCMAdmin,密码lchz761UF
CREATE USER 'CCMAdmin'@'%' IDENTIFIED BY 'lchz761UF';
GRANT ALL PRIVILEGES ON OPMDB.* TO 'CCMAdmin'@'%' WITH GRANT OPTION;
-- 创建CACADMIN,密码lchz761UF
CREATE USER 'CACADMIN'@'%' IDENTIFIED BY 'lchz761UF';
GRANT ALL PRIVILEGES ON UniCAC.* TO 'CACADMIN'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
配置DSN
[OPMDB_DSN]
Description=Oceanbase ODBC DSN
Driver=Oceanbase
TCP_Port=2883

[UNICAC_DSN]
Description=Oceanbase ODBC DSN
Driver=Oceanbase
TCP_Port=2883

创建数据库

--运行客户端,或Navicat
CREATE DATABASE OPMDB;
SOURCE opmdb_mysql.sql
CREATE DATABASE OPMDB;
SOURCE unicac_mysql.sql

rpm安装

arch 表示x86_64/aarch64

  • 安装unicac
    dnf localinstall unicac_1.arch.rpm

    #自动安装依赖
    libtool-ltdl-2.4.7-3.oe2403.x86_64.rpm
    unixODBC-2.3.9-4.oe2403.x86_64.rpm
    compat-openssl11-libs-1.1.1m-18.oe2403.x86_64.rpm

  • 安装opmserver
    dnf localinstall opmserver-1.0-1.arch.rpm

  • 安装cloudprint
    dnf localinstall cloudprint-1.0-1.arch.rpm

  • 卸载
    dnf remove 模块名(unicac,opmserver,cloudprint)

    deb安装

    arch 表示amd64/arm64

  • 安装unicac
    dpkg -i unicac_1.0-1_amd64.deb

  • 安装opmserver
    dpkg -i opmserver_1.0-1_amd64.deb

  • 安装cloudprint
    dpkg -i cloudprint_1.0-1_amd64.deb

  • 卸载
    dpkg -p 模块名(unicac,opmserver,cloudprint)

JAR包及网页部署

云打印
  • printer-master-1.0.jar 部署到/opt/unifound/cloudprint/bin/
  • web.yyyymmdd.rar(H5网页) 部署到/opt/unifound/cloudprint/bin/static
      unrar x path/web.yyyymmdd.rar
      mv web newPrintH5
  • dist.yyyymmdd.rar(PC端网页)部署到/opt/unifound/cloudprint/bin/static/static
      unrar x path/dist.yyyymmdd.rar
      mv dist newCprintPc
    后台管理
  • printer-manager-1.0.jar 部署到/opt/unifound/cloudmanager/bin/
  • 管理端网页部署到/opt/unifound/cloudmanager/
      unrar x path/dist.yyyymmdd.rar

配置文件及日志

配置文件
  • OPMServer
    /etc/unifound/opmserver/uniopmserver.conf
    #修改DBPORT DM为5238,CREATSQL为3306,Oceanbase为2883,SqlServer为1433
    #修改DBDRIVER DM为dm, CREATSQL/OCeanbase为mysql

  • UniCAC
    /etc/unifound/cacserver/unicacserver.conf
    #修改DBPORT DM为5238,CREATSQL为3306,Oceanbase为2883,SqlServer为1433
    #修改DBDRIVER DM为dm, CREATSQL/OCeanbase为mysql

  • 云打印
    /opt/unifound/cloudprint/bin
    #修改spring.datasource.dynamic.datasource.master
    ###CREATSQL/Oceanbase mysql兼容
    url: jdbc:mysql://127.0.0.1:3306/OPMDB?allowMultiQueries=true&characterEncoding=UTF-8&useSSL=true&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver
    ###DM
    url: jdbc:dm://127.0.0.1:5236
    driver-class-name: dm.jdbc.driver.DmDriver

    #修改unifound.domain 外部可以访问的地址(ngnix代理的地址)
    url: http://127.0.0.1:8890
    #####################
    #授权模式(默认不配置)
    #auth: 默认授权模式(绑定支付宝或微信)
    #password: 账号密码(不绑定模式)(待实现)
    #superstar: 超星授权模式(待实现)
    #uni_auth: 统一授权模式(不绑定模式)(待实现)
    #capital_library: 首图授权模式
    #capital_library_open: 首图开放平台授权模式
    #####################^M
    auth-mode: capital_library^M

  • 云打印后台管理
    /opt/unifound/cloudmanager/bin
日志文件
  • OPMServer/UniCAC
    /var/log/unifound
  • 云打印及后台管理
    /opt/unifound/cloudprint/bin/logs
    /opt/unifound/cloudpmanager/bin/logs

服务

服务名称
  • OPMServer
    uniopmserver.service
  • UniCAC
    unicacserver.service
  • 云打印
    unicloudprint.service
  • 云打印后台
    unicloudmanager.service
服务命令
  • 启动
    systemctl start 服务名
  • 停止
    systemctl stop 服务名
  • 重启
    systemctl restart 服务名
  • 修改服务后重新加载
    systemctl daemon-reload

代理配置(Nginx,其他可以参考)

# 管理端
server {
    listen 127.0.0.1:8893;
    server_name _;
    # 管理端接口
    location ^~ /api/ {
        client_body_timeout 300s;
        proxy_pass http://127.0.0.1:8891/;
        proxy_redirect default;
    }
    # 管理端网页
    location / {
        root /opt/unifound/cloudmanager/web;
        index admin.html admin.htm;
        try_files $uri $uri/ @router;
    }
    location @router {
        rewrite ^.*$ /index.html last;
    }
}
# 首图小程序入口兼容
server {
    listen 127.0.0.1:8894;
    server_name _;
    location / {
        root /opt/unifound/paywallet;
        index bjlibpt.html;
        try_files $uri $uri/ @router;
    }
    location @router {
        rewrite ^.*$ /bjlibpt.html last;
    }
}
# 主入口
server {
    listen 127.0.0.1:8080;
    server_name _;
    client_max_body_size 100M;
    proxy_redirect http://127.0.0.1/ http://$host:$server_port/;
    proxy_redirect http://localhost/ http://$host:$server_port/;
    # 云打印
    location / {
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_buffering off;
        proxy_pass http://127.0.0.1:8890;
        proxy_send_timeout 1200;
        proxy_read_timeout 1200;
    }
    # 管理端
    location /admin/ {
        allow 10.20.100.150;
        deny all;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_buffering on;
        proxy_pass http://127.0.0.1:8893/;
        proxy_send_timeout 1200;
        proxy_read_timeout 1200;
    }
    location /actuator/ {
        allow 10.20.100.150;
        deny all;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_buffering on;
        proxy_pass http://127.0.0.1:8890/;
        proxy_send_timeout 1200;
        proxy_read_timeout 1200;
    }
    # 
    location /client/ {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_buffering on;
        proxy_pass http://127.0.0.1:8894/;
        proxy_send_timeout 1200;
        proxy_read_timeout 1200;
    }
    # 首图小程序入口兼容
    location /paywallet/ {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_buffering on;
        proxy_pass http://127.0.0.1:8894/;
        proxy_send_timeout 1200;
        proxy_read_timeout 1200;
    }

    error_page 500 502 503 504  /50x.html;
        location = /50x.html {
        root html;
    }
}
文档更新时间: 2026-08-07 17:10   作者:方杰