REC
King's blog

安装 Syncthing ,实现服务器文件同步

King
6天前发布

https://docs.vps.town/guide/how-to-install-syncthing-vps-town.html">

什么是 Syncthing?

Syncthing 是一个开源、免费、跨平台的点对点 (P2P) 文件同步工具。与传统的云存储服务(如 Dropbox 或 Google Drive)不同,Syncthing 的数据传输是去中心化的,直接在您控制的设备之间进行,不经过任何中央服务器。这为您提供了更高的数据隐私性和控制权。

在服务器上使用 Syncthing 可以带来诸多便利:

  • 服务器文件备份: 将服务器上的重要配置文件、网站数据等实时同步到您的本地电脑或其他服务器。
  • 多服务器文件分发: 如果您管理多个 VPS.Town 实例,可以使用 Syncthing 轻松地将文件或更新分发到所有实例。
  • 构建个人同步云: 结合 VPS.Town 服务器的稳定在线特性,您可以将其作为同步网络中的一个可靠节点。

本教程将指导您在基于 Debian 12 的服务器上安装和基本配置 Syncthing。

准备工作

在开始之前,请确保您满足以下条件:

  • 至少拥有一台运行 Debian 12 的服务器实例。
  • 您需要同步的另一台设备(可以是本地电脑 Windows/macOS/Linux,或另一台服务器)。
  • 具备基本的 Linux 命令行操作知识。
  • 拥有服务器的 root 权限或 sudo 权限。

在 VPS.Town 服务器 (Debian 12) 上安装 Syncthing

我们将使用 Syncthing 官方推荐的 APT 仓库进行安装,以确保获取最新版本。该方法在 Debian 12 上运行良好。

1. 安装依赖 (如果需要):

确保 curlgpg 已安装。通常 Debian 12 默认包含,但执行一下无妨。

sudo apt update
sudo apt install curl gpg -y

2. 添加 Syncthing 的 PGP 密钥:

sudo curl -s -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg

这条命令会下载 Syncthing 的发布密钥并保存到指定位置,用于验证软件包的真实性。

3. 添加 Syncthing 的 APT 仓库:

推荐使用 stable (稳定版) 频道。

echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list

这条命令将 Syncthing 的稳定版仓库地址写入 APT 的源列表文件中。

4. 更新软件包列表并安装 Syncthing:

sudo apt update
sudo apt install syncthing -y

首先更新本地的软件包索引,然后执行安装命令。

5. 验证安装:

syncthing --version

如果看到 Syncthing 的版本号输出,则表示安装成功,输出应该类似于这样:

syncthing v1.29.5 "Gold Grasshopper" (go1.24.2 linux-amd64) debian@github.syncthing.net 2025-04-12 12:55:24 UTC [noupgrade]

首次配置与访问 Web UI

Syncthing 提供了一个基于 Web 的图形用户界面 (GUI) 来进行管理。默认情况下,它只监听本地回环地址 (127.0.0.1) 的 8384 端口,需要修改配置才能从外部访问。

1. 首次运行 Syncthing (生成配置):

在服务器上执行一次 syncthing 命令(最好是非 root 的普通用户),它会生成默认的配置文件,然后按 Ctrl+C 停止它。

syncthing

#下面是我执行以后输出的最后几行
# [35WMX] 2025/04/13 21:15:25 INFO: Creating new HTTPS certificate
#[35WMX] 2025/04/13 21:15:25 INFO: Ready to synchronize "Default Folder" (default) (sendreceive)
#[35WMX] 2025/04/13 21:15:25 INFO: Completed initial scan of sendreceive folder "Default Folder" (default)
#[35WMX] 2025/04/13 21:15:25 INFO: GUI and API listening on 127.0.0.1:8384
#[35WMX] 2025/04/13 21:15:25 INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
#[35WMX] 2025/04/13 21:15:25 INFO: My name is "HKG-A2-AF0CIDDAFCR68WMC"
#[35WMX] 2025/04/13 21:15:25 WARNING: Syncthing should not run as a privileged or system user. Please consider using a normal user account.

2. 确认并编辑配置文件:

Syncthing 的配置文件通常位于 /用户名/.local/state/syncthing/config.xml。您可以通过以下命令确认具体路径:

syncthing --paths

记下 "Configuration" 对应的路径。下面以常见的 /root/.local/state/syncthing/config.xml 为例进行编辑(如果您的路径不同,请替换命令中的路径):

nano /root/.config/syncthing/config.xml

3. 允许远程访问 Web UI (重要!):

找到 <gui> 标签下的 <address> 行,将其内容从 127.0.0.1:8384 修改为 0.0.0.0:8384

<gui enabled="true" tls="false" debugging="false">
    <address>0.0.0.0:8384</address> <!-- 修改这里 -->
    <!-- user 和 password 稍后在 Web UI 中设置 -->
    <user></user>
    <password></password>
    <apikey>...</apikey>
    <theme>default</theme>
</gui>

Ctrl+X,然后按 Y 保存,最后按 Enter 确认。

也可以使用一键命令来进行修改(需替换自己的路径)

sed -i 's|<address>127.0.0.1:8384</address>|<address>0.0.0.0:8384</address>|g' /root/.local/state/syncthing/config.xml

4. 启动 Syncthing 服务 (Systemd):

为了让 Syncthing 在后台持续运行并开机自启,我们使用 systemd。将 <user> 替换为您运行 Syncthing 的用户名(必须是您生成配置文件的那个用户)。

sudo systemctl enable syncthing@<user>.service
sudo systemctl start syncthing@<user>.service

例如,如果您的用户名是 vpstownuser

sudo systemctl enable syncthing@vpstownuser.service
sudo systemctl start syncthing@vpstownuser.service

检查服务状态:

systemctl status syncthing@<user>.service

如果服务正常运行,您应该看到 Active (running) 的状态。

5. 访问 Web UI 并进行初始设置:

  • 如果配置了公网访问: 在浏览器中访问 http://<你的服务器 IP>:8384
  • 如果使用 SSH 隧道 : 在您的 本地电脑 上打开终端,运行以下命令(将 <user> 替换为您服务器的用户名,<你的服务器 IP> 替换为实际 IP):

    ssh -L 8384:localhost:8384 <user>@<你的 VPS.Town 服务器 IP>

    保持这个 SSH 连接处于活动状态,然后在您的 本地电脑 浏览器中访问 http://localhost:8384。这种方式更安全,无需暴露端口或修改监听地址。

首次访问 Web UI 时,Syncthing 会提示您设置界面访问的用户名和密码。请务必设置一个强密码!
img1.png

点击提示框里面的 "Settings" (设置),在 "GUI" 选项卡中设置 "GUI Authentication User" (用户名) 和 "GUI Authentication Password" (密码),然后点击 "Save" (保存)。浏览器会要求您使用新凭据重新登录。

img2.png

至此,安装完成

使用

下次填坑,可以参考其官方文档或移步搜索引擎。

总结

通过以上步骤,您已成功在您的 Debian 12 服务器上安装并配置了 Syncthing,并与您的本地电脑建立了一个安全、自动的文件同步通道。

Syncthing 功能强大,还支持文件版本控制、忽略规则、单向同步等高级功能,您可以进一步探索其官方文档 来满足更复杂的需求。

现在,您可以利用 Syncthing 轻松地备份服务器数据、在多设备间保持文件一致,享受去中心化同步带来的便利和安全性。

喜欢就支持一下吧
点赞 0 分享 收藏
评论 抢沙发
OωO
取消