安装apache2

sudo apt update && sudo apt install apache2

激活apache2相关组件

sudo a2enmod dav_fs
sudo a2enmod dav

设置监听端口

sudo vim /etc/apache2/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 2333 # 此处即为webdav监听端口
​
<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 vim /etc/apache2/sites-available/000-default.conf
<VirtualHost *:2333>
    ServerAdmin webmaster@localhost
    DocumentRoot /mnt/nas/3
​
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
​
    DavLockDB /var/Davlock/DavLock.db
​
    # 启用 WebDAV + 浏览支持 + 身份认证
    <Directory /mnt/nas/3>
        Options Indexes FollowSymLinks
        AllowOverride None
​
        DAV On
​
        AuthType Basic
        AuthName "Secure WebDAV with Browsing"
        AuthUserFile /etc/apache2/webdav.password
        Require valid-user
    </Directory>
</VirtualHost>
​

创建密码文件

sudo htpasswd -c /etc/apache2/webdav.password rain

输入新密码即可

授权用户访问权限

sudo chown -R www-data:www-data /mnt/nas/3
sudo chown root:www-data /etc/apache2/webdav.password
sudo chmod 640 /etc/apache2/webdav.password

设置启动项并重启apache2

sudo systemctl enable apache2
sudo systemctl restart apache2

检查

至此,webdav已配置完成,打开浏览器输入 http://127.0.0.1:port/webdav即可访问
若有任何问题,请检查用户权限是否配置正确,使用cat /var/log/apache2/error.log命令调取apache2日志,让chatgpt辅助你排查问题。