Configuring a WebDAV share on https://webdav.csail.mit.edu

Background

WebDAV, for Distributed Authoring and Versioning, is a protocol for performing arbitrary edits/modifications to files located on a web server. It has many uses, with varying degrees of risk. TIG provides the webdav facility with the expectation that it will be used for allowing account owners and close collaborators to collaboratively edit documents and data. Specifically, take care to ensure that your share on webdav.csail.mit.edu does not allow anonymous access, and that usernames and passwords used to access it are not disclosed publicly.

Please do not use webdav.csail.mit.edu for iCal or Subversion repositories. Use ical.csail.mit.edu for iCal access and svn.csail.mit.edu for SVN access instead.

Directories

You can set up WebDAV within space belonging to yourself (/afs/csail/u/y/you), a group (/afs/csail/group/yourgroup), or a project (/afs/csail/proj/someproject). The appropriate directory is referred to as $DIR below.

Setup

From a unix prompt with AFS access (CSAIL Debian, Ubuntu, Mac OS...):

  1. change to the top level of the user, group, or project directory: cd $DIR
  2. mkdir -p webdav
  3. fs sa webdav webdav write
Finally, create a webdav/.htaccess file with only a AuthUserFile directive. (The usual AuthType, Require valid-user, etc, are already specified sitewide.) Create the associated webdav/.htpasswd file to restrict access to username & password pairs. That is, use
htpasswd -c .htpasswd username1
htpasswd .htpasswd username2
...
htpasswd .htpasswd usernamen
for more detail on .htaccess and .htpasswd in general, see: Htaccess Hints#Restricting_access_using_basic_a.

Point your WebDAV client at the appropriate user, group, or project URL:

  • https://webdav.csail.mit.edu/~$USERNAME/
  • https://webdav.csail.mit.edu/groups/$GROUPNAME/
  • https://webdav.csail.mit.edu/projects/$PROJECTNAME/
Note that only https:// is available (not http://), and that the tilde (~) is required for user WebDAV stores. Collaborators may need to install the CSAIL Master CA to avoid security warnings.

Troubleshooting

  • No username or password is accepted
    • Make sure your .htaccess file properly specifies an AuthUserFile -- if it does not, all logins will be rejected

Client configuration notes (listing below does not imply support; please contribute your own)

  • FoxMarks/XMarks -- try appending /bookmarks.json to the path in Advanced -> Server
  • ...?