当前位置:首页 > 其他 > 正文内容

debian/ubuntu/centos7系统安装syncthing文件同步软件教程

23vps2年前 (2022-09-16)其他1203

实验系统:debian10/ubuntu/CentOS7 64位


阿里云限量代金券 | 此广告位出租25元/月

用putty或者其他ssh工具连上服务器,然后用wget命令下载Syncthing的Linux 64位版,版本号对应官网上的最新版,请自行选择:

wget https://github.com/syncthing/syncthing/releases/download/v1.22.2/syncthing-linux-amd64-v1.22.2.tar.gz

现在可以把下载到的文件解压,然后进入解压后的目录:

tar zxvf syncthing-linux-amd64-v1.22.2.tar.gz
cd syncthing-linux-amd64-v1.22.2

有个可执行文件syncthing,我们要把它放到我们的PATH中,以便直接执行:

cp syncthing /usr/local/bin

返回上一级目录:

cd ..

到这里我们在VPS上的Syncthing已经安装好了,可是直接运行的话,并不能通过外网访问到管理页面,因为Syncthing的管理页面默认是只有本机可以访问的,所以接下来还要进行一点修改,先运行Syncthing:

syncthing

随后就会看到有很多信息,和之前在Windows运行一样,看到类似以下内容的时候就可以按CTRL-C退出程序了:

[OH4IP] 13:32:15 INFO: Completed initial scan (rw) of folder edatb-zzc5f
[OH4IP] 13:32:15 INFO: Device OH4IPQD-QDCDAZB-YMMZE4F-BAK4BLQ-3EZLPTD-V73J37V-LTW44V6-YSM6JQ7 is "ruter.ga" at [dynamic]
[OH4IP] 13:32:15 INFO: Loading HTTPS certificate: open /root/.config/syncthing/https-cert.pem: no such file or directory
[OH4IP] 13:32:15 INFO: Creating new HTTPS certificate
[OH4IP] 13:32:15 INFO: GUI and API listening on 127.0.0.1:8384
[OH4IP] 13:32:15 INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
[OH4IP] 13:32:16 INFO: Detected 0 NAT devices

我们第一次运行是为了让它创建配置文件,然后我们再进行修改。用以下命令对配置文件进行编辑(centos建议用vi命令):

nano ~/.config/syncthing/config.xml

一瞬间是不是懵逼了?不要慌,先找到下面这几行:

<gui enabled="true" tls="false" debugging="false">
    <address>127.0.0.1:8384</address>
    <apikey>2GeGJK9z6tXKP3nHJYU56ZHoYSYnqQ9S</apikey>
    <theme>default</theme>
</gui>

然后把IP127.0.0.1修改成0.0.0.0即可保存退出:

<gui enabled="true" tls="false" debugging="false">
    <address>0.0.0.0:8384</address>
    <apikey>2GeGJK9z6tXKP3nHJYU56ZHoYSYnqQ9S</apikey>
    <theme>default</theme>
</gui>

2024年7月3日更新:

遇到一个棘手的问题,主机哥在debian12系统下运行syncthing后竟然没有在此路径“~/.config/syncthing/config.xml”找到config.xml配置文件,询问ChatGPT后得知可以使用下面命令查找config.xml

find ~ -name config.xml

结果如下:

/root/.local/state/syncthing/config.xml

在debian12系统下修改config.xml配置文件:

nano /root/.local/state/syncthing/config.xml

设置好之后执行syncthing运行,就可以通过http://your_ip_addr:8384来进行访问管理了,如果直接通过外网ip:端口访问还是无法打开管理页面,那就需要进行防火墙的设置开启8384端口了(不懂防火墙设置的也可以借用第三方VPS管理软件设置如宝塔、appnode):

其实主机哥我不会使用命令,命令是我的弱项,我这里就不班门弄斧了,自行去百度搜索方法

再次打开http://your_ip_addr:8384就能看见管理页面了

可以很明显地看到一条警告信息,提醒我们设置管理用户及密码,点击「设置」,然后把「用户名」和「密码」填写好,「使用加密连接到图形管理页面」这个是开启HTTPS,按需勾选


执行syncthing报错提示WARNING: Failed to initialize config: failed to generate default config: get free port (GUI): listen tcp 127.0.0.1:0: bind: cannot assign requested address的解决办法:

是因为没有生成默认的配置文件导致的,手动创建配置文件:

nano ~/.config/syncthing/config.xml

复制黏贴以下内容

<configuration version="30">
    <gui enabled="true" tls="false">
        <address>127.0.0.1:8384</address>
        <apikey>自己设置的API KEY</apikey>
        <theme>default</theme>
        <user>somename</user>
        <password>a password</password>
    </gui>
    <options>
        <listenAddress>[::]:22000</listenAddress>
        <globalAnnounceServer>announce.syncthing.net:22025</globalAnnounceServer>
        <localAnnounceEnabled>true</localAnnounceEnabled>
        <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
        <minHomeDiskFree unit="GiB">5</minHomeDiskFree>
    </options>
</configuration>

注意:请将以上内容中的"自己设置的API KEY"、"somename"和"a password"替换为您自己设置的值。注意passwd是采用了 bcrypt 算法进行加密,并且设置了 10 作为 cost 参数生成的哈希值。

主机哥搞了个php代码可以生成syncthing专用的密码哈希值

<?php
$password = "mypassword";  // 指定密码

$options = [
    'cost' => 10,           // 设置 cost 参数为 10
];

// 使用 password_hash() 函数生成哈希值
$hash = password_hash($password, PASSWORD_BCRYPT, $options);

echo $hash;  // 输出生成的哈希值
?>

保存为mm.php

然后执行下面命令就可以看到密码哈希值了

php -f mm.php

如果你觉得麻烦可以使用主机的在线生成网址:https://sh.23vps.com/syncthing-config-gui-passwd-hash.php

最后登录进去时会提示监听地址错误,进设置修改一下就好了,还有就是自己设置的API这里可以在设置-常规里点一下生成,磁盘最低可用值改为1%就好了。最后为了安全,在设置-图形用户界面那里点一下使用加密连接到图形管理页面,保存后刷新一下页面就成了https链接了。


开机启动官方提供了两种方法:Supervisord和systemd

开机自动启动官方文档:https://docs.syncthing.net/users/autostart.html

主机哥采用systemd的方式

找到解压目录etc/linux-systemd/system/syncthing@.service这个文件,改名为syncthing@root.service,root是你希望使用的用户

cd etc/linux-systemd/system
mv syncthing@.service syncthing@root.service

将syncthing@root.service里的ExecStart这行路径修改成实际路径和运行命令,我发现官方给的ExecStart路径里少了个local路径,所以要修改为/usr/local/bin

vi syncthing@root.service   #centos
nano syncthing@root.service  #debian

复制文件到/etc/systemd/system/中

cp syncthing@root.service /etc/systemd/system

重新加载配置文件

systemctl daemon-reload

管理命令

#设置开机启动
systemctl enable syncthing@root.service
#取消开机启动
systemctl disable syncthing@root.service
#启动服务
systemctl start syncthing@root.service
#停止服务
systemctl stop syncthing@root.service
#查看状态
systemctl status syncthing@root.service


进阶:

让linux软件后台运行的简单方法:https://diannaobos.com/post/254.html

在服务器上使用Syncthing可以修改配置文件后使用外网进行访问管理,本地端也可以如法炮制,如果没有外网IP则需要使用FRP之类的进行映射,具体操作请移步FRP内网穿透工具:https://diannaobos.com/frp/


注意:

如果提示下图信息:

只需要执行下面这个命令,让syncthing可读写

chmod 777 /usr/local/bin/syncthing


扩展:

以上只是简单的安装和设置步骤,还有很多内容没有涉及到,例如开机启动、忽略同步内容、命令行操作等等,具体请查看官方文档,里面有非常详尽的教程。

官方文档:https://docs.syncthing.net/index.html

命令行操作:https://docs.syncthing.net/users/syncthing.html

windows版教程:https://23vps.com/post/41.html

本网站由提供服务

扫描二维码推送至手机访问。

版权声明:本文由主机测评网发布,如需转载请注明出处。

本文链接:https://23vps.com/post/42.html

标签: 文件同步
分享给朋友:

“debian/ubuntu/centos7系统安装syncthing文件同步软件教程” 的相关文章

IP可用性检测工具

IP可用性检测工具

有些时候我们要检测vps的端口可用性,这是一个可以从国内检测也可以从国外检测的端口检测工具这个工具是以网页形式的,网址是:https://www.toolsdaquan.com/ipcheck/ 备用https://www.vps234.com/ipchecker/...

强大无数据库图床2.0PHP程序

强大无数据库图床2.0PHP程序

项目地址:https://github.com/icret/EasyImages2.0 始于2018年7月,支持多文件上传,简单无数据库,返回图片url,markdown,bbscode,html的一款图床程序 演示地址:https://png.cm/ 之前一直用的图床程序是:PHP多图长...

解决宝塔环境装不上的问题

解决宝塔环境装不上的问题

主机哥最近安装宝塔面板总是出现各种报错,不是装面板时报错就是lnmp环境报错,折腾了好几天终于整出一套教程,100%解决宝塔环境装不上问题。首先确保你的网络连接稳定,特别时wifi网络下安装宝lnmp塔环境时会长时间卡住不动最后出现各种问题,最好用电脑有线网络连接,确保安装过程全程网络稳定,主机哥就...

parsec串流远程桌面神器,用远程桌面可以玩游戏

parsec串流远程桌面神器,用远程桌面可以玩游戏

主机哥最近发现一款不错的国外远程桌面工具,可以内网穿透直连,甚至可以流畅玩游戏看视频不卡顿,都说很厉害,自己台式机电脑上装了一下,但是用我自己笔记本电脑连接台式机时提示-15000错误:点击Read More弹出链接:https://support.parsec.app/hc/en-us/artic...

Nginx打开目录浏览功能(autoindex)

主机要分享一些文件给朋友下载,但是文件数量又比较多,而且需要分很多个文件夹进行分类以便根据需要下载不必整个打包在一起下载,下面介绍利用nginx自带的autoindex配置来实现下载服务器的文件遍历来列出整个目录供朋友浏览下载。宝塔站点修改nginx配置文件,在server段添加下面代码 ...