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




相关文章
|
21天前
|
存储 Kubernetes 监控
Docker与Kubernetes集成挑战及方案
面对这些挑战,并不存在一键解决方案。如同搭建灌溉系统需要考虑多种因素,集成Docker与Kubernetes也需要深思熟虑的规划、相当的技术知识和不断的调试。只有这样,才能建立起一个稳定、健康、高效的Docker-Kubernetes生态,让你的应用像花园中的植物一样繁荣生长。
116 63
|
4月前
|
安全 Java Apache
微服务——SpringBoot使用归纳——Spring Boot中集成 Shiro——Shiro 身份和权限认证
本文介绍了 Apache Shiro 的身份认证与权限认证机制。在身份认证部分,分析了 Shiro 的认证流程,包括应用程序调用 `Subject.login(token)` 方法、SecurityManager 接管认证以及通过 Realm 进行具体的安全验证。权限认证部分阐述了权限(permission)、角色(role)和用户(user)三者的关系,其中用户可拥有多个角色,角色则对应不同的权限组合,例如普通用户仅能查看或添加信息,而管理员可执行所有操作。
151 0
|
4月前
|
安全 Java 数据安全/隐私保护
微服务——SpringBoot使用归纳——Spring Boot中集成 Shiro——Shiro 三大核心组件
本课程介绍如何在Spring Boot中集成Shiro框架,主要讲解Shiro的认证与授权功能。Shiro是一个简单易用的Java安全框架,用于认证、授权、加密和会话管理等。其核心组件包括Subject(认证主体)、SecurityManager(安全管理员)和Realm(域)。Subject负责身份认证,包含Principals(身份)和Credentials(凭证);SecurityManager是架构核心,协调内部组件运作;Realm则是连接Shiro与应用数据的桥梁,用于访问用户账户及权限信息。通过学习,您将掌握Shiro的基本原理及其在项目中的应用。
151 0
|
1月前
|
前端开发
SpringBoot2.3.1集成Knife4j接口文档
SpringBoot2.3.1集成Knife4j接口文档
134 44
|
1月前
|
缓存 安全 Java
Shiro简介及SpringBoot集成Shiro(狂神说视频简易版)
Shiro简介及SpringBoot集成Shiro(狂神说视频简易版)
92 6
|
2月前
|
缓存 Java 数据库
SpringBoot集成Ehcache缓存使用指南
以上是SpringBoot集成Ehcache缓存的基本操作指南,帮助你在实际项目中轻松实现缓存功能。当然,Ehcache还有诸多高级特性,通过学习和实践,你可以更好地发挥它的威力。
128 20
|
3月前
|
Java 开发工具 Spring
【Azure Application Insights】为Spring Boot应用集成Application Insight SDK
本文以Java Spring Boot项目为例,详细说明如何集成Azure Application Insights SDK以收集和展示日志。内容包括三步配置:1) 在`pom.xml`中添加依赖项`applicationinsights-runtime-attach`和`applicationinsights-core`;2) 在main函数中调用`ApplicationInsights.attach()`;3) 配置`applicationinsights.json`文件。同时提供问题排查建议及自定义日志方法示例,帮助用户顺利集成并使用Application Insights服务。
|
4月前
|
消息中间件 Java 微服务
微服务——SpringBoot使用归纳——Spring Boot中集成ActiveMQ——发布/订阅消息的生产和消费
本文详细讲解了Spring Boot中ActiveMQ的发布/订阅消息机制,包括消息生产和消费的具体实现方式。生产端通过`sendMessage`方法发送订阅消息,消费端则需配置`application.yml`或自定义工厂以支持topic消息监听。为解决点对点与发布/订阅消息兼容问题,可通过设置`containerFactory`实现两者共存。最后,文章还提供了测试方法及总结,帮助读者掌握ActiveMQ在异步消息处理中的应用。
137 0
|
Java 测试技术 Docker
Spring Boot 学习研究笔记(十九)-docker部署SpringBoot 日志目录挂载
Spring Boot 学习研究笔记(十九)-docker部署SpringBoot 日志目录挂载
665 0
|
Java 关系型数据库 Docker
docker打包部署spring boot应用(mysql+jar+Nginx)
docker打包部署spring boot应用(mysql+jar+Nginx)