在线文档频繁故障不稳定,其实可以自己搭一个Etherpad在线文档

本文介绍了在面临云服务故障时,作者尝试使用轻量级的Etherpad替代Confluence,详细步骤包括在CentOS7虚拟机上安装Node.js、MySQL,并配置Etherpad以适应资源有限的环境,同时指出Etherpad的核心功能和插件扩展性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

966921612f75bbccdd8f7ea948af8967.gif

正文共:1116 字 20 图,预估阅读时间:2 分钟

最近某头部云厂商多次出现故障,导致在线文档使用受限,虽说影响不大,但我们有必要考虑一下是否有备用方案。

在自己搭建在线文档方面,我们之前测试过部署ConfluenceConfluence WiKi,在国产飞腾CPU的虚拟机上装起来了!,但是Confluence使用的系统资源稍微大了一些,像我这种使用轻量云主机的就有点应付不过来了阿里云9块5主机的“开箱作业”

正好现在ChatGPT的4.0版本可用快,跑快点,ChatGPT-4模型免费用了,我们去找他咨询一下。

c0252c1a44750c639ea7d24094830a91.png

从介绍上来看,Etherpad偏轻量化一些,那具体的虚拟机规格要多少呢?

c834ab40feb9d0619b274bb31adc7351.png

确实,只有Etherpad的资源需求最少,最少512 MB内存即可,那我们就用这个项目来试一下吧。

首先,我们准备一台CentOS 7的虚拟机,因为我在公有云的轻量云主机也是这个系统。在开始之前,我们先更新一下系统和软件。

yum install -y epel-release
yum list && yum update -y

运行Etherpad需要Node.js环境,更新好系统之后,我们安装较新版本的Node.js和npm(Node Package Manager,用于JavaScript编程语言的包管理器)。

yum install -y nodejs npm

85763b3f1fbb4c921c4c0960431cfac0.png

Etherpad默认使用文件系统级的数据库(dirtyDB),但这不适用于生产环境。对于生产环境,推荐使用MySQL或PostgreSQL,我们就使用MySQL吧。

yum install -y mariadb-server mariadb

e3292697b100d97097c8925ed4089597.png

安装完MySQL之后,需要启动数据库并进行基本配置。

systemctl start mariadb
systemctl status mariadb

c164e6f9a9aa969dfd3b9b115d8d9022.png

接下来,我们运行一个脚本,完成新MySQL实例的基本配置,包括修改一些不安全的默认设置,帮助保护数据库免受一些基本的攻击。我们可以视情况设置 root 用户密码、移除匿名用户、禁止 root 用户远程登录、移除测试数据库等,最后刷新权限表,确保所有的更改立即生效。

mysql_secure_installation

24341245404018eb241b7382c6513693.png

然后,我们就可以从Etherpad官方网站下载Etherpad的最新版本。

wget https://github.com/ether/etherpad-lite/zipball/master -O etherpad-lite.zip

6096469eebd0bd22d1892af8f81bf194.png

安装包还是很小的,只有4.6 MB,我们解压一下,视情况将解压后文件夹移动到指定目录,因为是测试,我就不动了。

unzip etherpad-lite.zip -d etherpad-lite

6ef8b6bd1cf935634938a6115294487e.png

接下来开始配置Etherpad,首先复制一份settings.json.template得到配置文件settings.json,这个文件控制着Etherpad的许多重要配置选项。

cp settings.json.template settings.json
nano settings.json

96243976ca50679c948819722d7ffdb3.png

确认是否需要调整IP和端口配置,找到以下字段。

b5a88917779dfd53c0f20c3e8adbb7cf.png

ip用于设置Etherpad监听的IP地址,默认值为0.0.0.0,即监听所有接口。port用于设置Etherpad监听的端口,默认值为9001。

因为我们使用的不是默认数据库,所以需要找到以下字段,调整数据库配置。

9ffdbb765c55e4e63a0c9d13a3c3eb52.png

将dirty部分注释掉,取消mysql部分的注释,并按需调整数据库的连接配置信息,包括数据库地址、用户名、密码等。为了方便,我就直接用这套配置创建数据库好了。

"dbType" : "mysql",
"dbSettings" : {
  "user":     "etherpaduser",
  "host":     "localhost",
  "port":     3306,
  "password": "PASSWORD",
  "database": "etherpad_lite_db",
  "charset":  "utf8mb4"
},

先登录MySQL,使用以下命令并输入MySQL的root用户的密码:

mysql -u root -p

创建一个新的数据库,名称为etherpad_lite_db,字符集类型为utf8mb4:

CREATE DATABASE etherpad_lite_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

创建一个新用户etherpaduser,密码设置为PASSWORD,并授予访问刚创建的数据库的权限。

CREATE USER 'etherpaduser'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON etherpad_lite_db.* TO 'etherpaduser'@'localhost';

最后刷新权限表,并退出MySQL命令行。

FLUSH PRIVILEGES;
exit;

3d3c51467869759ecb990ec254f70ba3.png

我们还可以在users部分添加用户名和密码,用来设置一个访问Etherpad管理员界面的管理员账户。

1af09f504bc386ee98aff9cc0dc84b63.png

完成这些调整之后,我们还要让程序自己去安装必要的Node.js依赖,安装文件在bin文件夹下面。

./installDeps.sh

61ec71a0a1b669c5039bdd697f612838.png

等待安装完成之后,Etherpad基本上就可以使用了,我们找到src/node/路径下的server.js,用以下命令启动Etherpad。

node server.js

93809d46a69dede5b97e6cbfa84feafa.png

查看端口9001是否开放。

ccb6affe53225c78e59b2151317fce12.png

然后打开Etherpad的管理页面。

4503d28ae0ab74a6cd879a47549e3933.png

奇怪,没有出现登录页面,直接就是创建或者打开记事本,那我们就先输入一个test1试一下。

好家伙,后台满屏幕的日志。

2a5b6be62067f326aa7e3f12804692bc.png

页面比较简约,好像就是一个在线文档,不支持表格这些。

109cd854bd387a7e9fd13c69f16f268f.png

经查,Etherpad本身主要是一个实时协作的文本编辑器,它的核心功能集中在文本的协作编辑上。它的标准安装主要支持基本的文本编辑功能,如文字输入、格式设置、颜色标记等。至于对表格、图片或更复杂文档格式的支持,Etherpad 的核心版本并不直接提供这些功能。但是,Etherpad 拥有一个活跃的插件生态系统,我们后续可以通过安装特定的插件来扩展其功能,包括对表格、图片等的支持。

dcd4c4dfd4fcd07b20d3b61f3f02f48c.gif

长按二维码
关注我们吧

3847d5e5c35125faf141d2fc53ae7d95.jpeg

081c962b120049602d187b6d97984999.png

快,跑快点,ChatGPT-4模型免费用了

手把手教你在天翼云部署一台FortiGate云主机

PVE8.0-2安装使用快速指导

借PVE8.0的Debian 12系统配置一下NFS服务器

CentOS 7搭建NFS服务器

不想用了PVE了怎么办?那就迁移到VMware呗!

准备搞OpenStack了,先装一台最新的Ubuntu 23.10

如何在Ubuntu 23.10部署KVM并创建虚拟机?

Ubuntu部署OpenStack踩坑指南:还要看系统版本?

HPE服务器通过显卡直通安装Tesla M4,这算亮机成功了吗?

切换到WDDM模式,Tesla M4可以用于本地显示输出了!

能找到Hyper-V和VMware共存的方法吗?

豁出去了,真机带业务演示一把ESXi 6.7升级7.0 U3

飞塔FortiGate的IPsec VPN应该怎么配?

VMware存储管理命令vmkfstools使用指南

VMware使用vmkfstools命令将厚置备虚拟机磁盘转为精简置备

H3C CAS云计算管理平台CVM节点部署

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Danileaf_Guo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值