一、服务器端

1、安装 Apache

sudo apt update
sudo apt install apache2

2、启用 WebDAV 模块

sudo a2enmod dav
sudo a2enmod dav_fs
sudo systemctl restart apache2

3、配置 WebDAV 目录

sudo mkdir -p /var/www/webdav/obsidian
sudo chown -R www-data:www-data /var/www/webdav/obsidian
sudo chmod -R 755 /var/www/webdav/obsidian

4、创建 Apache WebDAV 配置文件

在 Apache 的配置目录中创建一个新的配置文件 /etc/apache2/sites-available/webdav.conf

<VirtualHost *:8080>
ServerName diraw.top
# 替换为您的服务器IP地址或域名

# WebDAV 目录
Alias /obsidian /var/www/webdav/obsidian
# WebDAV将通过 http://your_domain_or_ip:8080/obsidian 访问

<Directory /var/www/webdav/obsidian>
DAV On
AuthType Basic
AuthName "Obsidian WebDAV"
# 密码文件路径
AuthUserFile /etc/apache2/webdav.passwd
Require valid-user

# 允许PUT, DELETE, PROPFIND, LOCK, UNLOCK等WebDAV方法
<LimitExcept GET POST OPTIONS>
Require valid-user
</LimitExcept>

# 允许目录列表(可选,但方便调试)
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/webdav_error.log
CustomLog ${APACHE_LOG_DIR}/webdav_access.log combined
</VirtualHost>

5、启用 WebDAV 站点并更新防火墙规则

sudo a2ensite webdav.conf
sudo apache2ctl configtest
sudo systemctl restart apache2
sudo ufw allow 8080/tcp
sudo ufw reload

6、创建 WebDAV 用户和密码

sudo htpasswd -c /etc/apache2/webdav.passwd your_username

如果是创建第一个用户,需要使用 -c 选项创建新的密码文件,如果要添加更多用户,不要使用 -c 选项,因为它会覆盖现有文件

执行这条命令后,系统会提示您输入两次密码,这个密码就是为 obsidianuser 设置的 WebDAV 访问密码

二、软件端

服务类型选择webdav,然后填写服务器地址、账户密码即可

Image 7

三、其他

webdav没有版本控制,感觉最终还是得自建git仓库,但obsidian我觉得目前是够用了,以后如果遇到新的问题再说吧