CentOS9 安装Docker+Dpanel+onlyoffice(https、更改字体、字号、去除限制)的避坑笔记

CentOS9 安装Docker+onlyoffice(https、更改字体、字号、去除限制)的避坑笔记

  • 一、安装Docker
  • 二、更新docker镜像源:
  • 三、安装Dpanel
  • 四、安装onlyoffice(开启https及一些碰到的问题)
  • 五、更改字体和字号
  • 六、去除限制

动手前,预防遭遇各种莫名奇妙的问题,先把selinux给disabled掉:

nano /etc/selinux/config

SELINUX=enforcing,改为:SELINUX=disabled,然后reboot一下系统。

一、安装Docker

1.方法一:使用docker执行脚本安装:

curl -sSL https://get.docker.com/ | sh 

2.方法二:使用dnf安装:
添加docker仓库:

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

安装docker:

dnf install docker-ce

安装完毕后,在执行:

#设为开机启动
systemctl enable --now docker#启动docker
systemctl start docker#查看状态
systemctl status docker#查看版本
docker -v

二、更新docker镜像源:

由于某种原因,国内从DockerHub拉取镜像速度会很慢,反正我这里根本无法使用,所以找了一些可用的源,把源添加到:/etc/docker/daemon.json就可以了

nano /etc/docker/daemon.json

把下面内容复制进去,然后ctrl+o,ctrl+x保存退出:

{"registry-mirrors": ["https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc"]
}

重启docker:

systemctl daemon-reload
systemctl restart docker

至此,我们的docker已经可以正常使用了。

三、安装Dpanel

用途和使用就不说了,详见官方介绍,官方地址:https://dpanel.cc
我选择的是lite版:

docker run -it -d --name dpanel --restart=always \-p 8807:8080 -e APP_NAME=dpanel \-v /var/run/docker.sock:/var/run/docker.sock \-v dpanel:/dpanel dpanel/dpanel:lite

防火墙放行8807端口:

firewall-cmd --add-port=8807/tcp --permanent
firewall-cmd --reload

好了,你的dpanel面板已经安装好了,打开你的浏览器访问:http://你的IP:8807

四、安装onlyoffice(开启https及一些碰到的问题)

1.执行下面命令,安装onlyoffice社区版,目前最新版本为8.2.2,

docker run -i -t -d -p 443:443 --name office --restart=always \-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \-v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \-v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql -e JWT_ENABLED=false onlyoffice/documentserver

2.防火墙放行443端口:

firewall-cmd --add-port=443/tcp --permanent
firewall-cmd --reload

3.添加证书:
进入:/app/onlyoffice/DocumentServer/data目录,mkdir certs创建certs目录,然后把证书上传到这个目录下。
我用的是mkcert生成的自签证书,如果你对mkcert有兴趣,可以到我另一个帖子看:https://blog.csdn.net/alinathz/article/details/106440017

mkcert生成出来的是pem文件,这里需要把证书和key都改名为:
证书改名为:onlyoffice.crt
key改名为:onlyoffice.key
接着把证书上传到/app/onlyoffice/DocumentServer/data/certs目录下。

4.开启https访问:
A.在容器输入:service nginx stop,把容器的nginx停用掉;
B.复制ds-ssl.conf.tmpl替换ds.conf文件:

sudo cp -f /etc/onlyoffice/documentserver/nginx/ds-ssl.conf.tmpl /etc/onlyoffice/documentserver/nginx/ds.conf

C.修改/etc/onlyoffice/documentserver/nginx/ds.conf文件,把里面的{{SSL_CERTIFICATE_PATH}} 和{{SSL_KEY_PATH}} 替换为证书的路径:

nano /etc/onlyoffice/documentserver/nginx/ds.conf# 证书
ssl_certificate /var/www/onlyoffice/Data/certs/onlyoffice.crt;
# 证书key
ssl_certificate_key /var/www/onlyoffice/Data/certs/onlyoffice.key;

D.修改完后,重启容器的nginx:service nginx start

E.执行下面的脚本:

bash /usr/bin/documentserver-update-securelink.sh

5.进入onlyoffice容器修改/etc/onlyoffice/documentserver/default.json
进入onlyoffice容器,我们上面创建的是office,so…

docker exec -it office /bin/bash

进入后粗暴些,直接:nano /etc/onlyoffice/documentserver/default.json,找到:

"requestDefaults": {"headers": {"User-Agent": "Node.js/6.13","Connection": "Keep-Alive"},"gzip": true,"rejectUnauthorized": true
}

"rejectUnauthorized": true 改为 "rejectUnauthorized": false,这个是解决自签证书无法访问未授权的问题。

接着,找到:

"request-filtering-agent" : {"allowPrivateIPAddress": false,"allowMetaIPAddress": false
}

把两个false改为true,这个解决无法打开document.url指向的文件,提示“无法下载”的问题。

好了,经过上面的操作,你现在可以用https://docker服务器地址,来访问你的onlyoffice了。

我打算用它的API,直接来编辑我网站里面的文档,所以做了一个测试:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>ONLYOFFICE Document Editor Code Sample</title><meta name="viewport" content="width=device-width,initial-scale=1"><style>body {height: 100vh; margin: 0}</style><script src="https://docker服务器地址/web-apps/apps/api/documents/api.js"></script></head><body><div id="placeholder"></div><script type="module">const config = {document: {fileType: "docx",key: "随机生成的KEY",title: "Playground Document",url: "https://你的网站地址/test.docx"},documentType: "word",editorConfig: {lang: "zh"},height: "100%",width: "100%"}const editor = new DocsAPI.DocEditor("placeholder", config)</script></body>
</html>

然后直接访问上面的html文件,如果可以直接看到test.docx的内容,那就证明已经OK了。

五、更改字体和字号

刚刚发现,字号显示是正常的,所以不用改,哈哈…现在说说怎么换上自己的字体吧!
1、进入onlyoffice容器,我们上面创建的是office,so…

docker exec -it office /bin/bash

2、删除自带的字体,有两个目录:

cd /usr/share/fonts/
rm -rf *cd /var/www/onlyoffice/documentserver/core-fonts/
rm -rf *

删除完后退出exit容器。

3、到c:\windows\fonts目录下面找需要用的字体,然后复制到其他地方;

4、把复制出来的字体,上传到宿主机上(U盘,tftp,MobaXterm等方式),如我复制到/home/fonts目录里,然后用下面命令复制到office容器里:

docker cp /home/fonts office:/usr/share/fonts/truetype/custom

5、在进入容器docker exec -it office /bin/bash执行下面命令重新生成:

/usr/bin/documentserver-generate-allfonts.sh

重新生成完毕后,刷新下页面就可以看到改好的字体了。

六、去除限制

下午写…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/4631.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过Ukey或者OTP动态口令实现windows安全登录

通过 安当SLA&#xff08;System Login Agent&#xff09;实现Windows安全登录认证&#xff0c;是一种基于双因素认证&#xff08;2FA&#xff09;的解决方案&#xff0c;旨在提升 Windows 系统的登录安全性。以下是详细的实现方法和步骤&#xff1a; 1. 安当SLA的核心功能 安…

基于Python的多元医疗知识图谱构建与应用研究(上)

一、引言 1.1 研究背景与意义 在当今数智化时代,医疗数据呈爆发式增长,如何高效管理和利用这些数据,成为提升医疗服务质量的关键。传统医疗数据管理方式存在数据孤岛、信息整合困难等问题,难以满足现代医疗对精准诊断和个性化治疗的需求。知识图谱作为一种知识表示和管理…

疑难Tips:解决 SQL*Plus 中工具插入中文数据到Oracle数据库报错及乱码问题

[ 知识是人生的灯塔&#xff0c;只有不断学习&#xff0c;才能照亮前行的道路 ] 原文地址&#xff1a;疑难Tips&#xff1a;解决 SQL*Plus 中工具插入中文数据到Oracle数据库报错及乱码问题在SQL*Plus执行插入语句中含有中文时&#xff0c;出现ORA-01756错误和乱码。这两个问题…

Mac 上如何安装Mysql? 如何配置 Mysql?以及如何开启并使用MySQL

前言&#xff1a; 有许多开发的小伙伴&#xff0c;使用的是mac&#xff0c;那么在mac上如何安装&#xff0c;配置Mysql&#xff0c;以及使用Mysql了&#xff0c;今天来一个系统的教程。 安装Mysql 使用mysql前&#xff0c;我们需要先下载mysql&#xff0c;并按照以下几个步骤…

iOS中的设计模式(三)- 工厂方法

引言 几乎在每个用面向对象语言开发的应用程序中&#xff0c;都能见到工厂方法模式的身影。它是 抽象工厂模式 的核心组成部分。通过重载抽象工厂父类中定义的工厂方法&#xff0c;各种具体工厂能够创建属于自己的对象。 在工厂方法模式中&#xff0c;生产者 本身并不一定是抽…

VSCode最新离线插件拓展下载方式

之前在vscode商店有以下类似的download按钮&#xff0c;但是2025年更新之后这个按钮就不提供了&#xff0c;所以需要使用新的方式下载 ps:给自己的网站推广下~~&#xff08;国内直连GPT/Claude&#xff09; 新的下载方式1 首先打开vscode商店官网&#xff1a;vscode插件下载…

2024人工智能AI+制造业应用落地研究报告汇总PDF洞察(附原数据表)

原文链接&#xff1a; https://tecdat.cn/?p39068 本报告合集洞察深入剖析当前技术应用的现状&#xff0c;关键技术 创新方向&#xff0c;以及行业应用的具体情况&#xff0c;通过制造业具体场景的典型 案例揭示人工智能如何助力制造业研发设计、生产制造、运营管理 和产品服…

【2024 年度总结】从小白慢慢成长

【2024 年度总结】从小白慢慢成长 1. 加入 CSDN 的契机2. 学习过程2.1 万事开头难2.2 下定决心开始学习2.3 融入技术圈2.4 完成万粉的目标 3. 经验分享3.1 工具的选择3.2 如何提升文章质量3.3 学会善用 AI 工具 4. 保持初心&#xff0c;继续前行 1. 加入 CSDN 的契机 首次接触…

Unity Shader学习日记 part5 CG基础

在了解完Shader的基本结构之后&#xff0c;我们再来看看编写着色器的语言。 Shader编写语言有CG&#xff0c;HLSL两种&#xff0c;我们主要学习CG的写法。 数据类型 CG的基础变量类型 uint a12;//无符号32位整形 int b12;//32位整形float f1.2f;//32位浮点型 half h1.2h;//…

AI Agent:深度解析与未来展望

一、AI Agent的前世&#xff1a;从概念到萌芽 &#xff08;一&#xff09;早期探索 AI Agent的概念可以追溯到20世纪50年代&#xff0c;早期的AI研究主要集中在简单的规则系统上&#xff0c;这些系统的行为是确定性的&#xff0c;输出由输入决定。随着时间的推移&#xff0c;…

【24】Word:小郑-准考证❗

目录 题目 准考证.docx 邮件合并-指定考生生成准考证 Word.docx 表格内容居中表格整体相较于页面居中 考试时一定要做一问保存一问❗ 题目 准考证.docx 插入→表格→将文本转换成表格→✔制表符→确定选中第一列→单击右键→在第一列的右侧插入列→布局→合并单元格&#…

计算机网络 (46)简单网络管理协议SNMP

前言 简单网络管理协议&#xff08;SNMP&#xff0c;Simple Network Management Protocol&#xff09;是一种用于在计算机网络中管理网络节点的标准协议。 一、概述 SNMP是基于TCP/IP五层协议中的应用层协议&#xff0c;它使网络管理员能够管理网络效能&#xff0c;发现并解决网…

机器人“大脑+小脑”范式:算力魔方赋能智能自主导航

在机器人技术的发展中&#xff0c;“大脑小脑”的架构模式逐渐成为推动机器人智能化的关键。其中&#xff0c;“大脑”作为机器人的核心决策单元&#xff0c;承担着复杂任务规划、环境感知和决策制定的重要角色&#xff0c;而“小脑”则专注于运动控制和实时调整。这种分工明确…

Linux 使用 GDB 进行调试的常用命令与技巧

GDB 调试的常用命令与技巧 1. GDB 常用命令1.1 安装 GDB1.2 启动 GDB1.3 设置程序的参数1.4 设置断点1.5 启动程序并运行至断点1.6 执行一步1.7 打印变量值1.8 查看函数调用栈 2. GDB 调试 Core 文件2.1 生成 Core 文件2.2 使用 GDB 调试 Core 文件 3. GDB 调试正在运行的程序3…

光谱相机如何还原色彩

多光谱通道采集 光谱相机设有多个不同波段的光谱通道&#xff0c;可精确记录每个波长的光强信息。如 8 到 16 个甚至更多的光谱通道&#xff0c;每个通道负责特定波长范围的光信息记录。这使得相机能分辨出不同光谱组合产生的相同颜色感知&#xff0c;而传统相机的传感器通常只…

AUTOSAR从入门到精通-线控底盘技术

目录 几个高频面试题目 为何高阶智能驾驶需要线控底盘 线控底盘与传统底盘有何区别? 算法原理 线控技术发展背景 国外研究现状 国内研究现状 什么是线控底盘? 组成结构是什么? 线控底盘的发展: 线控底盘名词解释: 汽车线控系统关键技术 线控底盘的组成 电子…

跨境电商使用云手机用来做什么呢?

随着跨境电商的发展&#xff0c;越来越多的卖家开始尝试使用云手机来协助他们的业务&#xff0c;这是因为云手机具有许多优势。那么&#xff0c;具体来说&#xff0c;跨境电商使用云手机可以做哪些事情呢&#xff1f; &#xff08;一&#xff09;实现多账号登录和管理 跨境电商…

springboot项目属性配置方式

基于上篇博客 springboot项目部署到本地&#xff0c;本博客主要讲springboot项目属性配置方式&#xff0c;这篇文章将在后几天持续维护、更新。

Java 多态/向下转型/instanceof

1. 多态 1.1 概述 多态&#xff1a;事务的不同形态&#xff0c;如 动物&#xff0c;其有多种形态&#xff1a;猫&#xff0c;狗之类的&#xff1b; 1.2 使用方法 虚拟方法&#xff08;父类被重写的方法在多态中叫做虚拟方法&#xff09;调用&#xff1a; 父类引用指向子类…

【Maven】resources-plugin

在使用maven的项目中&#xff0c;它默认加载的是resources目录下的资源文件&#xff0c;像properties、xml 这类资源文件&#xff0c;但有时候可能会定义在java 源码目录下&#xff0c;这时候运行项目就会报找不到资源文件的错误 来到classpath 下&#xff0c;发现没有这个xsd…