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

2024-04-29 08:28

本文主要是介绍如何在 Ubuntu 14.04 上使用 Apache 配置 WebDAV 访问,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

WebDAV 是 HTTP 协议的扩展,允许用户在服务器上管理文件。有许多使用 WebDAV 服务器的方式。例如,您可以通过将 Word 或 Excel 文档上传到您的 WebDAV 服务器,与同事共享文件。您甚至可以通过简单地给他们一个 URL,与家人和朋友分享您的音乐收藏。所有这些都可以在他们不安装任何东西的情况下实现。

有许多方法可以管理远程服务器上的文件。WebDAV 相对于其他解决方案(如 FTP 或 Samba)具有几个优点。在本文中,我们将介绍如何配置 Apache 服务器,以允许来自 Windows、Mac 和 Linux 的本机 WebDAV 访问,并进行身份验证。

为什么选择 WebDAV?

WebDAV 提供了几个优点:

  • 在所有主要操作系统(Windows、Mac、Linux)上具有本机集成;无需安装第三方软件即可使用 WebDAV。
  • 支持部分传输。
  • 身份验证选择更多。由于在 HTTP 上,因此 NTLM、Kerberos、LDAP 等都是可能的。

根据您的情况,WebDAV 可能是您需求的最佳解决方案。

为什么选择 Apache?

有许多支持 WebDAV 的 Linux 上的 Web 服务器。然而,Apache 在那里拥有最符合 WebDAV 协议的实现。在撰写本文时,Nginx 和 Lighttpd 上的 WebDAV 可以工作,但只能部分工作。

先决条件

您需要一个 Ubuntu 14.04 服务器。

在开始之前,让我们首先创建一个具有 sudo 访问权限的用户。您可以以 root 身份运行命令,但由于安全问题,这并不被鼓励。如果您希望了解更多信息,可以参考一篇关于在 Ubuntu 14.04 上添加用户的优秀文章。

创建用户

当您首次创建 Digital Ocean 实例时,您将获得允许您以 root 身份登录的凭据。作为 root,让我们首先添加一个名为 alex 的用户。

adduser alex

您将被提示为用户 alex 创建密码,如下所示。还将有关于用户 alex 的信息的进一步提示。如果您愿意,可以输入这些信息。

Adding user `alex' ...
Adding new group `alex' (1000) ...
Adding new user `alex' (1000) with group `alex' ...
Creating home directory `/home/alex' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for alex
Enter the new value, or press ENTER for the defaultFull Name []:Room Number []:Work Phone []:Home Phone []:Other []:
Is the information correct? [Y/n] y

授予用户 sudo 权限

创建新用户后,下一步是授予用户 alex sudo 权限。假设您仍然以 root 身份登录,通过输入以下命令将用户 alex 添加到 sudo 组。

usermod -aG sudo alex

属于 sudo 组的用户被授予 sudo 权限。现在您可以注销并以用户 alex 的身份登录。

步骤一 — 安装 Apache

让我们安装 Apache。

sudo apt-get update
sudo apt-get install apache2

Apache Web 服务器应该已经安装并运行。

步骤二 — 设置 WebDAV

设置 WebDAV 有三个步骤。我们需要指定一个位置,启用必要的模块,并进行配置。

准备目录

我们需要指定一个用于提供 WebDAV 服务的文件夹。我们将为此创建新目录 /var/www/webdav。您还需要将所有者更改为 www-data(您的 Apache 用户),以允许 Apache 对其进行写入。

sudo mkdir /var/www/webdav
sudo chown -R www-data:www-data /var/www/

启用模块

接下来,使用 a2enmod 启用 WebDAV 模块

sudo a2enmod dav
sudo a2enmod dav_fs

Apache 模块位于 /etc/apache2/mods-available。这将在 /etc/apache2/mods-available/etc/apache2/mods-enabled 之间创建符号链接。

配置

使用您喜欢的文本编辑器打开或创建位于 /etc/apache2/sites-available/000-default.conf 的配置文件。

nano /etc/apache2/sites-available/000-default.conf

在第一行添加 DavLockDB 指令配置:

DavLockDB /var/www/DavLock

并在 VirtualHost 部分内添加 AliasDirectory 指令:

Alias /webdav /var/www/webdav<Directory /var/www/webdav>DAV On
</Directory>

编辑后,文件应如下所示。

DavLockDB /var/www/DavLock
<VirtualHost *:80># ServerName 指令设置服务器用于标识自身的请求方案、主机名和端口。在创建重定向 URL 时使用。在虚拟主机的上下文中,ServerName 指定了请求的 Host: 标头中必须出现的主机名,以匹配此虚拟主机。对于默认虚拟主机(此文件),此值并不决定性,因为它作为最后的主机作为最后的主机使用。但是,对于任何进一步的虚拟主机,您必须显式设置它。#ServerName www.example.comServerAdmin webmaster@localhostDocumentRoot /var/www/html# 可用的日志级别:trace8、...、trace1、debug、info、notice、warn、error、crit、alert、emerg。# 还可以为特定模块配置日志级别,例如#LogLevel info ssl:warnErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined# 对于 conf-available/ 中的大多数配置文件,可以配置为在全局级别启用或禁用,可以为特定虚拟主机包含一行。例如,以下行仅为此主机启用 CGI 配置,仅在使用 "a2disconf" 全局禁用后才能使用。#Include conf-available/serve-cgi-bin.confAlias /webdav /var/www/webdav<Directory /var/www/webdav>DAV On</Directory>
</VirtualHost>```markdown
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

DavLockDB 指令指定了 DAV 锁定数据库的名称。它应该是一个文件的路径。这个文件不需要被创建。该目录应该是 Apache 服务器可写的。

Alias 指令将请求映射到 http://your.server/webdav/var/www/webdav 文件夹。

Directory 指令告诉 Apache 为 /var/www/webdav 文件夹启用 WebDAV。您可以从 Apache 文档中了解更多关于 mod_dav 的信息。

如果您重新启动 Apache 服务器,您将拥有一个可以无需身份验证的工作 WebDAV 服务器。

像这样重新启动 Apache 服务器:

sudo service apache2 restart

测试

无需身份验证的 WebDAV 仅允许用户进行读取访问。为了测试,让我们创建一个样本文件。

echo "this is a sample text file" | sudo tee -a /var/www/webdav/sample.txt

应该在 /var/www/webdav 中创建一个名为 sample.txt 的文本文件。它应该包含文本 this is a sample text file

现在我们可以尝试从外部计算机登录。WebDAV 服务器应该在 http://<your.server.com>/webdav 找到。为了简洁起见,我们只展示如何在 Mac 上无需凭据登录。

在 Mac 上,打开 Finder。在菜单栏中,找到 前往 并选择 连接服务器 选项。

!WebDAV Mac 步骤 1

选择 以访客身份连接 选项。然后,点击 连接

!WebDAV Mac 步骤 2

您应该已登录。如果您连接到该共享文件系统并进入 webdav 文件夹,您应该能够看到之前创建的 sample.txt 文件。该文件应该是可下载的。

!WebDAV Mac 步骤 3

第三步 — 添加身份验证

没有身份验证的 WebDAV 服务器是不安全的。在本节中,我们将使用摘要身份验证方案为您的 WebDAV 服务器添加身份验证。

基本身份验证还是摘要身份验证?

有许多身份验证方案可用。此表说明了不同操作系统上各种身份验证方案的兼容性。请注意,如果您正在提供 HTTPS 服务,我们假设您的 SSL 证书是有效的(而不是自签名的)。

!WebDAV 兼容性

如果您使用 HTTP,请使用摘要身份验证,因为它将在所有操作系统上工作。如果您使用 HTTPS,您可以选择使用基本身份验证。

我们将介绍 摘要 身份验证方案,因为它在所有操作系统上都可以工作,而无需 SSL 证书。

摘要身份验证

让我们生成存储用户密码的文件(称为 users.password)。在摘要身份验证中,有一个称为 realm 的字段,它充当用户的命名空间。我们将使用 webdav 作为我们的 realm。我们的第一个用户将被称为 alex

为了生成摘要文件,我们必须安装依赖项。

sudo apt-get install apache2-utils

接下来我们将添加用户。让我们使用以下命令生成用户密码文件。

sudo htdigest -c /etc/apache2/users.password webdav alex

这将把用户 alex 添加到密码文件中。应该会有一个密码提示来为 alex 创建密码。

对于随后添加的用户,您应该删除 c 标志。以下是另一个示例,添加一个名为 chris 的用户。在提示时创建密码。

sudo htdigest /etc/apache2/users.password webdav chris

我们还需要允许 Apache 读取密码文件,因此我们更改所有者。

sudo chown www-data:www-data /etc/apache2/users.password

创建密码文件后,我们应该对 /etc/apache2/sites-available/000-default.conf 中的配置进行更改。

Directory 指令中添加以下行

AuthType Digest
AuthName "webdav"
AuthUserFile /etc/apache2/users.password
Require valid-user

最终版本应该如下所示(删除了注释)。

DavLockDB /var/www/DavLock<VirtualHost *:80>ServerAdmin webmaster@localhostDocumentRoot /var/www/htmlErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combinedAlias /webdav /var/www/webdav<Directory /var/www/webdav>DAV OnAuthType DigestAuthName "webdav"AuthUserFile /etc/apache2/users.passwordRequire valid-user</Directory>
</VirtualHost>

mod_authn 模块包含了身份验证指令的定义。

AuthType 指令告诉 Apache 对于 /var/www/webdav 目录,应该使用 Digest 方案进行身份验证。

Digest 身份验证需要一个 realm 的值,我们将其设置为 webdavRealm 充当命名空间。当您有相同名称的用户时,您可以使用不同的 realm 值来将它们分开。我们使用 AuthName 指令来设置 realm 的值。

AuthUserFile 指令用于指示密码文件的位置。

Require 指令说明只有经过身份验证的有效用户才能访问该目录。

最后,启用 Digest 模块并重新启动服务器以使设置生效。

sudo a2enmod auth_digest
sudo service apache2 restart

第四步 - 访问文件

我们将演示如何从 Mac、Windows 和 Linux(Ubuntu)的本机文件浏览器访问您的 WebDAV 服务器。为了简洁起见,我们将仅演示在 Mac 上的文件和文件夹操作,尽管您可以从所有操作系统上的服务器上添加、编辑和删除文件。

您还可以使用 Web 浏览器通过互联网访问文件。

如果您之前进行过测试,可能需要弹出驱动器并重新连接以添加身份验证。

Mac

在 Mac 上,打开 Finder。在菜单栏中,找到 前往 并选择 连接服务器 选项。

!WebDAV Mac 步骤 1

输入服务器地址。应该是 http://<your.server>/webdav。按下 连接

!WebDAV Mac 步骤 2

系统会提示您输入用户名和密码。输入我们在服务器上创建的用户之一,然后按下 连接

!WebDAV Mac 步骤 3

连接后,目录应该会出现在 Finder 中。

!WebDAV Mac 步骤 4

您可以复制和保存文件到 webdav 目录,并创建子目录。以下是服务器上目录的初始状态:

!WebDAV Mac 步骤 5

您可以像在 Finder 中一样添加或重命名文件,并创建新目录。以下是最终结果。

!WebDAV Mac 步骤 6

Windows

在 Windows 上,打开 文件资源管理器。在左侧边栏中,您应该会找到 网络 图标。

!WebDAV Windows 步骤 1

右键单击 网络 图标。它应该显示上下文菜单,其中包含 映射网络驱动器 选项。点击它。

!WebDAV Windows 步骤 2

在文件夹字段中输入服务器地址。应该是 http://<your.server>/webdav。如果您的登录信息不同,请选择 使用不同的凭据连接。按下 完成

!WebDAV Windows 步骤 3

系统会提示您输入用户名和密码。输入后按下 确定

!WebDAV Windows 步骤 4

连接后,它应该会出现在您的 文件资源管理器 左侧边栏中作为网络驱动器。

!WebDAV Windows 步骤 5

Linux(Ubuntu)

我们使用 Ubuntu 14.04 作为我们的 Linux 桌面操作系统。在 Ubuntu 上,打开 文件。左侧边栏上有一个 连接到服务器 选项。点击它。

!WebDAV Linux 步骤 1

输入服务器地址。应该是 dav://<your.server>/webdav。按下 连接

!WebDAV Linux 步骤 2

系统会提示您输入用户名和密码。输入后按下 连接

!WebDAV Linux 步骤 3

连接后,目录应该会出现在 网络 列表下。

!WebDAV Linux 步骤 4

结论

在本文中,我们已经介绍了如何在 Ubuntu 14.04 上使用 Apache 设置 WebDAV 服务器。我们还讨论了如何配置摘要身份验证以保护服务器。最后,我们向您展示了如何使用它们的本机文件浏览器从三个主要操作系统连接到 WebDAV 服务器。

这篇关于如何在 Ubuntu 14.04 上使用 Apache 配置 WebDAV 访问的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/945583

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于