Ubuntu22.04安装webdav服务
目标是既可以通过webdav访问一块硬盘进行读写数据,也可以通过samba进行访问。samba设置请参考上篇文章。
# 安装Apache2服务器
sudo apt-get install -y apache2
# 开启Apache2中对WebDav协议的支持 (记住最好在用户目录下执行否则报错)
cd ~
sudo a2enmod dav
sudo a2enmod dav_fs
# 创建共享目录并修改权限
sudo mkdir -p /var/www/webdav
sudo chown -R www-data:www-data /var/www/webdav
# 创建WebDav的访问用户数据库,顺便创建用户
sudo htpasswd -c /etc/apache2/webdav.password jason
# 创建guest用户
#sudo htpasswd /etc/apache2/webdav.password guest
# 修改用户数据库访问权限
sudo chown root:www-data /etc/apache2/webdav.password
sudo chmod 640 /etc/apache2/webdav.password
# 打开默认配置文件
sudo vim /etc/apache2/sites-available/000-default.conf
# 全部替换为以下内容(记得先备份):
Alias /webdav /var/www/webdav
<Location /webdav>
Options Indexes
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /etc/apache2/webdav.password
Require valid-user
</Location>
# 重启Apache2服务器
sudo systemctl restart apache2
# 或
sudo /etc/init.d/apache2 reload
#找到新硬盘的设备名称
sudo fdisk -l
#挂载硬盘
sudo mount /dev/sda1 /var/www/webdav
chown -R www-data:www-data /var/www/webdav
#编辑conf文件,
sudo vim /etc/samba/smb.conf
#修改下面内容,因为把权限转给了www-data用户组和用户,所以修改一下
[data]
comment = data Share
path = /var/www/webdav
public = yes
browseable = yes
read only = no
valid users = jason
create mask = 0777
directory mask = 0777
force user = www-data
force group = www-data
available = yes
#重启服务
systemctl restart smbd
#此时webdav和samba都可以访问到Ubuntu /dev/sda1这块磁盘上的内容了
#设置开机自动挂载
sudo vim /etc/fstab
#最后一行添加
/dev/sda1 /var/www/webdav ext4 defaults 0 2
#此时,既可以通过webdav访问这块硬盘进行读写数据,也可以通过samba进行访问,开心