如何在 Ubuntu 12.04 上使用 Apache 配置 WebDAV 访问

2024-05-10 1579阅读

简介

WebDAV 是内置在 HTTP 中的分布式网络编辑实现,允许您轻松共享文件并与他人协作。

我们可以在 Web 服务器中安装此扩展,以允许通过 Web 浏览器远程读写访问本地文件。在本指南中,我们将在带有 Apache Web 服务器的 Ubuntu 12.04 VPS 上配置 WebDAV。

在 VPS 上安装 Apache


我们将通过使用 WebDAV 模块在 Apache 上建立我们的 WebDAV 实现。

首先,您需要从 Ubuntu 的默认存储库中安装 Apache。

sudo apt-get update
sudo apt-get install apache2

现在您已经安装了一个完全功能的 Web 服务器。通过在 Web 浏览器中导航到服务器的 IP 地址,应该已经可以访问它。

启用 WebDAV


Apache 内置支持 WebDAV,只需启用一些模块即可访问它们的功能。

使用以下两个命令启用 WebDAV 模块:

sudo a2enmod dav
sudo a2enmod dav_fs

现在我们需要重新启动服务器以实施更改:

sudo service apache2 restart

WebDAV 作为一个功能现在已经启用,但我们还没有为我们的服务器正确配置它。

创建文件系统


我们将创建一个目录,用于存放我们的 WebDAV 文件内容。

Ubuntu 上 Apache 服务器的默认文档根目录位于 /var/www。但是,我们将创建一个别名,这将允许我们将目录内容放在其他地方。

在本指南中,我们将把我们的 WebDAV 内容放在 /webdav/。

sudo mkdir /webdav

将 web 用户(即 www-data)赋予新目录的所有权,以便它可以正确地提供内容:

sudo chown www-data /webdav

设置密码保护


我们可以通过创建一个 htpasswd 文件为访问目录内容创建身份验证过程。

我们将其放在内容目录之外,以便系统用户无法访问它。在命令调用中创建一个用户名,然后会提示您输入相关密码:

sudo htpasswd -c /etc/apache2/webdav.password 用户名

现在,任何人都可以在文件中查看用户名和哈希密码。我们将把文件的组所有权分配给 www-data,然后将其他人的权限锁定:

sudo chown root:www-data /etc/apache2/webdav.password
sudo chmod 640 /etc/apache2/webdav.password

配置 Apache


现在,我们将不得不配置对我们的内容目录的访问,并告诉 Apache 使用 WebDAV 模块来提供该位置。我们还必须注意我们创建的身份验证方案。

以 root 权限编辑主虚拟主机配置:

sudo nano /etc/apache2/sites-available/default

在这里,我们的 Web 内容像往常一样从 /var/www 提供。我们将添加一些信息,让 Apache 将我们新目录中的内容视为 WebDAV 材料。

在目录列表下面,我们将添加一个别名指令,告诉 Apache 请求 “/webdav” 应该从我们创建的 /webdav 目录中提供服务。

然后,我们将添加选项以允许使用我们建立的方法进行身份验证。

. . .
. . .

	Options Indexes FollowSymLinks MultiViews
	AllowOverride None
	Order allow,deny
	allow from all

Alias /webdav /webdav
<Location /webdav>
	Options Indexes
	DAV On
	AuthType Basic
	AuthName "webdav"
	AuthUserFile /etc/apache2/webdav.password
	Require valid-user
</Location>
. . .
. . .

保存并关闭文件。

使用以下命令重新启动 Apache:

sudo service apache2 restart

测试结果


您可以首先在 Web 浏览器中测试配置的结果,然后在 WebDAV 客户端中进行测试。

Web 浏览器测试


要测试您的身份验证是否正常工作,请使用 Web 浏览器导航到服务器的 IP 地址或域名。

您应该会看到默认的 Apache index.html 文件:

如何在 Ubuntu 12.04 上使用 Apache 配置 WebDAV 访问

这证明了常规 Web 功能正在工作。

现在,导航到您的 IP 地址或域名,后面跟着 “/webdav”:

您的_IP地址或域名/webdav

您应该会提示输入您之前设置的用户名和密码组合。之后,您应该会看到一个空的目录列表:

如何在 Ubuntu 12.04 上使用 Apache 配置 WebDAV 访问

我们目前在这里没有任何内容,但我们将能够通过使用 WebDAV 客户端访问相同的区域来改变这一点。

WebDEV 客户端测试


有许多 WebDAV 客户端,并且对 WebDAV 访问的支持已经内置在许多流行的文件管理器中。

为了简单起见,在本指南中,我们将使用一个名为 “cadaver” 的简单命令行 WebDAV 客户端。

最好是从另一个 droplet 或 Linux 机器上,从默认仓库安装 cadaver:

sudo apt-get install cadaver

现在,让我们创建一个文件,我们将上传到 WebDAV 目录:

cd ~
touch testfile

接下来,我们将使用与从浏览器访问相同的位置连接:

cadaver http://your_IP_address_or_domain/webdav
服务器 `162.243.2.14` 上需要对 webdav 进行身份验证:
用户名:

您必须输入 “http://” 部分,以便 cadaver 正确找到您的服务器。我们需要再次进行身份验证,然后我们将进入一个命令行界面。

dav:/webdav/>

在这里,我们可以同时使用类似于常规 Linux 命令的命令来操作客户端和主机。

要列出服务器目录的内容,请输入:

ls

列出集合 `/webdav/`:集合为空。

该目录为空。让我们上传我们的测试文件来改变这种情况:

put testfile

我们可以再次尝试列表命令,看到文件现在在服务器上:

ls

列出集合 `/webdav/`:成功。 testfile 0 Sep 20 19:36

我们可以通过输入以下命令来创建一个目录并进入其中:

mkdir hello
cd hello

然后,我们可以通过输入以下命令来创建一个文件:

edit file.html

我们可以插入任何我们想要的内容:

你好!!!

完成后,我们可以输入 exit 来关闭连接:

exit

现在,如果我们回到我们的网络浏览器,我们所做的更改是可见的:

your_IP_address_or_domain/webdav
如何在 Ubuntu 12.04 上使用 Apache 配置 WebDAV 访问

关闭目录列表


尽管目录列表对于查看 WebDAV 可用的文件非常有用,但通常情况下,特别是如果您将其用于实际的网络内容,关闭该列表会更有用。

如果您希望 Web 可访问部分的行为更像一个网站,而不是一个目录列表,从配置文件中删除 “Options Indexes” 行:

sudo nano /etc/apache2/sites-available/default
Alias /webdav /webdav

	Options Indexes     ## 删除此行
	DAV On
	AuthType Basic
	AuthName "webdav"
	AuthUserFile /etc/apache2/webdav.password
	Require valid-user

. . .
. . .

重新启动 Apache 以使用您的更改:

sudo service apache2 restart

请记住,您需要创建常规的网页才能使其正确运行,比如一个 “index.html” 文件:

sudo nano /webdav/index.html

默认的 WebDAV 页面

这是默认页面,目录列表已关闭

保存并关闭文件。

当我们导航到主要的 WebDAV 目录时,该页面现在会显示,但编辑功能仍然可以在客户端上启用。

如何在 Ubuntu 12.04 上使用 Apache 配置 WebDAV 访问

结论


现在,您应该拥有一个完整的带有基本身份验证的 WebDAV 目录。如果您的目录包含绝对必须保密的内容,您可能希望在密码身份验证之上实现 SSL 解决方案。然而,这超出了本文的范围。

许多文件管理器和客户端可以无缝访问和修改 WebDAV 内容,就好像它是额外的本地存储一样。WebDAV 允许比传统可能的 HTTP 体验更加动态。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]