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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 在线文档频繁故障不稳定,其实可以自己搭一个Etherpad在线文档


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

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

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

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

确实,只有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

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

yum install -y mariadb-server mariadb

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

systemctl start mariadb
systemctl status mariadb

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

mysql_secure_installation

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

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

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

unzip etherpad-lite.zip -d etherpad-lite

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

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

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

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

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

将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;

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

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

./installDeps.sh

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

node server.js

查看端口9001是否开放。

然后打开Etherpad的管理页面。

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

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

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

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


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
JavaScript 关系型数据库 MySQL
超级实用,centos7.3安装 Etherpad 搭建一个线上协同创作平台(多人一起在线编写)
超级实用,centos7.3安装 Etherpad 搭建一个线上协同创作平台(多人一起在线编写)
1128 0
超级实用,centos7.3安装 Etherpad 搭建一个线上协同创作平台(多人一起在线编写)
|
网络协议
地址重叠时,用户如何通过NAT访问对端IP网络?
地址重叠时,用户如何通过NAT访问对端IP网络?
|
Ubuntu
Ubuntu 安装使用yum
Ubuntu 安装使用yum
2865 0
|
Web App开发 移动开发 前端开发
重磅推荐六款优秀的开源协作编辑工具
重磅推荐六款优秀的开源协作编辑工具
3031 0
重磅推荐六款优秀的开源协作编辑工具
|
Web App开发 域名解析 缓存
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
本文我们主要为大家介绍在 Ubuntu 20.04 上安装 Node.js 和 npm 的三种不同的方式。
161818 7
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
|
10月前
|
运维 网络安全 数据安全/隐私保护
Nextcloud一键部署:快速搭建如企业钉钉或飞书的团队协作平台
Nextcloud Hub 是一款来自德国的完全开源的云上托管内容协作平台。团队内成员可以通过移动、桌面和 Web 界面访问、共享和编辑文档,聊天和参与视频通话以及管理邮件、日历和项目。目前,Nextcloud的产品定位是在保障数据安全下的完整协作平台,功能类似国内的企业钉钉或飞书。Nextcloud官网:[https://nextcloud.com/](https://nextcloud.com/) 。
Nextcloud一键部署:快速搭建如企业钉钉或飞书的团队协作平台
|
10月前
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
6553 1
|
12月前
|
JavaScript 前端开发 API
vue3 v-md-editor markdown编辑器(VMdEditor)和预览组件(VMdPreview )的使用
本文介绍了如何在Vue 3项目中使用v-md-editor组件库来创建markdown编辑器和预览组件。文章提供了安装步骤、如何在main.js中进行全局配置、以及如何在页面中使用VMdEditor和VMdPreview组件的示例代码。此外,还提供了一个完整示例的链接,包括编辑器和预览组件的使用效果和代码。
vue3 v-md-editor markdown编辑器(VMdEditor)和预览组件(VMdPreview )的使用
|
12月前
|
关系型数据库 MySQL Linux
Linux 安装 mysql 【使用 tar.gz | tar.xz安装包-离线安装】
在Linux系统中使用tar.xz压缩包安装MySQL数据库的详细步骤。包括下载MySQL压缩包,解压到指定目录,创建mysql用户和组,设置目录权限,初始化MySQL,配置my.cnf文件,启动服务,以及修改root用户密码。此外,还提供了如何设置Windows远程登录MySQL服务器的方法。
Linux 安装 mysql 【使用 tar.gz | tar.xz安装包-离线安装】
|
消息中间件 Java 网络安全
阿里RocketMQ安装服务器及客户端
阿里RocketMQ安装服务器及客户端
889 0