<br/ >

本文已停止更新,点击此链接查看本文最新内容 !!!

1、WebDav 服务器

  • 基于 http 协议的 "文件" 服务器。

  • 实现文件的上传/下载/修改/删除。

  • WebDav 权限

    • 授权信息的格式 BASIC (用户名:口令)base64
    • 安全性并不高,密码很容易被拦截和破解。
  • 应用场景:开发企业级的管理系统,可以用 WebDav 搭建一个内部的文件管理服务器,只是在公司内网使用。

2、配置准备工作

  • 1)配置服务器的工作

    • 修改了两个配置文件。
    • 创建 web 访问用户的用户名和口令。
    • 创建了两个目录,并且设置管理权限。
  • 2)配置服务器注意事项

    • 关闭中文输入法。
    • 命令和参数之间需要有 "空格"。
    • 修改系统文件一定记住 "sudo",否则会没有权限。
  • 3)示例配置环境

    • macOS 10.11.6
    • macOS 10.13.3
  • 4)WebDav 服务器配置脚本文件

3、配置服务器

  • 打开终端,按照下面的操作开始配置,$ 开头的,可以直接拷贝,但是不要拷贝 $

    # 切换工作目录
    $ cd /etc/apache2 # 备份文件,以防不测,只需要执行一次就可以了,格式 cp (copy 的缩写) (源文件) (目标文件)
    # 如果后续操作出现错误,可以使用以下命令恢复 $ sudo cp httpd.conf.bak httpd.conf
    $ sudo cp httpd.conf httpd.conf.bak # 用 vim 打开 httpd.conf 文件(sudo 操作需要输入系统密码)
    $ sudo vim httpd.conf # 查找 httpd-dav.conf,命令模式下输入 /(查找内容),区分大小写,回车跳转到查找的内容处
    /httpd-dav.conf # 将光标移动到 #Include /private/etc/apache2/extra/httpd-dav.conf 行首
    # 命令模式下直接按键盘上的 0 键
    0 #Include /private/etc/apache2/extra/httpd-dav.conf # 删除行首注释 #,命令模式下直接按键盘上的 x 键
    x Include /private/etc/apache2/extra/httpd-dav.conf # 注意:在 macOS 10.10+ 配置时还需要在 httpd.conf 中同样打开以下三个模块 LoadModule dav_module libexec/apache2/mod_dav.so
    LoadModule dav_fs_module libexec/apache2/mod_dav_fs.so
    LoadModule auth_digest_module libexec/apache2/mod_auth_digest.so # 保存并退出,命令模式下输入 :wq ,不保存退出为 :q!
    :wq # 切换工作目录
    $ cd /etc/apache2/extra # 备份文件(只要备份一次就行)
    $ sudo cp httpd-dav.conf httpd-dav.conf.bak # 用 vim 打开 httpd-dav.conf 文件(sudo 操作需要输入系统密码)
    $ sudo vim httpd-dav.conf # 查找 Digest,命令模式下输入 /(查找内容),区分大小写,回车跳转到查找的内容处
    /Digest AuthType Digest # 进入编辑模式,命令模式下直接按键盘上的 i 键
    i # 将 Digest 修改为 Basic AuthType Basic # 返回到命令行模式,编辑模式下直接按键盘上的 esc 键
    esc # 保存并退出,命令模式下输入 :wq ,不保存退出为 :q!
    :wq # 切换工作目录,切换保存 WebDav 服务器配置脚本文件的目录
    $ cd (保存 put 脚本的目录) # 以管理员权限运行 put 配置脚本(对于 macOS 10.11+ 用户,需要关闭 SIP 安全设置)
    $ sudo ./put # 输入系统密码
    (当前用户开机密码) # 设置两次 WebDav 密码
    adminpasswd(密码随便设置) # 如果出现以下提示,表示配置完成 drwxr-xr-x 2 _www _www 68 3 30 11:50 uploads
    -rw-r--r-- 1 root _www 44 3 30 11:50 user.passwd
    drwxr-xr-x 2 _www _www 68 3 30 11:50 var # 设置的用户名为:admin,密码为:adminpasswd(上面两次输入的 WebDav 密码) # 打开 Finder,在 Finder 的菜单中依次选择 前往 => 连结服务器(command + k)
    # 在弹出的对话框的服务器地址栏中输入服务器地址
    # 如 http://127.0.0.1/uploads
    # 或者输入 http://localhost/uploads
    # 或者输入 http://本机 IP 地址/uploads 进行测试,
    # 输入用户名:admin,密码:adminpasswd 进行连接,
    # 能够打开 uploads 文件夹表示配置成功。
  • WebDav 服务器配置脚本文件 put 内容

    # 切换目录
    $ cd /usr # 设置用户 admin 的密码
    $ htpasswd -c /usr/user.passwd admin # 设置密码文件的访问群组
    $ chgrp www /usr/user.passwd # 建立 var 文件夹,保存 DavLockDB 相关文件
    $ mkdir -p /usr/var # 修改 var 文件夹用户群组
    $ chown -R www:www /usr/var # 建立上传文件夹:uploads
    $ mkdir -p /usr/uploads # 修改 uploads 文件夹用户群组
    $ chown -R www:www /usr/uploads # 确认
    $ ls -lG # 重新启动 Apache
    $ apachectl -k res

4、常见问题

  • 1)mac root 用户 在 usr 目录下没有写权限

    • 对于 macOS 10.11+ 用户,由于系统启用了 SIP(System Integrity Protection),

      导致 root 用户也没有权限修改 /usr 目录。

    • 解决方法见 macOS SIP 权限设置

  • 2)Windows 电脑连接 Mac 电脑创建的 WebDav

    • 修改注册表

      • 在 “系统菜单” => “运行” 中输入 regedit,打开“注册表”。
      • 在以下路径中 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters 把 BasicAuthLevel 值改成 2,即同时支持 http 和 https,默认只支持 https。
    • 重启 webclient 服务

      • 在“命令提示符”中输入以下命令,重启 webclient 服务,注意需要以管理员身份运行。

        # 停止 webclient 服务
        $ net stop webclient # 启动 webclient 服务
        $ net start webclient # 设置 webclient 服务自动启动
        sc condig webclient start= auto
        在 cmd 下可有两种方法打开,net 和 sc
        
        net 用于打开没有被禁用的服务,语法是:
        
          net start 服务名
        net stop 服务名 sc 可打开被禁用的服务,语法是: sc config 服务名 start= demand // 手动
        sc condig 服务名 start= auto // 自动
        sc config 服务名 start= disabled // 禁用 sc start 服务名
        sc stop 服务名
      • 或者在“控制面板”中依次打开 “管理工具” => “服务” => “WebClient”,重启 webclient 服务,同时将 WebClient 的“启动类型”改为“自动”。

    • 映射网络驱动器

      • 右键单击“我的电脑”,选择“映射网络驱动器”。
      • 在“文件夹”输入框中输入“http:// WebDav 服务器的 IP 地址/uploads”。
      • 在弹出的“Windows 安全”界面中输入上面设置的用户名 admin 和密码 adminpasswd。
      • 连接成功后在“我的电脑”的“网络位置”分组中即可看到多出来一个磁盘。

Mac Apache WebDav 服务器配置的更多相关文章

  1. iOS - Mac Apache WebDav 服务器配置

    前言 Apache 服务器: Web 服务器,可以支持各种脚本(PHP)的执行,目前世界上使用最为广泛的一种 Web 服务器 WebDav 服务器: 基于 http 协议的 "文件" ...

  2. iOS - Mac Apache WebServer 服务器配置

    前言 Apache 是目前使用最广的 Web 服务器,可以支持各种脚本的执行. Mac 系统自带,无需单独安装,只需要修改几个配置就可以,简单,快捷. 有些特殊的服务器功能,Apache 都能很好的支 ...

  3. Mac Apache WebServer 服务器配置

    前言 Apache 是目前使用最广的 Web 服务器,可以支持各种脚本的执行. Mac 系统自带,无需单独安装,只需要修改几个配置就可以,简单,快捷. 有些特殊的服务器功能,Apache 都能很好的支 ...

  4. Mac Apache Tomcat WebServer 服务器配置

    1.配置准备工作 1)配置服务器准备工作 在 Finder 中创建一个 "workspace" 的文件夹,可直接创建在 /Users/QianChia(当前用户名)目录下. 下载相 ...

  5. Linux命令详解-Apache网站服务器配置和管理

    1.Apache网站服务器配置和管理 1.源码包安装 2.rpm包安装 rpm –a | grep httpd 3.启动服务 service httpd start 4.配置文件: /etc/http ...

  6. Apache & WebDav 配置(一)

    (一)简单Apache服务器的搭建!用于文件de上传.下载.修改.删除! ---------- - Apache 1. 使用最广的 Web 服务器.支持各种脚本(PHP)的执行 2. Mac自带,只需 ...

  7. MAC apache配置

    启动 apache:在terminal中输入命令,sudo apachectl start 启动成功后访问lcoalhost会显示“It works”. 更改默认路径:命令行输入“sudo vim / ...

  8. os mac apache+php+mysql环境配置

    1.启用系统自带的apache 服务 打开终端(terminal) #sudo apachectl start #sudo vi /etc/apache2/httpd.conf 修改 LoadModu ...

  9. Apache & WebDav 配置(二)

    (二)WebDav配置 & put脚本编辑! WebDav 配置 ---------------- # 1. 修改了两个配置文件 # 2. 创建web访问用户的用户名和口令 # 3. 创建了两 ...

随机推荐

  1. [Wc]Dface双面棋盘()

    题解: 一道维护奇怪信息的线段树... 我刚开始看了标签想的是删去图上一个点后求连通性 发现不会 于是退化成一般图支持删除 插入 维护连通性 发现有2两种做法 1.lct维护 按照结束顺序先后排序,给 ...

  2. 033 关于YARN的HA

    一:准备 1.规划 namenode               namenode ZKFC ZKFC journalnode        journalnode               jou ...

  3. request中获取post的json对象数据content-type=“text/plain”

    其实采用http://www.cnblogs.com/SimonHu1993/p/7295750.html中的方法一都能获取到,就是通过获取request中的流数据,拿到json数据,理论上应该适用各 ...

  4. python单元测试模块unittest

    1.unittest_demo.py # coding=utf-8 import time import unittest from HtmlTestRunner import HTMLTestRun ...

  5. CODEVS.1228 苹果树(DFS序)

    To CODEVS.1228 苹果树  To poj 3321 Description 在卡卡的房子外面,有一棵苹果树.每年的春天,树上总会结出很多的苹果.卡卡非常喜欢吃苹果,所以他一直都精心的呵护这 ...

  6. JavaScript_几种继承方式(2017-07-04)

    原型链继承 核心: 将父类的实例作为子类的原型 //父类 function SuperType() {   this.property = true; } SuperType.prototype.ge ...

  7. URL中可以出现的字符

    http://blog.csdn.net/hejisan/article/details/51786969

  8. ssm中的某些异常

    ---恢复内容开始--- (1)java.lang.NoClassDefFoundError: org/springframework/transaction/interceptor/Transact ...

  9. zabbix 创建监控项

    项目是在Zabbix收集数据的基础 ,所有项目都是围绕主机,找到创建的主机 点击 Configuration > hosts > ltems 点击 Create item Name:输入C ...

  10. Go语言第一深坑:interface 与 nil 的比较

    interface简介 Go 语言以简单易上手而著称,它的语法非常简单,熟悉 C++,Java 的开发者只需要很短的时间就可以掌握 Go 语言的基本用法. interface 是 Go 语言里所提供的 ...