侧边栏壁纸
博主头像
komi

Bona Fides

  • 累计撰写 13 篇文章
  • 累计创建 23 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

Ubuntu22.04 LTS自建WebDAV

komi
2025-01-01 / 0 评论 / 0 点赞 / 31 阅读 / 679 字

起因

最近打算去图书馆待上一阵 Youtube Music有不少Ambience类的音乐 但是架不住收费(还是想自己DIY下) 既然我能够下载油管的音乐 那我现在只需要找个地方存就好了

包安装

sudo apt-get update
sudo apt-get install apache2 cadaver

只需要安装两个包 apache2本身用作搭建HTTP服务 不过它本身有很多模块可以加载 这其中也包含了WebDAV cadaver 是一个Unix环境下连接WebDAV的命令行工具 搭建完了需要用它本地测试下

端口冲突检查

apache2的默认端口为80 和我nginx中的80端口冲突 直接修改安装目录下的ports.conf文件 默认路径/etc/apache2/ports.conf

root@ubuntu-s-1vcpu-1gb-tor1-01:/etc/apache2# cat ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

模块安装

sudo a2enmod dav
sudo a2enmod dav_fs
sudo systemctl restart apache2

dav模块为对WebDAV的基础支持 dav_fs模块是对dav模块的扩展

创建文件

配置文件

sudo touch /etc/apache2/sites-available/webdav.conf
sudo vim /etc/apache2/sites-available/webdav.conf
DavLockDB "/var/DavLock.db"
Alias /webdav /var/www/dav
<Directory /var/www/dav>
	Require valid-user
	DAV On
	AuthType Basic
	AuthUserFile /etc/apache2/dav.password
</Directory>
配置 说明
DavLockDB 路径 WebDAV的锁数据库文件
Alias 路径 当前文件位置别名
Directory 配置项xml 指定当前映射路径
Require 详见配置 这里配置使用已授权的所有用户
AuthType 详见配置 这里使用基本的账户认证
AuthUserFile 路径 账户认证密钥信息存储文件

软链

sudo ln -s /etc/apache2/sites-available/webdav.conf /etc/apache2/sites-enabled/webdav.conf

这里加软链接的目的是为了启用配置 更快捷的方式是使用a2ensite

sudo a2ensite webdav

去掉加载的配置使用a2dissite

sudo a2dissite webdav

dav路径

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

DavLock.db 锁文件

sudo touch /var/DavLock.db
sudo chown www-data:www-data /var/DavLock.db

PS: 可以看到这里的数据库用的是Berkeley

root@ubuntu-s-1vcpu-1gb-tor1-01:/var# file /var/DavLock.db
/var/DavLock.db: Berkeley DB (Hash, version 9, native byte-order)

账号认证密码

sudo htpasswd -c /etc/apache2/dav.passwd davUserName

接下需要输入两次密码确认

chmod 640 /etc/apache2/dav.passwd

开启服务

配置语法测试

sudo apachectl configtest

如果出现Syntax OK可直接开启服务

sudo systemctl enable apache2
sudo systemctl restart apache2

测试webdav

sudo cadaver http://your_domain:port/davAlias

输入刚才配置的用户信息来测试认证

0

评论区