对于Spire.Cloud v10.8 及以上版本,我们推出适用于Linux/amd64系统通过镜像 (ubuntu24.04spire.tar)的私有化部署方式,可以部署在不同Linux/amd64环境。部署包包含Spire.cloud 在线编辑产品基于ubuntu24.04编译好的镜像( ubuntu24.04spire.tar),以及依赖库MySQL和RabbitMQ部署镜像。此部署方式同样也支持离线环境的部署,具体安装步骤如下:
Spire.Cloud 私有化部署安装包及验证授权
私有化部署需要应用有效的 license 文件,否则在线编辑服务和 WEB API 服务将不能正常运行。请联系我们邮箱:该 Email 地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。;电话:028-81705109,可以获取临时 license 文件进行评估测试。
系统配置
关闭防火墙:
1)查看当前防火墙的状态:firewall-cmd --state
2)关闭防火墙:systemctl stop firewalld.service
3)再次查看状态,检查防火墙是否已经关闭:firewall-cmd --state
静态IP配置:
1)命令:vi /etc/sysconfig/network-scripts/ifcfg-ens32,打开配置文件编辑配置。
2)命令:systemctl restart network 重启网络服务。
3)命令: ip addr 查看当前 ip 地址,确认是否修改成功。
确认Docker 的安装:
部署 Spire.Cloud
1)将获取的部署安装包拷贝到要部署的Linux系统解压。
Docker安装MySQL
(1)加载mysql的镜像docker load --input mysql8.0.40.tar
(2)docker images命令查看镜像,如果mysql镜像没有tag可以执行:
docker tag <IMAGE_ID> mysql:8.0.40
(3)启动mysql的容器,设置MySQL端口为:3306,密码设置为:root
sudo docker run \
-p 3306:3306 --name mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.40
(4)在当前目录下新建一个my.cnf文件
文件内容为:
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
init_connect="SET collation_connection = utf8mb4_unicode_ci"
init_connect="SET NAMES utf8mb4"
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-name-resolve
(5)上传当前目录下的createdb.sql和my.cnf 两个文件到mysql容器里面
docker cp createdb.sql <CONTAINER_ID>:/opt/
docker cp my.cnf <CONTAINER_ID>:/etc/mysql/conf.d/
(6)登录mysql的容器依次执行下面的操作
//登录容器
docker exec -it <CONTAINER_ID> /bin/bash
//登录数据库。密码为启动容器时候设置的密码root
mysql -u root -p;
//初始化数据
source /opt/createdb.sql
//允许远程访问数据库
ALTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
//使更改立即生效
FLUSH PRIVILEGES;
(7)查看mysql端口启动状态
docker inspect mysql --format='{{.State.Status}}'
docker port mysql
Docker安装RabbitMQ
(1)加载RabbitMQ的镜像:docker load --input rabbitmq3.13.7.tar
(2)docker images命令查看镜像,如果rabbitmq镜像没有tag可以执行docker tag <IMAGE_ID> rabbitmq:3.13.7-management
(3)启动rabbitmq服务
docker run \
-d --name rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
-v /path/to/data:/var/lib/rabbitmq rabbitmq:3.13.7-management
(4)添加rabbitmq用户
默认登录用户guest 密码guest,按照下面步骤,添加新的root用户,密码root。
//启动RabbitMQ
docker start RabbitMQ
//进入RabbitMQ容器
docker exec -it rabbitmq /bin/bash
//添加用户root,密码root
rabbitmqctl add_user root root
//设置管理员权限
rabbitmqctl set_user_tags root administrator
rabbitmqctl set_permissions -p / root ".*"
//验证是否添加用户成功
rabbitmqctl list_users
(5)查看RabbitMQ启动是否正常
docker inspect rabbitmq --format='{{.State.Status}}'
docker port rabbitmq
另外,也可以通过浏览器访问IP:15672,如http://192.168.4.56:15672/ 添加用户并设置管理员权限。
点击Add user按钮后,显示如下:
为root用户设置权限
点击 Set permission 后, 显示如下:
Spire.Cloud部署
(1)加载ubuntu24.04:spire的本地镜像:docker load --input ubuntu24.04spire.tar
(2)docker images命令查看镜像,如果没有tags,执行:
docker tag <IMAGE_ID> ubuntu/ubuntu24.04:spire
(3)启动容器,IP地址为您部署服务器宿主机IP:
执行次命令前首先确保 3000、8000、8050端口没被占用(命令中的-v /home/App_Data:/opt/spire/spire.cloud/storage/App_Data 为映射缓存数据到宿主机磁盘空间的功能,如果不需要则去掉即可。可以自定义设置其它路径)
docker run -itd --privileged --name spirecl -e IP_ADDR="192.168.4.56" -p 3000:3000 -p 8000:8000 -p 8050:8050 -v /home/App_Data:/opt/spire/spire.cloud/storage/App_Data ubuntu/ubuntu24.04:spire
(4)绑定授权
a.如果你的部署环境是联网环境,请将获取的license.elic.xml授权文件复制到容器
【/opt/spire/spire.cloud/service/ConverterService/bin/license/】目录下。
docker cp license.elic.xml <CONTAINER_ID>:/opt/spire/spire.cloud/service/ConverterService/bin/license/
b.进入容器执行绑定授权的脚本,针对 xml授权文件设置读写权限(chmod -R 777 license.elic.xml)
docker exec -it spirecl bash
cd /opt/spire/
sh binding_license.sh
绑定成功的license.elic.xml文件最下面会多出
(5)初始化安装字体
sh genallfonts.sh
(6)更改配置文件/opt/spire/spire.cloud/service/Common/config/default.json中的mysql的dbPass 、dbHost和rabbitmq的url地址(可以安装vim进行编辑 apt install vim), 箭头所指位置改为宿主机的ip地址
apt update
apt install vim
vim /opt/spire/spire.cloud/service/Common/config/default.json
(7)修改example配置文件中的IP_ADDR为宿主机的ip
vim /opt/spire/spire.cloud/example/config/default.json
(8)启动服务
cd /opt/spire/spire.cloud/
sh cloudServices start
sh exampleServices start
(9)为了保证文档另存为其它格式(例如PDF,XPS等)的效果一致性,请在容器/usr/share/fonts/下安装相应文档使用的字体。
docker cp /usr/share/fonts/ <CONTAINER_ID>:/usr/share/fonts/
四、测试使用在线编辑功能
Spire.Cloud 产品主要涉及的端口服务:8000 在线编辑服务(如需嵌入你的文档系统请参考前端快速接入8000编辑服务示例);3000 示例文件系统服务;8050 WebAPI接口服务。我们可以使用3000示例服务进行体验测试 ,在浏览器地址栏输入“[服务器 ip]:3000”(针对本次部署: 192.168.4.56:3000),出现以下界面:
“Upload File”按钮可以上传Word,Excel, PowerPoint格式文档进行编辑和预览,上传PDF文档进行预览。
”Create Document”创建一个新的Word文档:
”Create Spreadsheet”创建一个新的Excel文档:
”Create Presentation”创建一个新的PowerPoint文档: