Basic Webdav Server (using Sabredav) with Kohana (PHP) & Nginx

Basic Webdav Server (using Sabredav) with Kohana (PHP) & Nginx


Job Description

I need a basic working Webdav server (just file transfers, no need for CardDav or CalDav) written in Kohana (+Auth) with Nginx 1.x/php-fpm (Debian) as the web server. Ideally, I would like to open source your work if possible. We can put it under your github name (so you get the credit) or I will put it here:


* Working webdav server (Sabredav seems to be the defacto standard in PHP)
* Uses nginx and php-fpm as the web server
* Wrapped inside a Kohana 3.3.1 module (PSR-0)
* Uses Kohana Auth to authenticate user and give them access to a specific folder for that user ONLY (multi-user system)
* So this means that each user gets their own webdav "home" folder
* Anything that Auth::instance() is OK, require a specific role like "webdav" (instead of just login)
* Do NOT need CalDav
* Do NOT need CardDav


* Zip file of working code OR a fork of the github project above
* I can also download Kohana on my own
* I can also download sabredav on my own
* nginx configuration file
* /etc/nginx/sites-available/default
* Instructions on how to get it up and running, I usually do the following
* Vagrant box locally with an IP (
* Point /etc/hosts to it webdav.test
* Load up the files on the vagrant box and use my local browser and cyberduck to test against http://webdav.test
* Webdav settings
* Host:
* Path: (this would be the Kohana route)
* User:
* Pass:


* Nginx version 1.4.x (Debian 6 - 64 bit with Dotdeb repository)
* sudo apt-get nginx against dotdeb already has the nginx dav module already compiled in
* Kohana is 3.3.1+ (PSR-0)
* Prefer php-fpm to be running on a socket in the config
* Doc root is /var/www
* Webdav root folder is /mnt/webdav/files
* user1 would have home directory of /mnt/webdav/files/user1
* user2 would have home directory of /mnt/webdav/files/user2
* etc...
* I am going to be using CyberDuck (Mac) to test the following
* Login & get to home directory
* List contents of "home" directory per above
* Upload file to root folder
* Download file from root folder
* Delete file from root folder
* Move file from root folder
* Create 3 subdirectories and do everything from above
* Create a 5-level deep directory structure and do everything above
* I have Vagrant running locally for testing as well as some dev servers at DigitalOcean

Other notes are here:


I have some flexibility on the time frame and budget.