APACHE设置WEBDAV

在windows上使用APACHE设置WEBDAV

1、下载APACHE HTTD服务器,到这个页面(Download - The Apache HTTP Server Project),选择下图所示的链接。

在弹出的如下所示的页面中有四个下载链接,是一样的,都可以下载。

2、下载完成后,直接解压即可,解压后将Apache24文件夹即是程序文件夹,这个文件夹可以放到任何位置,但需要与Apache24/conf/httpd.conf文件中的ServerRoot设置一致,如我将Apache24文件 夹放到了c:/SOFT/中,此处的ServerRoot就应该设置为c:/SOFT/Apache24,即下图中的第39行(第37行只是定义了一个变量SRVROOT,由于这个路径使用的十分频繁,因而将其定义为一个变量)

3、安装httdp服务,Apache24\bin文件夹中的httpd.exe程序可用来安装、启动、关闭、重启、卸载httpd服务,命令分别如下


httpd -k install

httpd -k start

httpd -k stop

httpd -k restart

httpd -k uninstall

使用上述第一个命令安装服务后,在系统的服务列表中会有一个Apache2.4的服务,默认是自动运行的。

在安装服务时由于其安装后会自动启动服务,而此时由于还没有进行配置,因而可能会报错,不过没关系,下面进行配置后再启动就可以了。

4、配置webdav。apaceh http服务器是通过Apache24/conf/httpd.conf这个文件进行配置的。这个文件中每一行是一个语句,语句是由空格分隔的多个部分组成,第一个部分是指定,后面的都是参数。另外,还可以有语句块,使用下述格式(其中的缩进不是必须的),表示块中所有语句将应用于块的标签指令。

<标签指令 参数>
    块中语句
</块名>

前面加#的为注释语句

经常用的指令如下

Define:定义变量,如下为定义一个名为SRVROOT,后续可以使用“$SRVROOT”引用;

Define SRVROOT "c:/SOFT/Apache24"

ServerRoot:定义服务器程序的安装路径

ServerRoot "${SRVROOT}"

Listen:定义侦听的端口号,此句之后直到遇到下一个Listen之前的所有语句都是针对这个端口的

Listen 12001

LoadModule:加载模块,这些模块都在Apache24\modules文件夹中,后面的参数斜杠前为模块名称,斜杠后为模块所在的文件。

LoadModule access_compat_module modules/mod_access_compat.so

不同的服务需要加载不同的模块,需要加载哪些模块可以在Apache24\conf\extra文件夹中找到相应的服务对应的conf文件,打开后可以看到头部的注释中有说明。例如我们要配置的webDav服务,在Apache24\conf\extra文件夹下的httpd-dav.conf文件的开头可以看到如下注释,这些就是需要加载的模块。

#
# Distributed authoring and versioning (WebDAV)
#
# Required modules: mod_alias, mod_auth_digest, mod_authn_core, mod_authn_file,
#                   mod_authz_core, mod_authz_user, mod_dav, mod_dav_fs,
#                   mod_setenvif

# The following example gives DAV write access to a directory called
# "uploads" under the ServerRoot directory.
#

ServerAdmin:指定服务管理员,出问题的时候客户端会提示与这个邮箱联系

ServerAdmin admin@example.com

ErrorLog:指定错误日志位置,如下表示在安装目录下的位置

ErrorLog "logs/error.log"

Include:包含文件,即是将参数指定的文件中的所有内容放在当前位置,一般是将一个独立的服务单独放到一个文件中,在httpd.conf文件中使用include来包含以便文件结构更清晰,apache默认提供了许多服务配置都放在Apache24/conf/extra文件夹中,可以根据需要包含。

Include conf/extra/httpd-dav.conf

DavLockDB:指定webDav访问冲突控制的数据库位置,如下所示为APACHE默认指供的WEBDAV配置文件Apache24\conf\extra\httpd-dav.conf中的设置,但APACHE并没有默认建立这个文件,需要手动在安装目录下建立var文件夹,并在其中建立一个名为DavLock的文件。如果不建立这个文件则无法上传文件。

DavLockDB "${SRVROOT}/var/DavLock"

Alias:指定虚拟目录,如下所示将本机上的物理目录E:/PHOTODAV映射到虚拟目录/photo上,这样就可以在客户端使用:网址:端口/photo这个地址来访问E:/PHOTODAV目录中的内容了。

Alias /photo "E:/PHOTODAV"

Directory :设置文件夹,下面是针对webdav服务的典型设置,用于使用一个指定的文件夹提供webdav服务

<Directory "E:/PHOTODAV">
    Dav On
    Options Indexes
    AuthType Digest
    AuthName photo
    AuthUserFile "${SRVROOT}/user.passwd"
    AuthDigestProvider file
    <RequireAny>
        Require method GET POST OPTIONS
        Require user test
    </RequireAny>
</Directory>

Dav On:表示开启webDav服务

Options Indexes:表示启用列表,即可以在浏览器中看到服务器上的文件和目录列表,如果不设置这个,则当用网络浏览器查看webDav中的内容时会提示Forbbien

AuthType Digest:表示许可类型为Digest,这个与下面的AuthDigestProvider是配套的,除此之外许可类型也可设为Basic,这时相应的许可提供指令应为AuthBasicProvider

AuthName photo:表示许可区域,这个名称是自定义的

AuthUserFile "${SRVROOT}/user.passwd":表示许可用户及密码存储的文件,这个文件使用

Apache24\bin\htdigest.exe和Apache24\bin\htpasswd.exe生成和创建用户,前者用于许可类型为Digest的用户创建,后者用于许可类型为Basic的用户创建。如下命令表示创建一个密码存储文件C:\SOFT\Apache24\user.passwd(这个文件并可存储Digest类型也可存储Basic类型的用户),并在其中添加一个许可区域为photo的用户,用户名为test,在命令行中执行下面的命令后,会提示输入密码,输入后即可。

htdigest.exe -c "C:\SOFT\Apache24\user.passwd" photo test

需要注意上述-c参数表示新建一个密码文件,如果已有密码文件则不需要-c参数,会直接在现有文件中增加一个指定用户。生成的文件内容如下所示,每行表示一个用户。

test:photo:xxxxxx

AuthDigestProvider file:表示许可认证使用文件,与AuthUserFile是配套的。

<RequireAny>:这个标签表示要求访问符合这个块内的任何一个条件即可访问,除此之外还有RequireAll表示访问要符合块内所有条件才行,RequireNone表示不满足所有条件才能授权通过。

例如上面的示例中的表示要求满足块内的两个条件之一才能访问。

Require method GET POST OPTIONS表示客户端使用的方法为GET(读)、POST(写),OPTIONS(对应上述的OPTIONS指令),这里可用的方法还有PUT(替换)和DELETE(删除)。
Require user test表示客户名要为test,这里还常用Require valid-user表示所有许可文件中的用户。

5、配置完成后,重启服务,另外Apache24\bin\ApacheMonitor.exe是一个服务监控程序,可以直接在这个程序的界面窗口启停服务。启动服务时如果来能成功启动,可查看Apache24\logs\error.log日志文件,对配置文件进行相应修改;

6、在客户端访问或通过网络浏览器访问,如果出现问题可通过Apache24\logs\access.log查看问题所在并进行相应修改。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值