WebDAV

Install

  1. Install the Apache HTTP Server.

    1
    
    yay -S apache
  2. Enable modules for DAV in /etc/httpd/conf/httpd.conf

    1
    2
    3
    
    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
  3. Add the following line to /etc/httpd/conf/httpd.conf

    1
    
    DAVLockDB /home/httpd/DAV/DAVLock
  4. Create the directory outside of any other directives

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    
      DAVLockDB /home/yayu/.local/DAVLock
    
      Alias /webdav "/home/yayu/WebDAV/DAV"
    
      <Directory "/home/yayu/WebDAV/DAV">
        DAV On
        AllowOverride None
        Options Indexes FollowSymLinks
        Require all granted
        Header always set Access-Control-Allow-Origin "*"
        Header always set Access-Control-Allow-Headers "Authorization, Content-Type, Depth, Range"
        Header always set Access-Control-Expose-Headers "Content-Length, Content-Type"
        Header always set Access-Control-Allow-Methods "GET, HEAD, PROPFIND"
      </Directory>

Troubleshooting

403 Forbidden & Permission denied because search permissions are missing on a component of the path

  • Make all the parent directory executable