Etherpad在线文档协作编辑工具

news2024/11/16 17:43:43

Etherpad在线文档协作编辑工具

一、前言

Etherpad是一种开源的实时协作编辑器,允许多个用户同时编辑同一文档,并实时显示每个用户的输入内容。Etherpad最初由Etherpad基金会开发,后来被Google收购,现在由Apache软件基金会维护。Etherpad可以用于协作编辑文档、记录会议纪要、编写代码等多种场景。现已开源

  • 项目地址: github地址:https://github.com/ether/etherpad-lite

  • 登录页

image-20230608103410911
  • 共享编辑

  • 可以记录整个协同写作的过程

  • 在线聊天

二、安装部署

  • 环境信息
名称版本备注
Centoscentos7.9操作系统
Node.jsv14.18.0Node.js

2.1 安装Node.js 环境

 #下载node-v14.18.0
 [root@sre ~]# wget https://npm.taobao.org/mirrors/node/v14.18.0/node-v14.18.0-linux-x64.tar.xz
 
 
#解压并重命名
[root@sre ~]# tar -xf node-v14.18.0-linux-x64.tar.xz -C /usr/local
[root@sre ~]# mv /usr/local/node-v14.18.0-linux-x64 /usr/local/nodejs

#设置环境变量
[root@sre ~]# vim /etc/profile
#在最下面追加几行

#nodejs
export PATH=/usr/local/nodejs/bin:$PATH


#使环境变量生效
[root@sre ~]# source /etc/profile

#通过这个命令进行测试
[root@sre ~]# node -v
v14.18.0

[root@sre ~]# npm -v
6.14.15


#设置淘宝npm加速
[root@sre ~]# npm config set registry https://registry.npm.taobao.org

#通过这个命令进行测试
[root@sre ~]# npm config get registry

2.2 安装Etherpad

#下载最新的包
[root@sre ~]# wget https://github.com/ether/etherpad-lite/archive/1.8.18.zip

#重命名包并查看包内容
[root@sre ~]# mv etherpad-lite-1.8.18/ etherpad-lite

[root@sre ~]# ll etherpad-lite
总用量 156
lrwxrwxrwx 1 root root     7 6月   8 10:43 bin -> src/bin
-rw-r--r-- 1 root root 53690 5月   6 2022 CHANGELOG.md
-rw-r--r-- 1 root root  8922 5月   6 2022 CONTRIBUTING.md
drwxr-xr-x 6 root root   249 5月   6 2022 doc
-rw-r--r-- 1 root root  3412 5月   6 2022 Dockerfile
-rw-r--r-- 1 root root 11353 5月   6 2022 LICENSE
-rw-r--r-- 1 root root   849 5月   6 2022 Makefile
drwxr-xr-x 2 root root    30 5月   6 2022 node_modules
-rw-r--r-- 1 root root 12525 5月   6 2022 README.md
-rw-r--r-- 1 root root   118 5月   6 2022 SECURITY.md
-rw-r--r-- 1 root root 21473 5月   6 2022 settings.json.docker
-rw-r--r-- 1 root root 19295 5月   6 2022 settings.json.template
drwxr-xr-x 8 root root   208 5月   6 2022 src
-rw-r--r-- 1 root root   695 5月   6 2022 start.bat
lrwxrwxrwx 1 root root     9 6月   8 10:43 tests -> src/tests
drwxr-xr-x 2 root root    24 5月   6 2022 var

#安装Etherpad依赖初始化
[root@sre ~]# cd etherpad-lite/bin
[root@sre bin]# ./installDeps.sh 

2.3 修改Etherpad配置文件

  • Etherpad 默认的数据库是SQLite,本次我们修改成mysql,并且提前创建好数据库实列
  • trustProxy = ‘true’ ,用于指示Etherpad是否应该信任代理服务器发送的X-Forwarded-*标头。用于使用 nginx 的代理到Etherpad
  • 开启Etherpad 后台管理功能,修改默认的用户名密码

2.3.1 修改数据据库类型

#为Etherpad创建一个数据库和用户,用户名/密码: etherpad/etherpad@2023
MariaDB [(none)]> CREATE DATABASE etherpad;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON etherpad.* TO 'etherpad'@'localhost' IDENTIFIED BY 'etherpad@2023';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q


#根据模板文件创建新的配置文件
[root@sre ~]# cd /root/etherpad-lite/

[root@sre etherpad-lite]# cp settings.json.template  settings.json


[root@sre etherpad-lite]#  vim settings.json

#修改配置文件
#注释掉dbType": "dirty 几行
/*
  "dbType": "dirty",
  "dbSettings": {
    "filename": "var/dirty.db"
  },
/*

#去掉mysql的注释,配置mysql 用户信息
  "dbType" : "mysql",
  "dbSettings" : {
    "user":     "etherpad",
    "host":     "localhost",
    "port":     3306,
    "password": "etherpad@2023",
    "database": "etherpad",
    "charset":  "utf8mb4"
  },

image-20230608112949917

2.3.2 配置trustProxy = ‘true’

用于指示Etherpad是否应该信任代理服务器发送的X-Forwarded-*标头。用于使用 nginx 的代理到Etherpad

[root@sre ~]# cd /root/etherpad-lite/
[root@sre etherpad-lite]#  vim settings.json

  "trustProxy": true,

image-20230608113511279

2.3.3 开启Etherpad 后台管理,修改管理员用户名密码

[root@sre ~]# cd /root/etherpad-lite/
[root@sre etherpad-lite]#  vim settings.json

  "users": { 
    "admin": {
      "password": "etherpad@2023",
      "is_admin": true
    },
  },

image-20230608135416673

2.4 前台运行Etherpad

官方默认的启动脚本 会运行在控制台前台

[root@sre ~]# cd etherpad-lite/bin
[root@sre bin]# ./run.sh --root

image-20230608105027324

  • 端口监听在 0.0.0.0:9001 上 ,关闭控制台 Etherpad服务就会退出了,不推荐前台运行Etherpad

2.5 后台运行Etherpad

编写一个启动脚本,放在后台运行即可

[root@sre ~ ]# cd /root/etherpad-lite

[root@sre etherpad-lite ]# vim start.sh 
nohup /root/etherpad-lite/bin/run.sh --root >> /root/etherpad-lite/output.log 2>&1 &

[root@sre etherpad-lite ]# ./stgart.sh

2.6 访问Etherpad

image-20230608105148029

三、常用插件安装

Etherpad提供丰富的插件库,截至文本时间,已经有超过290款插件。

  • 使用管理界面安装插件

​ 使用管理界面 http://ip:port/admin/plugins, 在线安装

插件名称版本备注
font_color0.0.63支持修改字体颜色
font_size0.0.63支持修改字体大小
image_upload1.0.101支持上传图片
markdown0.1.50支持编辑并导出markdown格式
sticky_attributes0.1.13支持添加对属性的支持,以粘贴在插入符号位置IE按下加粗按钮,创建粗体文本。适用于下划线、斜体、粗体
tables41.0.5支持将表格插入到文档中
todo_list0.1.2支持将待办事项列表插入到文档中
ether-o-meter0.0.11显示指标,比如CPU 磁盘 内存 等等
desktop_notifications0.1.34接收聊天桌面通知

3.1 使用管理界面在线安装插件

  • 登录插件管理的后台,输入管理员用户名密码

image-20230608140425995

  • 找到自己需要的插件直接 Install 即可

image-20230608141327997

四、其他功能配置

4.1 自定义界面风格

通过访问http://172.16.10.37:9001/p/test#skinvariantsbuilder,即设置编辑器的风格。

Etherpad 支持设置顶部菜单、背景区、编辑区的背景,提供了四种不同的样式用于选择,想用哪种随你选。

4.2 使用Nginx 代理

**Nginx 安装过程省略,这里只贴出代理的nginx配置文件,注意Etherpad 的配置文件中的要设置成 trustProxy = ‘true’ **

[root@sre offline]# cat etherpad.conf 
server {
        listen       80;
	    listen 443 ssl;
        server_name  etherpad.xxx.link;
        root         /usr/share/nginx/html;
        ssl_certificate /etc/opt/rh/rh-nginx116/nginx/cert/xxx/xxx.crt;
        ssl_certificate_key /etc/opt/rh/rh-nginx116/nginx/cert/xxx.link/xxx.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;

        location / {
		proxy_pass http://172.16.10.37:9001;
		client_max_body_size 200m;
		proxy_set_header            Host $host;
        proxy_set_header            X-real-ip $remote_addr;
        proxy_set_header            X-Forwarded-For $remote_addr;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

五、参考

  • https://developer.aliyun.com/article/993554?accounttraceid=de974e40289e418c99e0c57ae3d80d11irqk
  • https://cloud.tencent.com/developer/article/2188250

本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 运维小弟

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ElasticSearch-集群架构

核心概念 节点类型分片集群搭建 ES安全认证 集群内部安全通信 生产环境常见集群部署方式 单一角色增加节点水平扩展读写分离架构异地多活架构Hot & Warm 架构集群容量规划 产品信息库搜索时间序列的数据 核心概念 ES集群架构的优势 提高系统的可用性,部分节点…

【QT】学习笔记:枚举桌面窗口句柄

在 Qt 中,虽然 Qt 本身没有直接提供枚举桌面窗口的 API,但可以通过调用 Windows API 来实现枚举桌面上所有窗口的句柄,包括子窗口以及子窗口与父窗口的关系。我们可以使用 Windows 的 EnumWindows 和 EnumChildWindows 函数来枚举所有顶层窗口…

C语言指针进阶三:(回调函数,qsort函数的模拟)

回调函数 回调函数就是通过函数指针调用的函数,如果你把函数的指针作为参数传递给另一个函数,当这个指针被用来调用其指向的函数时,我们所说这就是回调函数。 qsort函数的使用(回调函数案例) 我们先看看qsort函数的…

【单调栈 】2289. 使数组按非递减顺序排列

本文涉及的基础知识点 单调栈分类、封装和总结 LeetCode2289. 使数组按非递减顺序排列 给你一个下标从 0 开始的整数数组 nums 。在一步操作中&#xff0c;移除所有满足 nums[i - 1] > nums[i] 的 nums[i] &#xff0c;其中 0 < i < nums.length 。 重复执行步骤&a…

【重磅推荐】《一本书读懂大模型:技术创新、商业应用与产业变革》发布!大模型零基础入门到精通

近日&#xff0c;由中国电信研究院天翼智库大模型研究团队编写、中国电信集团科技委主任邵广禄倾情作序的**《一本书读懂大模型&#xff1a;技术创新、商业应用与产业变革》**正式出版。本书系统介绍了大模型技术的发展历程、核心技术、行业应用、产业体系、治理问题以及未来展…

DeFi 发展的岔路口,Pencils Protocol带领投资者们“向前看”

DeFi 市场是否还存在 Alpha 机会&#xff1f; 走下坡路的 DeFi 去中心化金融&#xff08;DeFi&#xff09;曾是区块链世界发展的起点&#xff0c;也是链上世界流动性的重要支柱。然而&#xff0c;自 2021 年 DeFi 领域的总锁仓量&#xff08;TVL&#xff09;达到历史巅峰——…

模型压缩之剪枝

&#xff08;1&#xff09;通道选择 这里要先解释一下&#xff1a; &#xff08;1&#xff09;通道剪枝 那我们实际做法不是上面直接对所有层都添加L1正则项&#xff0c;而是仅仅对BN层权重添加L1正则项。通道剪枝具体步骤如下&#xff1a; 1.BN层权重添加L1正则项&#xf…

ElementUI实现el-table组件的合并行功能

前言 有时遇到一些需求&#xff0c;需要实现ElementUI中&#xff0c;el-tabled组件合并单元格的功能&#xff0c;稍微了解一下它的数据格式&#xff0c;不难可以写出比合并方法。但是在鼠标经过单元行时&#xff0c;会出现高亮的行与鼠标经过的行不一致的BUG。因此还需要实现c…

超级右键 - 为 Mac 的右键菜单升级一下

是不是有很多小伙伴&#xff0c;希望 Mac 也能像 Windows 一样&#xff0c;拥有丰富的右键菜单&#xff0c;快速完成新建、剪切、发送文件等操作。 一个叫作超级右键的工具就能做到&#xff0c;它能为 Mac 右键菜单增添多个功能选项&#xff0c;如 Win 系统般一键新建 / 剪切文…

vue通过html2canvas+jspdf生成PDF问题全解(水印,分页,截断,多页,黑屏,空白,附源码)

前端导出PDF的方法不多&#xff0c;常见的就是利用canvas画布渲染&#xff0c;再结合jspdf导出PDF文件&#xff0c;代码也不复杂&#xff0c;网上的代码基本都可以拿来即用。 如果不是特别追求完美的情况下&#xff0c;或者导出PDF内容单页的话&#xff0c;那么基本上也就满足业…

我的大模型岗位面试总结!太卷了!!!—我面试了24家大模型岗位 只拿了9个offer!

这段时间面试了很多家&#xff08;共24家&#xff0c;9个offer&#xff0c;简历拒了4家&#xff0c;剩下是面试后拒的&#xff09;&#xff0c;也学到了超级多东西。 大模型这方向真的卷&#xff0c;面试时好多新模型&#xff0c;新paper疯狂出&#xff0c;东西出的比我读的快…

传统CV算法——基于opencv的答题卡识别判卷系统

基于OpenCV的答题卡识别系统&#xff0c;其主要功能是自动读取并评分答题卡上的选择题答案。系统通过图像处理和计算机视觉技术&#xff0c;自动化地完成了从读取图像到输出成绩的整个流程。下面是该系统的主要步骤和实现细节的概述&#xff1a; 1. 导入必要的库 系统首先导入…

误删的PPT怎么恢复回来?

在日常工作和学习中&#xff0c;PPT已成为我们不可或缺的工具。然而&#xff0c;有时不小心误删重要的PPT文件&#xff0c;可能会让人倍感焦虑。别担心&#xff0c;本文将为你提供几种实用的方法&#xff0c;帮助你轻松恢复误删的PPT文件。 一、从回收站恢复 当你误删文件时&…

【Grafana】Prometheus结合Grafana打造智能监控可视化平台

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

香港一带一路研究院国际事务研究中心副主任陈景才阐述香港在一带一路建设及区块链金融领域的关键作用

2024年8月28日&#xff0c;香港金管局举行Ensemble项目沙盒&#xff08;以下简称沙盒&#xff09;启动仪式&#xff0c;并宣布首阶段试验将涵盖四大代币化资产用例主题&#xff0c;标志着金融业在代币化技术的实际应用进程中迈出重要一步。香港一带一路研究院国际事务研究中心副…

解剖学上合理的分割:通过先验变形显式保持拓扑结构|文献速递--基于深度学习的医学影像病灶分割

Title 题目 Anatomically plausible segmentations: Explicitly preserving topology through prior deformations 解剖学上合理的分割&#xff1a;通过先验变形显式保持拓扑结构 01 文献速递介绍 进行环向应变或壁厚度的计算&#xff0c;这些测量通常用于诊断肥厚性心肌病…

IDEA 安装lombok插件不兼容的问题及解决方法

解决&#xff1a;IDEA 安装lombok插件不兼容问题&#xff0c;plugin xxxx is incompatible 一、去官网下载最新的2024版本 地址传送通道&#xff1a; lombok插件官网地址https://plugins.jetbrains.com/plugin/6317-lombok/versions/stable 二、修改参数的配置 在压缩包路径…

理解C++的【内部链接】和【外部链接】

一、前言 最近在看《大规模C程序设计》一书&#xff0c;看第一章关于内部链接和外部链接这部分时&#xff0c;有点不太明白。通过书本理解和网上查阅文献&#xff0c;在此记录一下自己对这部分知识点的理解。 首先&#xff0c;提几个问题&#xff1a; 什么是内部链接&#x…

全域运营公司哪家做得好?全域运营系统综合评测结果揭晓!

作为当前火爆的风口项目&#xff0c;一直以来&#xff0c;全域运营都以其广阔的业务范围和巨大的收益潜力吸引着一批又一批的创业者入局分羹&#xff0c;使得全域运营公司哪家做得好等问题一度成为了相关创业者交流群内的讨论重点。 从目前的市场情况来看&#xff0c;由于进入…

定期加强医疗器械维修技能学习重要性

医学影像技术是现代医疗的重要支撑,是辅助临床诊断和治疗不可或缺的技术手段。影像医疗设备成像质量的优劣程度在一定程度上决定了疾病诊断结果的准确性,而术中使用的影像设备的优劣甚至可能影响手术的成功率。因此保证设备正常使用是重中之重&#xff0c;设备售后维修保养也就…