Etherpad在线文档协作编辑工具
本文最后更新于 2024-01-26,文章内容可能已经过时。
Etherpad在线文档协作编辑工具
Etherpad在线文档协作编辑工具
一、前言
二、安装部署
2.1 安装Node.js 环境
2.2 安装Etherpad
2.3 修改Etherpad配置文件
2.3.1 修改数据据库类型
2.3.2 配置trustProxy = 'true'
2.3.3 开启Etherpad 后台管理,修改管理员用户名密码
2.4 前台运行Etherpad
2.5 后台运行Etherpad
2.6 访问Etherpad
三、常用插件安装
3.1 使用管理界面在线安装插件
四、其他功能配置
4.1 自定义界面风格
4.2 使用Nginx 代理
五、参考
一、前言
二、安装部署
2.1 安装Node.js 环境
2.2 安装Etherpad
2.3 修改Etherpad配置文件
2.3.1 修改数据据库类型
2.3.2 配置trustProxy = 'true'
2.3.3 开启Etherpad 后台管理,修改管理员用户名密码
2.4 前台运行Etherpad
2.5 后台运行Etherpad
2.6 访问Etherpad
三、常用插件安装
3.1 使用管理界面在线安装插件
四、其他功能配置
4.1 自定义界面风格
4.2 使用Nginx 代理
五、参考
一、前言
Etherpad是一种开源的实时协作编辑器,允许多个用户同时编辑同一文档,并实时显示每个用户的输入内容。Etherpad最初由Etherpad基金会开发,后来被Google收购,现在由Apache软件基金会维护。Etherpad可以用于协作编辑文档、记录会议纪要、编写代码等多种场景。现已开源
- 项目地址: github地址:https://github.com/ether/etherpad-lite
- 登录页
- 共享编辑
- 可以记录整个协同写作的过程
- 在线聊天
二、安装部署
- 环境信息
名称 | 版本 | 备注 |
---|---|---|
Centos | centos7.9 | 操作系统 |
Node.js | v14.18.0 | Node.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"
},
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,
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
},
},
2.4 前台运行Etherpad
官方默认的启动脚本 会运行在控制台前台
[root@sre ~]# cd etherpad-lite/bin
[root@sre bin]# ./run.sh --root
- 端口监听在 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
三、常用插件安装
Etherpad提供丰富的插件库,截至文本时间,已经有超过290款插件。
- 使用管理界面安装插件
使用管理界面 `http://ip:port/admin/plugins`, 在线安装
插件名称 | 版本 | 备注 |
---|---|---|
font_color | 0.0.63 | 支持修改字体颜色 |
font_size | 0.0.63 | 支持修改字体大小 |
image_upload | 1.0.101 | 支持上传图片 |
markdown | 0.1.50 | 支持编辑并导出markdown格式 |
sticky_attributes | 0.1.13 | 支持添加对属性的支持,以粘贴在插入符号位置IE按下加粗按钮,创建粗体文本。适用于下划线、斜体、粗体 |
tables4 | 1.0.5 | 支持将表格插入到文档中 |
todo_list | 0.1.2 | 支持将待办事项列表插入到文档中 |
ether-o-meter | 0.0.11 | 显示指标,比如CPU 磁盘 内存 等等 |
desktop_notifications | 0.1.34 | 接收聊天桌面通知 |
3.1 使用管理界面在线安装插件
- 登录插件管理的后台,输入管理员用户名密码
- 找到自己需要的插件直接 Install 即可
四、其他功能配置
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 {
}
}
五、参考
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 运维小弟