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

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

Cancelled

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:
https://github.com/chrisgo/kohana-sabredav

Requirements:

* 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

Deliverables:

* 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 (192.168.101.11)
* Point /etc/hosts to it 192.168.101.11 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:

Assumptions:

* 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:

* http://forum.kohanaframework.org/discussion/11991/webdav-module
* http://stackoverflow.com/questions/20550826/sabredav-nginx-put-creates-0-byte-file
* http://stackoverflow.com/questions/16912270/how-do-i-allow-a-put-file-request-on-nginx-server
* https://github.com/chrisgo/kohana-sabredav

I have some flexibility on the time frame and budget.