OpenOffice4: 软件包安装, Docker安装,集成SpringBoot应用

简介: OpenOffice4: 软件包安装, Docker安装,集成SpringBoot应用


 


软件包安装

1. 说明

本文档采用rpm包方式安装,操作系统为centos


2 下载openoffice rpm

创建源码包存放目录

mkdir /usr/local/src/openoffice
cd /usr/local/src/openoffice
wget https://jaist.dl.sourceforge.net/project/openofficeorg.mirror/4.1.5/binaries/zh-CN/Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_zh-CN.tar.gz   

#如果网速很慢,换个网络环境下载

下载地址:http://www.openoffice.org/zh-cn/ (需要下载rpm格式的)


3 解压安装

tar -xvzf Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_zh-CN.tar.gz

解压后会在当前目录里生成一个zh-CN目录, RPMS/ 里面都是rpm文件,我们需要安装这些文件

cd /usr/local/src/openoffice /zh-CN/RPMS/
rpm -ivh *.rpm

安装完后会在当前目录下生成一个desktop-integration目录

cd /usr/local/src/zh-CN/RPMS/desktop-integration/
rpm -ivh openoffice4.1.6-redhat-menus-4.1.5-9789.noarch.rpm


4 启动openoffice

临时启动

/opt/openoffice4/program/soffice -headless -accept=“socket,host=127.0.0.1,port=8100;urp;” -nofirststartwizard


后台永久运行

/opt/openoffice4/program/soffice -headless -accept=“socket,host=127.0.0.1,port=8100;urp;” -nofirststartwizard &


加入到开机自启动

vim /etc/rc.local
nohup /opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &


删除openoffice

在program文件夹下执行:

rpm -erpm -qa |grep openofficerpm -qa |grep ooobasis


查看openoffice进程

netstat -lnp |grep 或者 ps -ef|grep soffice


问题

javaldx: Could not find a Java Runtime Environment!

yum install java-1.8.0-openjdk


Docker安装

使用打包好的openoffice4镜像

docker build --pull -t xiaojun207/openoffice4-daemon --build-arg OO_VERSION=4.1.7 .

运行

docker run -d -u 123456 --name soffice -p 8100:8100 -v /data/:/data/ xiaojun207/openoffice4-daemon:latest

参考:

https://hub.docker.com/r/xiaojun207/openoffice4-daemon

https://hub.docker.com/r/evan11/openoffice4-java8

https://github.com/rafaeltuelho/openoffice3-daemon


自己动手制作openoffice4镜像

制作openoffice镜像

资源准备,包括 OpenOffice 压缩包、Dockerfile 文件、sources.list 三个。

$ ls
Apache_OpenOffice_4.1.7_Linux_x86-64_install-deb_zh-CN.tar  Dockerfile  sources.list

本地资源新建 Dockerfile 文件:

#基础镜像为debian
FROM yongqiang/debian-jdk8
COPY sources.list /etc/apt/
RUN apt-get update && apt-get upgrade && apt-get install -y libxt6 libxext6 libfreetype6 libxrender1
COPY Apache_OpenOffice_4.1.7_Linux_x86-64_install-deb_zh-CN.tar /
#解压
RUN tar -xvf Apache_OpenOffice*
#删除压缩包
RUN rm -f Apache_OpenOffice_*
#安装OpenOffice
RUN dpkg -i zh-CN/DEBS/*.deb || true
RUN dpkg -i zh-CN/DEBS/desktop-integration/*.deb || true
#删除解压缩的文件
RUN rm -Rf zh-CN
#暴露接口
EXPOSE 8100
#启动服务,占用8100端口
CMD /opt/openoffice4/program/soffice -headless -nofirststartwizard  -accept="socket,host=0.0.0.0,port=8100;urp;"

构建镜像

$ docker build -t openoffice:v1 .

启动容器

$ docker run -d -it -p 8100:8100 openoffice:v1

提交到DockerHub

$ docker tag 6cefc75591a0 yongqiang/openoffice:v1
$ docker push yongqiang/openoffice:v1


问题解决

制作镜像问题

/opt/openoffice4/program/soffice.bin: error while loading shared libraries: libXext.so.6: cannot open shared object file: No such file or directory

解决方案:apt-get install libxext6

/opt/openoffice4/program/soffice.bin: error while loading shared libraries: libfreetype.so.6: cannot open shared object file: No such file or directory

解决方案:apt-get install libfreetype6

javaldx: Could not find a Java Runtime Environment!

解决方案:FROM yongqiang/debian-jdk8

no suitable windowing system found, exiting.

解决方案:apt-get install libxt6 libxrender1

安装openoffice问题

问题一:

$ soffice
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
/opt/openoffice4/program/soffice.bin X11 error: Can't open display:
   Set DISPLAY environment variable, use -display option
   or check permissions of your X-Server
   (See "man X" resp. "man xhost" for details)

解决:

$ vncserver
$ export DISPLAY=localhost:1
$ xhost +
access control disabled, clients can connect from any host

在Linux下设置xhost方法步骤

第一步:用root登陆linux,启动vnc服务;

第二步:根据vnc起来的端口,设置export DISPLAY=localhost:1(1表示vnc在第一个tty上启动的),vnc的启动信息见附件1;

第三步:执行xhost +,并且提示“access control disabled, clients can connect from any host”才正确。

问题二:

Fatal server error:

could not open default font ‘fixed’

解决方案:apt-get -y install xfonts-base

安装完后从新启动vnc服务即可。

问题三:

Xlib: extension “RANDR” missing on display “localhost:1”.

解决方案:apt-get -y install xfonts-base



集成SpringBoot应用

参考:

https://openoffice.apache.org/

https://hub.docker.com/r/evan11/openoffice4-java8

https://hub.docker.com/r/xiaojun207/openoffice4-daemon

https://blog.csdn.net/yongyundeshiguang/article/details/113646731




相关文章
|
5月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
3月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
421 3
docker 安装 Postgres 17.6
|
2月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
463 5
|
2月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
374 2
|
3月前
|
人工智能 Java API
Java与大模型集成实战:构建智能Java应用的新范式
随着大型语言模型(LLM)的API化,将其强大的自然语言处理能力集成到现有Java应用中已成为提升应用智能水平的关键路径。本文旨在为Java开发者提供一份实用的集成指南。我们将深入探讨如何使用Spring Boot 3框架,通过HTTP客户端与OpenAI GPT(或兼容API)进行高效、安全的交互。内容涵盖项目依赖配置、异步非阻塞的API调用、请求与响应的结构化处理、异常管理以及一些面向生产环境的最佳实践,并附带完整的代码示例,助您快速将AI能力融入Java生态。
551 12
|
6月前
|
存储 Kubernetes 监控
Docker与Kubernetes集成挑战及方案
面对这些挑战,并不存在一键解决方案。如同搭建灌溉系统需要考虑多种因素,集成Docker与Kubernetes也需要深思熟虑的规划、相当的技术知识和不断的调试。只有这样,才能建立起一个稳定、健康、高效的Docker-Kubernetes生态,让你的应用像花园中的植物一样繁荣生长。
311 63
|
4月前
|
人工智能 运维 负载均衡
F5发布业界首创集成式应用交付与安全平台,开启ADC 3.0新时代
F5发布业界首创集成式应用交付与安全平台,开启ADC 3.0新时代
143 0
|
4月前
|
人工智能 自然语言处理 分布式计算
AI 驱动传统 Java 应用集成的关键技术与实战应用指南
本文探讨了如何将AI技术与传统Java应用集成,助力企业实现数字化转型。内容涵盖DJL、Deeplearning4j等主流AI框架选择,技术融合方案,模型部署策略,以及智能客服、财务审核、设备诊断等实战应用案例,全面解析Java系统如何通过AI实现智能化升级与效率提升。
362 0
|
6月前
|
机器学习/深度学习 数据采集 存储
朴素贝叶斯处理混合数据类型,基于投票与堆叠集成的系统化方法理论基础与实践应用
本文探讨了朴素贝叶斯算法在处理混合数据类型中的应用,通过投票和堆叠集成方法构建分类框架。实验基于电信客户流失数据集,验证了该方法的有效性。文章详细分析了算法的数学理论基础、条件独立性假设及参数估计方法,并针对二元、类别、多项式和高斯分布特征设计专门化流水线。实验结果表明,集成学习显著提升了分类性能,但也存在特征分类自动化程度低和计算开销大的局限性。作者还探讨了特征工程、深度学习等替代方案,为未来研究提供了方向。(239字)
210 5
朴素贝叶斯处理混合数据类型,基于投票与堆叠集成的系统化方法理论基础与实践应用

热门文章

最新文章