最近使用一个开源的小数阅读器,里面有关于webdav的配置就想着自己动手搭建一个服务器,本次使用apache2搭建(别问问什么不用nginx,问就是懒的再次编辑)

Apache2 服务器配置:

(1)启用相关模块

sudo apt install apache2 

sudo a2enmod dav 

sudo a2enmod dav_fs

(2)重启 Apache2 服务:

sudo service apache2 restart

(3)创建虚拟主机目录:

sudo mkdir /var/www/webdav 

sudo chown www-data:www-data /var/www/webdav 

sudo chmod -R 775 /var/www/webdav

(4)创建用户(替换 usernamepassword 为您选择的用户名和密码。

sudo htpasswd -cb /etc/apache2/webdav.password username password

(5)配置虚拟主机:

sudo vim /etc/apache2/sites-available/000-default.conf在文件中插入以下内容并保存
Alias /webdav  /var/www/webdav
#默认端口80 可以自定义 我是用nginx转发了
<VirtualHost *:8981>
   # 开启 WebDAV 支持
    <Location /webdav>
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
        DAV on
        AuthType Basic
        AuthName "WebDAV"
        AuthUserFile /etc/apache2/webdav.password
        Require valid-user
        # 此部分是读书软件连接成功同步信息报错403新增的
        # 允许 GET 和 HEAD 方法
        Require all granted
        # 允许 PUT 和 DELETE 方法
        Require method PUT DELETE
        # 允许 MKCOL 方法
        Require method MKCOL
        # 允许 COPY 和 MOVE 方法
        Require method COPY MOVE
    </Location>
</VirtualHost>

(6)应用更改后,重启 Apache2 服务:

sudo systemctl restart apache2

测试 WebDAV 服务

使用支持 WebDAV 的客户端(如 Windows 的资源管理器、macOS 的 Finder 或第三方应用程序如 Cyberduck)连接到您的 WebDAV 服务器。通常格式为 http://your-server-address/webdav,输入您之前设置的用户名和密码即可访问。

附:开源读书软件地址 部分书源地址