Centos7中搭建WebDav的服务

一 什么是WebDAV

百度百科的定义:WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。
顾名思义,WebDAV主要就是用来做文档的存储的。

二 使用背景

因为为了方便手写笔记,在apple应用市场花了60RMB刚购买了Notability,虽然该应用支持iCloud存储,但是由于个人的iCloud存储基本都已经满了,担心后面ipad出问题,所有笔记都会丢失。
虽然,Notability还支持一些其他存储,如GoogleDriver,但是几乎都是国内无法访问的,然后看到有WebDAV选项,即把自己的东西存到服务器上,所以就到github找了一下,果然找到一个golang版本的WebDAV server。

三 部署流程

项目在Github上的地址:https://github.com/hacdias/webdav
服务器操作系统:Centos7

下载并解压指定目录

cd /usr/local/webdav
wget https://github.com/hacdias/webdav/releases/download/v4.0.0/linux-amd64-webdav.tar.gz
tar -xvzf linux-amd64-webdav.tar.gz
rm -rf linux-amd64-webdav.tar.gz

在webdav同级目录下增加config.yaml

mkdir -p /data/webdav

cat << EOF > /user/local/webdav/config.yaml
# Server related settings
address: 0.0.0.0
port: 51234
auth: true
tls: false
cert: cert.pem
key: key.pem

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

users:
  - username: admin
    password: admin
    scope: /data/webdav
EOF

增加systemd服务

cat << EOF > /usr/lib/systemd/system/webdav.service
[Unit]
Description=WebDAV server
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/webdav/webdav --config /usr/local/webdav/config.yaml
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable webdav
systemctl start webdav

查看服务状态

# systemctl status webdav
● webdav.service - WebDAV server
   Loaded: loaded (/usr/lib/systemd/system/webdav.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-04-29 17:34:08 CST; 20h ago
 Main PID: 10032 (webdav)
   CGroup: /system.slice/webdav.service
           └─10032 /usr/local/webdav/webdav --config /usr/local/webdav/config.yaml

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/7577

(0)
郭靖的头像郭靖
上一篇 2023年3月9日 下午4:26
下一篇 2023年3月10日 下午4:44

相关推荐

  • CentOS 修改 SSH无操作自动断开时长及连接超时

    CentOS 修改 SSH无操作自动断开时长 当 SSH 连接到 CentOS 服务器时, 如果一段时间不操作, SSH 会自动断开。 这时, 可修改配置增加连接时长。 一、修改配置 在配置中找到 修改为 ClientAliveInterval 指定了服务器端向客户端发送消息的间隔,默认 0 不发送消息。ClientAliveInterval 30…

    2023年2月20日
    2.5K00
  • Ubuntu20.04 Server版安装图形界面并使用VNC实现远程桌面

    一:Ubuntu端 1、进行VNC设置之前,需要有图形界面,没有的可以执行以下代码安装图形界面 2、如上图所示运行后进入安装程序,进入GUI界面,通过控制“↑”“↓” 找到Ubuntu desktop按空格键选中,再按Tab键跳到OK选项回车!此处等待时间较长,然后重启开机,开机若未进入图形界面则需查看第四步是否配置完成,若未完成则需要再次执行此步骤。成功后…

    2022年7月12日
    5.9K00
  • systemd:实现 Linux 服务 Crash 后自动重启systemd:

    Systemd 允许你对服务进行配置,以便在服务崩溃时自动重启。 一个典型的单元文件是这样的: 在上面的例子中,如果守护进程崩溃或被杀死,systemd 不会去管它。 不过,你可以让 systemd 自动重启守护进程,以防它崩溃或意外被杀掉。为此,你可以在 [Service] 中添加 Restart 选项。典型的示例如…

    2023年8月14日
    2.7K00
  • Centos下五大步安装Python

    一、下载Python包 网上教程大多是通过官方地址进行下载Python的,但由于国内网络环境问题,会导致下载很慢,所以这里建议通过国内镜像进行下载 例如:淘宝镜像 http://npm.taobao.org/mirrors/python/ 大部分版本和各系统包都提供,这里的教程用Python3.9.6来举例: Linux可以通过wget命令进行下载(在任意目…

    2022年6月17日
    1.7K00
  • CentOS7下使用Lsyncd实现文件实时同步

    Lsyncd 在几秒钟内将这些文件事件整理核对后,然后生成一个或多个进程以将更改同步到远程文件系统。默认使用的同步方法是rsync。因此,Lsyncd 是一种轻量级的实时镜像解决方案。 Lsyncd简单介绍 Lsyncd 使用文件系统事件接口(inotify 或 fsevents)来监视本地文件和目录的更改。 Lsyncd 在几秒钟内将这些文件事件…

    2023年12月7日
    1.3K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信