热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

ApacheWebDav服务

为了让Apache显示能像FTPserver那样的文件列表,我们可以使用Apache的WebDav的服务。
为了让Apache显示能像FTP server那样的文件列表,我们可以使用Apache的WebDav的服务。

    WebDav(Web-based Distributed Authoring and Versioning)是一种基于HTTP1.1协议的通信协议,扩展了HTTP1.1,主要有GET(检索文档),PUT和POST(将文档提交到服务器),HEAD,OPTIONS和TRACE(主要由应用程序用来发现和跟踪服务器支持和网络行为),DELETE(销魂资源或集合)Mkcol(创建集合),PropFind和PropPatch(针对资源和集合检索和设置属性),Copy和Move(管理命名空间上下文中的资源和集合),Lock和Unlock(改写保护)。

   WebDav请求的一般机构遵循HTTP格式,并且由一下三个组件构成:
   1.方法,声明由客户端执行的方法
   2.标头,描述有关如何完成此任何的指令。
   3.主体(optional),定义用在该指令或者其他指令中的数据,用以描述如何完成此方法。
  
    WebDav允许客户端进行下列操作:
  
    处理服务器上 WebDAV 发布目录中的资源。使用此功能,其优点例如:
    1.具有正确权限的用户可以在 WebDAV目录中复制和移动文件。
    2.修改与某些资源相关联的属性。例如,用户可写入并检索文件的属性信息。
    3.锁定并解锁资源以便多个用户可同时读取一个文件。但每次只能有一个人修改文件。
    4.搜索 WebDAV 目录中的文件的内容和属性。

    Apache支持WebDav服务,而且配置也很简单。
    1.Enable module:
     
Java代码  
  1. LoadModule dav_module modules/mod_dav.so   
  2. LoadModule dav_fs_module modules/mod_dav_fs.so   
  3. LoadModule dav_lock_module modules/mod_dav_lock.so   
      LoadModule dav_module modules/mod_dav.so
      LoadModule dav_fs_module modules/mod_dav_fs.so
      LoadModule dav_lock_module modules/mod_dav_lock.so
      

   
    2.Remove comment out:
     
Java代码  
  1. Include conf/extra/httpd-dav.conf  
Include conf/extra/httpd-dav.conf

    
    3.open http-dav.conf
     
Java代码  
  1.        #   
  2. # Distributed authoring and versioning (WebDAV)   
  3. #   
  4. # Required modules: mod_dav, mod_dav_fs, mod_setenvif, mod_alias   
  5. #                   mod_auth_digest, mod_authn_file   
  6. #   
  7.   
  8. # The following example gives DAV write access to a directory called   
  9. "uploads" under the ServerRoot directory.   
  10. #   
  11. # The User/Group specified in httpd.conf needs to have write permissions   
  12. # on the directory where the DavLockDB is placed and on any directory where   
  13. "Dav On" is specified.   
  14.   
  15. DavLockDB "C:/development/Apache Software Foundation/Apache2.2/var/DavLock"  
  16.   
  17. Alias /uploads "C:/development/Apache Software Foundation/Apache2.2/uploads"  
  18.   
  19. #CustomLog "C:/development/Apache Software Foundation/Apache2.2/logs/all-bw.log" IOFormat   
  20.   
  21. "C:/development/Apache Software Foundation/Apache2.2/uploads">   
  22.     Dav On   
  23.   
  24.     IndexOptions FancyIndexing VersionSort FoldersFirst NameWidth=*   
  25.        
  26.     Options Indexes MultiViews    
  27.     #display the file list for webdav service   
  28.     Order Allow,Deny   
  29.     Allow from all   
  30.   
  31.     AuthType Digest   
  32.     AuthName DAV-upload   
  33.   
  34.     # You can use the htdigest program to create the password database:   
  35.     #   htdigest -c "C:/development/Apache Software Foundation/Apache2.2/user.passwd" DAV-upload admin   
  36.     AuthUserFile "C:/development/Apache Software Foundation/Apache2.2/user.passwd"  
  37.     AuthDigestProvider file   
  38.   
  39.     # Allow universal read-access, but writes are restricted   
  40.     # to the admin user.   
  41.        
  42.         require user iptv   
  43.        
  44.   
  45.   
  46. #   
  47. # The following directives disable redirects on non-GET requests for  
  48. # a directory that does not include the trailing slash.  This fixes a    
  49. # problem with several clients that do not appropriately handle    
  50. # redirects for folders with DAV methods.   
  51. #   
  52. BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully   
  53. BrowserMatch "MS FrontPage" redirect-carefully   
  54. BrowserMatch "^WebDrive" redirect-carefully   
  55. BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully   
  56. BrowserMatch "^gnome-vfs/1.0" redirect-carefully   
  57. BrowserMatch "^XML Spy" redirect-carefully   
  58. BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully   
  59.   
  60.         
       #
# Distributed authoring and versioning (WebDAV)
#
# Required modules: mod_dav, mod_dav_fs, mod_setenvif, mod_alias
#                   mod_auth_digest, mod_authn_file
#

# The following example gives DAV write access to a directory called
# "uploads" under the ServerRoot directory.
#
# The User/Group specified in httpd.conf needs to have write permissions
# on the directory where the DavLockDB is placed and on any directory where
# "Dav On" is specified.

DavLockDB "C:/development/Apache Software Foundation/Apache2.2/var/DavLock"

Alias /uploads "C:/development/Apache Software Foundation/Apache2.2/uploads"

#CustomLog "C:/development/Apache Software Foundation/Apache2.2/logs/all-bw.log" IOFormat


    Dav On

	IndexOptions FancyIndexing VersionSort FoldersFirst NameWidth=*
	
	Options Indexes MultiViews 
	#display the file list for webdav service
    Order Allow,Deny
    Allow from all

    AuthType Digest
    AuthName DAV-upload

    # You can use the htdigest program to create the password database:
    #   htdigest -c "C:/development/Apache Software Foundation/Apache2.2/user.passwd" DAV-upload admin
    AuthUserFile "C:/development/Apache Software Foundation/Apache2.2/user.passwd"
    AuthDigestProvider file

    # Allow universal read-access, but writes are restricted
    # to the admin user.
    
        require user iptv
    


#
# The following directives disable redirects on non-GET requests for
# a directory that does not include the trailing slash.  This fixes a 
# problem with several clients that do not appropriately handle 
# redirects for folders with DAV methods.
#
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully

      


     4.创建账户
    
Java代码  
  1. htdigest -c "C:/development/Apache Software Foundation/Apache2.2/user.passwd" DAV-upload admin  
htdigest -c "C:/development/Apache Software Foundation/Apache2.2/user.passwd" DAV-upload admin


     5. http-dav解释
       Dav on 启用WebDav服务
       Options Indexes MultiViews 在web页面用显示文件列表
       IndexOptions FancyIndexing VersionSort FoldersFirst NameWidth=*在文件列表中显示相关信息
       Order Allow,Deny
       Allow from all   先检查禁止设定,没有禁止的全部允许
       AuthType Digest  使用Digest授权方式
     
      AuthUserFile    authentication的文件

      LimitExcept     除了..以外都需要校验信息


推荐阅读
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 在《PHP应用性能优化实战指南:从理论到实践的全面解析》一文中,作者分享了一次实际的PHP应用优化经验。文章回顾了先前进行的一次优化项目,指出即使系统运行时间较长后出现的各种问题和性能瓶颈,通过采用一些通用的优化策略仍然能够有效解决。文中不仅详细阐述了优化的具体步骤和方法,还结合实例分析了优化前后的性能对比,为读者提供了宝贵的参考和借鉴。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • Spring框架入门指南:专为新手打造的详细学习笔记
    Spring框架是Java Web开发中广泛应用的轻量级应用框架,以其卓越的功能和出色的性能赢得了广大开发者的青睐。本文为初学者提供了详尽的学习指南,涵盖基础概念、核心组件及实际应用案例,帮助新手快速掌握Spring框架的核心技术与实践技巧。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 如何在Java中高效构建WebService
    本文介绍了如何利用XFire框架在Java中高效构建WebService。XFire是一个轻量级、高性能的Java SOAP框架,能够简化WebService的开发流程。通过结合MyEclipse集成开发环境,开发者可以更便捷地进行项目配置和代码编写,从而提高开发效率。此外,文章还详细探讨了XFire的关键特性和最佳实践,为读者提供了实用的参考。 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • 探索JavaScript倒计时功能的三种高效实现方法及代码示例 ... [详细]
  • 本文深入探讨了IO复用技术的原理与实现,重点分析了其在解决C10K问题中的关键作用。IO复用技术允许单个进程同时管理多个IO对象,如文件、套接字和管道等,通过系统调用如`select`、`poll`和`epoll`,高效地处理大量并发连接。文章详细介绍了这些技术的工作机制,并结合实际案例,展示了它们在高并发场景下的应用效果。 ... [详细]
  • Nmap端口检测与网络安全性评估
    Nmap 是一款强大的网络扫描工具,能够高效地进行主机发现、端口扫描和服务识别。它不仅能够检测网络中活跃的主机,还能详细列出这些主机上开放的端口及其对应的服务和版本信息。此外,Nmap 还具备操作系统指纹识别和硬件地址探测功能,为网络安全评估提供了全面的数据支持。 ... [详细]
  • ActiveMQ是由Apache开发的一款广受欢迎且功能强大的开源消息中间件。作为完全符合JMS 1.1和J2EE 1.4规范的JMS Provider实现,尽管JMS规范已问世多年,但ActiveMQ依然保持了其在消息队列领域的领先地位。本文将带你初步了解ActiveMQ的核心概念及其应用场景,帮助你快速入门这一重要的消息传递技术。 ... [详细]
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • 如何在Linux系统中实施网络流量监测与分析
    本文详细介绍了在Linux系统中实施网络流量监测与分析的方法。通过使用专业的工具和技术,读者可以有效地监控和分析网络流量,从而提高系统的安全性和性能。希望本文能为读者提供有价值的参考和实践指导。 ... [详细]
  • 在 Tomcat 上部署 Jenkins 实现持续集成环境搭建
    本文介绍了如何在Tomcat服务器上部署Jenkins以构建持续集成环境。首先,需下载并解压Tomcat压缩包,例如 `apache-tomcat-8.5.37.tar.gz`。接着,为Tomcat创建一个管理用户,并对相关文件目录进行权限配置,确保Jenkins能够顺利运行于Tomcat之上。此外,还详细阐述了环境配置、服务启动及基本的故障排查技巧,为用户提供了一套完整的部署指南。 ... [详细]
  • 在Maven项目中高效集成JaCoCo代码覆盖率插件,以显著提高测试质量。首先,需在项目的`pom.xml`文件中添加JaCoCo和JUnit的依赖配置,确保测试框架和覆盖率工具的无缝结合。通过这种方式,开发者不仅能够执行单元测试,还能获取详细的代码覆盖率报告,从而优化测试策略和代码质量。 ... [详细]
author-avatar
小怡的宝_594
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有