一、安装Apache2服务
首先安装 Apache2 并启用 WebDAV 模块
sudo apt install apache2禁用默认页面
sudo a2dissite 000-default
sudo service apache2 reload二、配置虚拟主机
在/etc/apache2/sites-available/ 目录下并创建一个配置文件:
cd /etc/apache2/sites-available/
sudo nano webdav.local.conf添加以下内容:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
Servername webdav.local
DocumentRoot /var/www/webdav
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/webdav/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>创建 /var/www/webdav/ 目录,测试索引文件并设置正确的所有权:
sudo mkdir /var/www/webdav
sudo sh -c 'echo "Welcome from WebDAV.local" > /var/www/webdav/index.html'
sudo chown www-data:www-data /var/www/webdav启用新站点并重新加载 Apache2:
sudo a2ensite webdav.local
sudo service apache2 reload操作完成后,你能看到 “Welcome from WebDAV.local”。

三、启用WebDAV模块
启用和配置 WebDAV 模块。
sudo a2enmod dav_fs为 WebDAV 数据创建一个目录和文件来测试服务是否被安全启动:
sudo mkdir /var/www/webdav/happy
sudo touch /var/www/webdav/happy/linuxconfig.txt
sudo chown www-data:www-data /var/www/webdav/happy编辑虚拟主机配置 /etc/apache2/sites-available/webdav.local.conf 进行 WebDAV 设置:
...
<Directory /var/www/webdav/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
#在前面的基础上加入
Alias /svn /var/www/webdav/svn
<Location /svn>
DAV On
</Location>重新启动 Apache2 以应用更改:
sudo service apache2 restart进入测试页面:

四、设置访问密码
设置用户验证(可选): 使用用户验证保护 WebDAV 目录。
创建密码文件并添加用户:
sudo mkdir /usr/local/apache2/
sudo htpasswd -c /usr/local/apache2/webdav.passwords linuxconfig编辑虚拟主机配置以包含身份验证设置:
...
<Location /happy>
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /usr/local/apache2/webdav.passwords
Require valid-user
</Location>重启 Apache2:
sudo service apache2 restart至此,你已经成功配置完webdav了。
常见问题
1.端口占用
通常80端口会被Ngnix服务占用。如果你的80端口在其他服务中已经被使用,可以将通过下面办法更改端口:
Apache2的配置文件位于
/etc/apache2/ports.conf,打开ports.conf文件sudo nano /etc/apache2/ports.conf打开配置文件并找到
Listen指令。默认情况下,Listen指令可能如下:Listen 80如果你想改为7766端口只需将此文件改为:
Listen 7766进入
/etc/apache2/sites-available/文件夹,对webdav.local.conf文件同步进行更改:将
<VirtualHost *:80>改为<VirtualHost *:7766>即:
<VirtualHost *:7766> ServerAdmin webmaster@localhost Servername webdav.local DocumentRoot /var/www/webdav <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/webdav/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost>保存后重启Apache2服务
sudo systemctl restart apache2
2.端口放行
在配置完文件后仍然无法访问可以检查服务器是否未放行对应端口
首先检查云服务器厂商的防火墙是否放行对应端口。以腾讯云为例:


如果你安装了宝塔面板,那你还需要在宝塔面板中放行对应端口:


评论已关闭