Etherpad 是用Node.js编写的,并且支持成千上万的同时实时用户。Etherpad 是一个高度可定制的编辑器,支持各种插件。并且还支持现代文档格式,例如 doc、pdf 等。
在 Debian 11 Bullseye 上安装 Etherpad
apt
步骤 1. 在我们安装任何软件之前,通过在终端中运行以下命令来确保您的系统是最新的,这一点很重要:
sudo apt update sudo apt upgrade sudo apt install gzip git curl python libssl-dev pkg-config gcc g++ make build-essential
步骤 2. 安装 Node.js。
Etherpad 是用 Node.js 编写的,所以它必须安装在您的服务器上:
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
接下来,通过运行以下命令从 Nodesource 存储库安装 Node.js 16.x:
sudo apt install nodejs
验证 Node.js 版本:
node --version
步骤 3. 安装 MariaDB。
运行以下命令在您的服务器上安装 MariaDB :
sudo apt install mariadb-server
默认情况下,MariaDB 未加固。mysql_secure_installation
您可以使用脚本保护 MariaDB 。您应该仔细阅读下面的每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录,以及删除测试数据库和访问安全 MariaDB:
mysql_secure_installation
像这样配置它:
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
接下来,我们需要登录 MariaDB 控制台并为 Etherpad 创建一个数据库。运行以下命令:
mysql -u root -p
这将提示您输入密码,因此请输入您的 MariaDB 根密码并按 Enter。登录到数据库服务器后,您需要为 Etherpad 安装创建一个数据库:
MariaDB [(none)]> CREATE DATABASE etherpad_db; MariaDB [(none)]> CREATE USER 'etherpad_user'@'localhost' IDENTIFIED BY 'your-strong-password'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON etherpad_db.* to etherpad_user@'localhost'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> exit
步骤 4. 在 Debian 11 上安装 Etherpad。
默认情况下,Etherpad 在 Debian 11 基础存储库中不可用。所以,现在我们从官方页面下载最新的稳定版 Etherpad:
sudo adduser --system --no-create-home --home=/opt/etherpad-lite --group etherpad git clone --branch master https://github.com/ether/etherpad-lite.git
我们将需要更改一些文件夹权限:
sudo chown -R etherpad:etherpad etherpad-lite
接下来,导航到目录“ ”并使用安装程序脚本“ ”安装所有 Node.js 依赖项:etherpad-lite/
installDeps.sh
cd /opt/etherpad-lite sudo su -s /bin/bash -c "./bin/installDeps.sh" etherpad
步骤 5. 配置 Etherpad。
现在我们编辑文件并定义您的数据库设置:settings.json
nano settings.json
注释掉以下几行:
/*
*"dbType": "dirty",
*"dbSettings": {
* "filename": "var/dirty.db"
*},
*/
更改以下行:
"dbType" : "mysql", "dbSettings" : { "user": "etherpad_user", "host": "localhost", "port": 3306, "password": "your-strong-password", "database": "etherpad_db", "charset": "utf8mb4" },
步骤 6. 为 Etherpad 创建 Systemd 服务文件。
现在创建一个systemd
服务文件来管理 Etherpad 服务:
sudo nano /etc/systemd/system/etherpad.service
添加以下文件:
[Unit] Description=Etherpad-lite, the collaborative editor. After=syslog.target network.target [Service] Type=simple User=etherpad Group=etherpad WorkingDirectory=/opt/etherpad-lite Environment=NODE_ENV=production ExecStart=/usr/bin/node --experimental-worker /opt/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js # use mysql plus a complete settings.json to avoid Service hold-off time over, scheduling restart. Restart=always [Install] WantedBy=multi-user.target
保存并关闭文件,然后重新加载systemd
管理器以应用新的服务文件:
sudo systemctl daemon-reload sudo systemctl enable --now etherpad sudo systemctl status etherpad
步骤 7. 为 Etherpad 配置 Nginx 反向代理。
首先,使用以下命令安装 Nginx:
sudo apt install nginx
安装 Nginx 后,使用以下命令启动并启用 Nginx 服务:
sudo systemctl start nginx
sudo systemctl enable nginx
接下来,创建一个 Nginx 虚拟主机配置文件:
sudo nano /etc/nginx/sites-available/etherpad
添加以下文件:
# enforce HTTPS server { listen 80; listen [::]:80; server_name etherpad.example.io; return 301 https://$host$request_uri; } # we're in the http context here map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name etherpad.your-domain.com; access_log /var/log/nginx/eplite.access.log; error_log /var/log/nginx/eplite.error.log; ssl_certificate /etc/letsencrypt/live/etherpad.example.io/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/etherpad.example.io/privkey.pem; ssl_session_timeout 5m; ssl_protocols TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 \ EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 \ EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"; location / { proxy_pass http://127.0.0.1:9001; proxy_buffering off; # be careful, this line doesn't override any proxy_buffering on set in a conf.d/file.conf proxy_set_header Host $host; proxy_pass_header Server; # Note you might want to pass these headers etc too. proxy_set_header X-Real-IP $remote_addr; # https://nginx.org/en/docs/http/ngx_http_proxy_module.html proxy_set_header X-Forwarded-For $remote_addr; # EP logs to show the actual remote IP proxy_set_header X-Forwarded-Proto $scheme; # for EP to set secure cookie flag when https is used proxy_http_version 1.1; # recommended with keepalive connections # WebSocket proxying - from https://nginx.org/en/docs/http/websocket.html proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } }
保存并关闭文件,然后激活虚拟主机配置:
sudo ln -s /etc/nginx/sites-available/etherpad /etc/nginx/sites-enabled/ nginx -t sudo systemctl restart nginx
步骤 8. 配置防火墙。
默认情况下,在 Debian 上启用了 UFW 防火墙。根据您的 Apache 虚拟主机配置文件,打开端口 80 和 443 以允许 HTTP 和 HTTPS 流量:
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw reload
步骤 9. 访问 Etherpad Web 界面。
成功安装后,打开您的网络浏览器并使用 URL 访问 Matomo 。您将被重定向到 Matomo 界面页面:https://etherpad.your-domain.com
感谢您使用本教程在 Debian 11 Bullseye 上安装最新版本的 Etherpad。如需更多帮助或有用信息,我们建议您查看官方 Etherpad 网站。