背景:
初中教学过程中,学生无法使用手机导致WPS等软件无法登录,该服务器可以实现免登录操作
详细过程
远程连接到服务器,通过终端进行操作
步骤1.首先,通过apt在终端中运行以下命令来确保所有系统软件包都是最新的。
sudo apt-get update -y
sudo apt-get upgrade -y
第2步。安装所需要的资源包
apt-get install libssl-dev pkg-config git gcc g++ make build-essential gnupg2 -y
#下载并安装nodejs(这里选择20.x版本)
curl -sL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt-get install nodejs -y
#查看版本号
node -v
#显示结果为:
v20.10.4
第3步:安装并配置MariaDB数据库
sudo apt-get install mariadb-server -y
#创建数据库
sudo mydql
MariaDB [(none)]> create database etherpaddb;
MariaDB [(none)]> grant all privileges on etherpaddb.* to etherpad@localhost identified by 'secure-password';
#保存刷新并退出
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
第4步:安装并配置Etherpad
#创建用户
sudo adduser --home /opt/etherpad --shell /bin/bash etherpad
#修改目录权限
install -d -m 755 -o etherpad -g etherpad /opt/etherpad
#切换用户
su - etherpad
#检测nodejs是否正常
node -v
#如果输出版本号跟之前一样则可以继续操作
v20.10.4
#下载并安装etherpad
git clone --branch master https://github.com/ether/etherpad-lite.git
#进入目录并执行程序
cd etherpad-lite
bin/run.sh
如果出现一堆的内容,然后显示etherpad is running,说明已经正常可以运行,在客户端上运行http://IP:9001,就可以看到主界面
第4.1步:对系统做配置,先用CTRL+C停止运行服务器,这里客户端会无法访问
#修改setting.json配置文件
nano settings.json
#找到以下代码,删除或备注掉
"dbType" : "dirty",
"dbSettings" : {
"filename" : "var/dirty.db"
},
#往下移一点点,找到以下代码修改并去除备注
"dbType" : "mysql",
"dbSettings" : {
"user": "etherpad",
"host": "localhost",
"port": 3306,
"password": "secure-password",
"database": "etherpaddb",
"charset": "utf8mb4"
},
#如果需要反向代码则修改trustProxy 为 true,因为我在校内供学生使用,所以不改
"trustProxy": true,
#修改管理员密码,这个作用是可以直接通过 http://IP:9001/admin 进行后续管理
"users": {
"admin": {
"password": "secure-password",
"is_admin": true
},
#保存并执行所需的依赖项
./bin/installDeps.sh
#退出当前用户
exit
第5步:开机自动启用相应服务
#创建服务
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/etherpad-lite
Environment=NODE_ENV=production
ExecStart=/usr/bin/node /opt/etherpad/etherpad-lite/src/node/server.js
Restart=always
[Install]
WantedBy=multi-user.target
#保存并重新加载
systemctl daemon-reload
#重启相应的服务
systemctl start etherpad
systemctl enable etherpad
#检测9001端口是否正常被使用
ss -plntu | grep 9001
#显示类似结果则正常,没回显则可能有故障
tcp LISTEN 0 511 0.0.0.0:9001 0.0.0.0:* users:(("node",pid=14235,fd=27))
第6步:如果有作反向代理则操作(仅供参考)
#下载并安装nginx
sudo apt-get install nginx -y
#创建配置文件
nano /etc/nginx/sites-available/etherpad.conf
#将以下内容复制到文件中
upstream etherpad {
server localhost:9001;
keepalive 32;
}
server {
listen 80;
server_name etherpad.example.com;
location / {
client_max_body_size 50M;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_pass http://etherpad;
}
}
#保存并激活
ln -s /etc/nginx/sites-available/etherpad.conf /etc/nginx/sites-enabled/
#重启服务
systemctl restart nginx
最后:访问Etherpad
如果是内网,只需要http://IP:9001即可出现主界面;
如果是外网,根据上方设置,打开http://etherpad.example.com即可
输入内容点击OK,则打开一个文档,如果这个文档不存在,则新建该文档;如果点击New Pad,则随机产生文件名