如何在Ubuntu12.04上使用Apache配置WebDAV访问
状态: 已弃用
本文介绍了不再受支持的 Ubuntu 版本。 如果您当前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:
原因: Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL) and no longer receives security patches or updates. This guide is no longer maintained.
请参阅: 本指南可能仍可用作参考,但可能不适用于其他 Ubuntu 版本。 如果可用,我们强烈建议使用为您正在使用的 Ubuntu 版本编写的指南。 您可以使用页面顶部的搜索功能来查找更新的版本。
介绍
WebDAV 是内置于 HTTP 中的分布式 Web 创作实现,可让您轻松共享文件并与他人协作。
我们可以在 Web 服务器中安装此扩展程序,以允许通过 Web 浏览器对本地文件进行远程读写访问。 在本指南中,我们将在带有 Apache Web 服务器的 Ubuntu 12.04 VPS 上配置 WebDAV。
在 VPS 上安装 Apache
我们的 WebDAV 实现将通过使用 WebDAV 模块在 Apache 上建立。
首先,您需要从 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 使用 WebDAV 模块来服务该位置。 我们还必须注意我们创建的身份验证方案。
使用 root 权限编辑主虚拟主机配置:
sudo nano /etc/apache2/sites-available/default
在这里,我们的 Web 内容像往常一样由 /var/www
提供。 我们将添加一些信息,允许 Apache 将我们新目录中的内容视为 WebDAV 材料。
在目录列表下方,我们将添加一个别名指令,告诉 Apache 对“/webdav”的请求应该从我们创建的 /webdav
目录中提供。
然后,我们将添加选项以允许使用我们建立的方法进行身份验证。
. . . . . . 选项索引 FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all 别名 /webdav /webdav 选项索引DAV On AuthType Basic AuthName “webdav” AuthUserFile /etc/apache2/webdav.password需要有效用户 . . . . . .
保存并关闭文件。
使用以下命令重新启动 Apache:
sudo service apache2 restart
测试结果
您可以先在 Web 浏览器中测试配置结果,然后在 WebDAV 客户端中测试。
网络浏览器测试
要测试您的身份验证是否正常工作,请使用 Web 浏览器导航到服务器的 IP 地址或域名。
您应该会看到默认的 Apache index.html 文件:
[[File:“%3Ca]] https://assets.digitalocean.com/articles/webdav/default_apache.png ” alt =“Apache 默认索引” />
这表明常规 Web 功能正在运行。
现在,导航到您的 IP 地址或域名,后跟“/webdav”:
your_IP_address_or_domain /webdav
系统会提示您输入之前设置的用户名和密码组合。 之后,您应该会看到一个空目录列表:
[[File:“%3Ca]] https://assets.digitalocean.com/articles/webdav/empty_webdav.png ” alt =“空 WebDAV” />
我们目前在这里没有任何内容,但我们可以通过使用 WebDAV 客户端访问同一区域来更改它。
WebDEV客户端测试
有许多 WebDAV 客户端,并且对 WebDAV 访问的支持已融入许多流行的文件管理器中。
为简单起见,我们将在本指南中使用名为“cadaver”的简单命令行 WebDAV 客户端。
最好从另一台 Droplet 或 Linux 机器上,从默认存储库安装 cadaver:
sudo apt-get install cadaver
现在,让我们创建一个文件,我们将上传到 WebDAV 目录:
cd ~ touch testfile
接下来,我们将使用从浏览器访问的相同位置进行连接:
尸体 http:// your_IP_address_or_domain /webdav
服务器“162.243.2.14”上的 webdav 需要身份验证:用户名:
您必须输入“http://”部分,尸体才能正确找到您的服务器。 我们将需要再次进行身份验证,然后我们将进入命令行界面。
dav:/webdav/>
从这里,我们可以使用类似于常规 Linux 命令的命令同时操作客户端和主机。
要列出服务器目录的内容,请键入:
ls
Listing collection `/webdav/': collection is empty.
目录是空的。 让我们改变上传我们的测试文件:
put testfile
我们可以再次尝试 list 命令并查看文件现在在服务器上:
ls
Listing collection `/webdav/': succeeded. testfile 0 Sep 20 19:36
我们可以创建一个目录并通过键入以下内容进行更改:
mkdir hello cd hello
然后我们可以通过键入以下内容来创建文件:
edit file.html
我们可以插入任何我们想要的内容:
<h1>Hi!!!</h1>
完成后,我们可以键入 exit 关闭连接:
exit
现在,如果我们回到我们的网络浏览器,我们所做的更改是可见的:
your_IP_address_or_domain /webdav
[[File:“%3Ca]] https://assets.digitalocean.com/articles/webdav/webdav_content.png ” alt =“WebDAV 内容” />
关闭目录列表
尽管目录列表对于查看 WebDAV 可用的文件很有用,但它通常很有用,尤其是当您将其用于实际 Web 内容时,可以关闭该列表。
如果您希望 Web 可访问部分更像是网站而不是目录列表,请从配置文件中删除“ Options Indexes ”行:
sudo nano /etc/apache2/sites-available/default
别名 /webdav /webdav Options Indexes ## Remove this line 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
<h1>Default WebDAV Page</h1> <p>This is the default page with directory listings turned off</p>
保存并关闭文件。
现在,当我们导航到 WebDAV 主目录时,此页面将出现,但客户端仍将启用编辑功能。
[[File:“%3Ca]] https://assets.digitalocean.com/articles/webdav/webdav_landing.png ” alt =“WebDAV 登陆页面” />
结论
您现在应该有一个包含基本身份验证的 WebDAV 目录。 如果您的目录包含绝对必须保持安全的内容,您可能希望在密码身份验证之上实施 SSL 解决方案。 然而,这超出了本文的范围。
许多文件管理器和客户端可以无缝访问和修改 WebDAV 内容,就好像它是额外的本地存储一样。 WebDAV 允许比传统方式更动态的 HTTP 体验。