2024年5月

安装准备:VPS一台、Debian系统

1、NPS开源项目地址:【点击进入】(此项目已经很久没更新了)
项目安装文档:【点击进入
最新开源项目:【点击进入】(由旧项目二次开发而来)
2、配置NPS服务器端
手动下载安装文件(国内下载比较慢,可以直接下载下来,上传到服务器root目录下)
从github上获取最新版本的nps服务端
看仔细了下载

  • 解压服务器端文件

    tar -zxvf linux_amd64_server.tar.gz

如果需要更改登录账号和密码,在/root/conf/nps.conf此路径下配置文件中更改(红色部分改成你自己想要的)
注意要点:如果要改密码,请在执行安装命令前更改,之后更改不起作用

web_username=admin
web_password=admin123456

如果需要更改唯一验证密钥,在/root/conf/hosts.json此路径下配置文件中更改

  • 执行安装命令

    ./nps install

  • 启动服务器端

    nps start

4、登陆NPS控制面板并设置参数(登陆默认端口为:8081,默认用户名:admin,默认密码:123)

如果需要更改登录账号和密码,在/root/conf/nps.conf此路径下配置文件中更改(红色部分改成你自己想要的)
web_username=admin
web_password=admin123456
客户端——新增——设置客户端验证密钥
5、配置NPS客户端

  • 下载客户端配置文件

看仔细了下载
通过Finalshell上传到软路由root目录下(如果上传不了,可执行以下命令)

mount  -o  remount rw /

通过Finalshell对上传的文件解压

tar -zxvf linux_amd64_client.tar.gz

6、启动客户端

临时启动客户端测试

./npc -server=服务器IP:客户端连接端口 -vkey=前面设置的客户端验证密钥

设置客户端后台启动

nohup ./npc -server=服务器IP:服务器连接端口 -vkey=前面设置的客户端验证密钥

通过对比目前较为受欢迎的WebDAV服务器端软件,https://github.com/hacdias/webdav 较为稳定(唯一遗憾的是,项目已经终止)。 此开源项目是使用GoLang开发的,因此兼容性非常强悍,仅作者预编译针对不同操作系统和CPU架构的二进制文件就有34种,可以说涵盖了几乎所有运行环境。 作者默认使用此软件的都是专业选手,因此没有手把手的文档可以参考。这对于非程序员甚至非GoLang程序员不太友好。

配置文件

作者给出的配置参考已经非常详细,但需要注意的是,你需要全部复制并做出对应修改,程序中并没有做默认值合并。注释中的will be merged仅仅针对当前配置文件下文的用户默认值。

二进制安装

访问https://github.com/hacdias/webdav/releases/,对应下载作者预编译的二进制版本。
参考Systemd Example,注册为*unix服务,实现开机自动启动。此步骤有疑问的话,搜索对应操作系统+systemd关键词。
需要特别注意的是:
二进制文件所在的执行目录需要和Systemd配置文件中的ExecStart目录保持一致。
作者说明了支持JSON, YAML and TOML配置文件格式,因此你需要加上相应后缀,否则配置文件不生效。例如JSON添加.json、YAML添加.yml。
OMV5(Debian)中二进制文件安装例子(解压提示路径错误,webdav解压到、/usr/bin目录就行):

wget https://github.com/hacdias/webdav/releases/download/v4.2.0/linux-amd64-webdav.tar.gz
tar -zxvf linux linux-amd64-webdav.tar.gz
mv /root/webdav /usr/bin

在opt下创建webdav.config.yml

# Server related settings
address: 0.0.0.0
port: 8080
auth: true
tls: false
prefix: /

# Default user settings (will be merged)
scope: .
modify: true
rules: []

cors:
enabled: false
credentials: false

users:
- username: admin
  password: "{bcrypt}$2a$12$NRf4qBRbBJ0/XR56S7UwaOWzlLIs8fTRDILiC02BGCbbol2g/dw2i"
  scope: /date
  modify:   true

scope即为根目录本地映射地址。password可以用明文,也可以加密,Bcrypt密码在线生成地址: https://bcrypt-generator.com/
然后添加服务
vim /etc/systemd/system/webdav.service

[Unit]
Description=WebDAV server
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/bin/webdav --config /opt/webdav.config.yml
Restart=on-failure

[Install]
WantedBy=multi-user.target

最后,设置开机启动并启动服务:

systemctl enable webdav
systemctl start webdav
理论上所有linux系统都可以用这个方法