Ubuntu22.04通过Apache2搭建Webdav服务器

1,240 阅读1分钟

apache更新2.4版本后webdav的配置方式发生了些许改变,本文从头配置一台webdav服务器

安装apache2

sudo apt-get 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

修改之前最好对文件进行备份,也可在sites-available文件夹下新建配置文件。 配置文件参考格式如下:

<VirtualHost *:2333> #此处为先前设置的端口号
        ServerAdmin webmaster@localhost
        DocumentRoot /media/jason/4T #此处为硬盘挂载点 可使用`lsblk`命令查看 下面的挂载点也都要修改
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        DavLockDB "/var/Davlock/DavLock.db"
        <Directory /media/jason/4T>
                DAV On
                Options Indexes MultiViews
                AllowOverride None
                Require all denied #注意此处授权表达与apache2.2以前版本不同
        </Directory>

        Alias /webdav /media/jason/4T
        <Location /webdav>
             DAV On
             AuthType Basic
             AuthName "jason" #你的用户名
             AuthUserFile /etc/apache2/webdav.password
             Require valid-user
        </Location>

</VirtualHost>

创建密码文件

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

授权用户访问权限

sudo chown -R www-data:www-data /var/Davlock
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辅助你排查问题。