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辅助你排查问题。