Apache2 + webdav on ubuntu
Apache2 + webdav on ubuntu
[toc]
系统环境
- Ubuntu 20.04.2
- Apache/2.4.41 (Unix)
安装Apache
安装Apache
1 | sudo apt-get install apache2 |
禁用默认页面
1 | sudo a2dissite 000-default.conf |
配置虚拟主机
此时,我们需要使用ServerName:webdav.local.conf
和附加的目录/var/www/webdav
配置虚拟主机。为此,请导航至/etc/apache2/sites-available/
:
1 | cd /etc/apache2/sites-available/ |
并创建一个名为webdav.local.conf
的新站点配置文件,其内容如下:
1 | <VirtualHost *:80> |
完成后,我们需要创建一个适当的/var/www/webdav/
目录:
1 | sudo mkdir /var/www/webdav |
将所有者更改为apache:
1 | sudo chown www-data.www-data /var/www/webdav |
并启用新网站webdav.local.conf
1 | sudo a2ensite webdav.local.conf |
为了测试它,我们可以创建一些简单的index.html文件:
1 | sudo sh -c 'echo "Welcome from WebDAV.local" > /var/www/webdav/index.html' |
最后重新加载apache2网络服务器:
1 | sudo service apache2 reload |
WebDAV设置
启用WebDAV模块
1 | sudo a2enmod dav_fs |
重启apache服务器
1 | sudo service apache2 restart |
基本配置
创建目录
1 | sudo mkdir /var/www/webdav/svn |
使它可被apache写入也很重要,否则会出现403 Forbidden错误
1 | sudo chown www-data.www-data /var/www/webdav/svn/ |
并为我们的新虚拟主机webdav.local
启用WebDAV。这可以通过将以下行添加到webdav.local.conf
的代码块中来完成:
1 | Alias /svn /var/www/webdav/svn |
以上是通过启用WebDAV的目录/var/www/webdav/svn
进行访问的,可通过http://(domain/ip)/svn
进行访问。对现有的/etc/apache2/sites-available/webdav.local.conf
配置文件进行上述修改,然后重新启动apache Web服务器。这是现阶段整个/etc/apache2/sites-available/webdav.local.conf
文件的外观:
1 | <VirtualHost *:80> |
测试工具(非必须)
现在该测试我们的配置了。一种方法是将浏览器指向http://webdav.local/svn
,甚至更好的方法是使用cadaver
工具。首先使用以下命令安装cadaver
:
1 | sudo apt-get install cadaver |
使用dd创建相同的数据文件以上传到您的WebDAV目录并上传:
1 | dd if=/dev/zero of=mydata.dat bs=1M count=10 |
到此,基本的WebDAV服务器就配置完成并且可以使用了
具有身份验证的WebDAV
如果打算将WebDAV服务器部署在远程主机上,则建议至少执行一些基本身份验证。幸运的是,使用**htpasswd
**命令并重新配置我们现有的/etc/apache2/sites-available/webdav.local.conf
配置文件。
首先创建一个目录,您要在其中存储webdav的密码文件。这是您选择的位置。在本教程中,我使用/usr/local/apache2/
:
1 | sudo mkdir /usr/local/apache2/ |
然后,使用htpasswd创建一个新的密码文件,所有用户都将通过该文件进行身份验证。
1 | sudo htpasswd -c /usr/local/apache2/webdav.passwords [usernaem] |
如果您需要添加更多用户,请使用上述语法,但是忽略-c选项,因为它将覆盖您现有的文件。
现在,身份验证文件已经准备就绪,我们需要将身份验证添加到当前的/etc/apache2/sites-available/webdav.local.conf
配置文件中。
1 | <VirtualHost *:80> |
从现在开始,如果您尝试访问WebDAV服务器,则需要先进行身份验证。