iOS - Mac Apache WebDav 服务器配置

时间:2022-10-07 19:25:46

前言

  • Apache 服务器:

    • Web 服务器,可以支持各种脚本(PHP)的执行,目前世界上使用最为广泛的一种 Web 服务器
  • WebDav 服务器:

    • 基于 http 协议的 "文件" 服务器
    • 实现文件的上传/下载/修改/删除

    • WebDav 权限:

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

  • FTP 服务器:

    • 文件传输协议,基于 FTP 的一个文件管理服务器
    • 可以做文件的上传/下载/修改/删除
  • 以上三种服务器,只要 ip 地址能够访问,无论在任何位置,都能够使用。

1、Apache WebDav 配置

  • 1)准备工作:

  • 2)配置服务器:

    • 1> 配置服务器的工作:

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

      • 关闭中文输入法。
      • 命令和参数之间需要有 "空格"。
      • 修改系统文件一定记住 "sudo",否则会没有权限。
      • 目录要在 /Users/JHQ0228(当前用户名)目录下。
    • 3> 配置服务器:

          # 切换目录
              $ cd /etc/apache2
              $ sudo vim httpd.conf
      
          # 查找httpd-dav.conf
              /httpd-dav.conf
      
          "删除行首#"
              # 将光标定位到行首
                  0
              # 删除行首的注释
                  x
              # 保存退出
                  :wq
      
          注意:要在 Mac 10.10+ 配置 Web-dav 还需要在 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
      
          # 切换目录
              $ cd /etc/apache2/extra
      
          # 备份文件(只要备份一次就行)
              $ sudo cp httpd-dav.conf httpd-dav.conf.bak
      
          # 编辑配置文件
              $ sudo vim httpd-dav.conf
      
          "将 Digest 修改为 Basic"
              # 查找Digest
                  /Digest
              # 进入编辑模式
                  i
              # 返回到命令行模式
                  ESC
              # 保存退出
                  :wq
      
          # 切换目录,可以使用鼠标拖拽的方式
              $ cd 保存 put 脚本的目录
      
          # 以管理员权限运行 put 配置脚本(对于 OS X 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
      
          # 点击 Finder 的菜单 前往 => 连结服务器(command + k)
          # 在弹出的对话框的服务器地址中输入要连结的 WebDav 服务器的 IP 地址。
          # 如输入 http://192.168.88.200/uploads 点击连结。
          # 或者输入本地回环地址 http://127.0.0.1/uploads 进行测试。
          # 验证连结身份时,使用注册用户,名称和密码为前边设置的内容,如名称:admin,密码:adminpasswd
          # 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 restart
  • 3)常见问题:

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

              对于 Mac OS X 10.11 + 用户,由于系统启用了 SIP(System Integrity Protection),
          导致 root 用户也没有权限修改 /usr 目录。按如下方式可恢复权限。
      
          屏蔽方法:
      
                  重启 Mac,按住 command + R,进入 recovery 模式。选择打开 Utilities 下的终端,
              输入:csrutil disable 并回车,然后正常重启 Mac 即可。
      
              如果想想重新开启该安全设置,重复上面步骤,在终端中输入的命令更改为 csrutil enable。