+ All Categories
Home > Documents > WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So,...

WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So,...

Date post: 28-Mar-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
39
WebDAV Rich Bowen [email protected] ApacheCon US 2006 Austin 1
Transcript
Page 1: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

WebDAVRich Bowen

rbowenapacheorg

ApacheCon US 2006Austin

1

Introduction

httpwwwietforgrfcrfc2518txt

DAV = Distributed Authoring and Versioning

Authoring = pretty much whatever you want it to mean

Versioning = well well get to that

2

Distributed

Distributed means that connections can be from anywhere

Like the web itself

Uses HTTP as the transfer protocol

3

Authoring

Create and edit documents

Uses standard HTTP methods for some things and has additional methods for others

4

Versioning

Delta-V

Not actually implemented in most DAV implementations

5

ReadWrite web

The initial vision for the web included the ability to write as well as read

Wikis are one interesting part of this

WebDAV is another way that its possible

6

Apache 13For Apache 13 mod_dav is a third-party module

Obtain it from httpwebdavorgmod_dav

Install via apxs

7

configure --with-apxs=usrlocalapachebinapxs make make install

Configuration

Tell Apache about it

apxs -cia should have done this for you

8

Loadmodule dav_module libexeclibdavsoAddmodule mod_davc

Apache 20For Apache 20 mod_dav is part of the standard distribution

Not enabled by default in a source build

Or install with apxs

9

--enable-dav --enable-dav-fs

apxs -cia mod_davc apxs -cia mod_dav_fsc

Installation

Tell Apache about it

apxs -cia should have done this for you

10

LoadModule dav_module modulesmod_davso

Configuration

11

DavLockDB vardavdavlock ltDirectory wwwhtdocsuploadgt Dav On ltDirectorygt

DavLockDB

Path is relative to ServerRoot

Directory needs to be writeable by the User user or the Group group

12

13

mkdir vardav chown wwwwww vardav chmod 700 vardav

User www Group www DavLockDB vardavdavloc

Dav OnTurns on DAV for that directory

Directory can now be accessed with any DAV client

14

Alias uploads usrlocalapacheuploads ltDirectory usrlocalapacheuploadsgt Dav On Order allowdeny Allow from all ltDirectorygt

Permissions

usrlocalapacheuploads needs to be writeable by UserGroup also

This is a violation of basic Apache security principles

More on this in a moment

15

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 2: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Introduction

httpwwwietforgrfcrfc2518txt

DAV = Distributed Authoring and Versioning

Authoring = pretty much whatever you want it to mean

Versioning = well well get to that

2

Distributed

Distributed means that connections can be from anywhere

Like the web itself

Uses HTTP as the transfer protocol

3

Authoring

Create and edit documents

Uses standard HTTP methods for some things and has additional methods for others

4

Versioning

Delta-V

Not actually implemented in most DAV implementations

5

ReadWrite web

The initial vision for the web included the ability to write as well as read

Wikis are one interesting part of this

WebDAV is another way that its possible

6

Apache 13For Apache 13 mod_dav is a third-party module

Obtain it from httpwebdavorgmod_dav

Install via apxs

7

configure --with-apxs=usrlocalapachebinapxs make make install

Configuration

Tell Apache about it

apxs -cia should have done this for you

8

Loadmodule dav_module libexeclibdavsoAddmodule mod_davc

Apache 20For Apache 20 mod_dav is part of the standard distribution

Not enabled by default in a source build

Or install with apxs

9

--enable-dav --enable-dav-fs

apxs -cia mod_davc apxs -cia mod_dav_fsc

Installation

Tell Apache about it

apxs -cia should have done this for you

10

LoadModule dav_module modulesmod_davso

Configuration

11

DavLockDB vardavdavlock ltDirectory wwwhtdocsuploadgt Dav On ltDirectorygt

DavLockDB

Path is relative to ServerRoot

Directory needs to be writeable by the User user or the Group group

12

13

mkdir vardav chown wwwwww vardav chmod 700 vardav

User www Group www DavLockDB vardavdavloc

Dav OnTurns on DAV for that directory

Directory can now be accessed with any DAV client

14

Alias uploads usrlocalapacheuploads ltDirectory usrlocalapacheuploadsgt Dav On Order allowdeny Allow from all ltDirectorygt

Permissions

usrlocalapacheuploads needs to be writeable by UserGroup also

This is a violation of basic Apache security principles

More on this in a moment

15

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 3: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Distributed

Distributed means that connections can be from anywhere

Like the web itself

Uses HTTP as the transfer protocol

3

Authoring

Create and edit documents

Uses standard HTTP methods for some things and has additional methods for others

4

Versioning

Delta-V

Not actually implemented in most DAV implementations

5

ReadWrite web

The initial vision for the web included the ability to write as well as read

Wikis are one interesting part of this

WebDAV is another way that its possible

6

Apache 13For Apache 13 mod_dav is a third-party module

Obtain it from httpwebdavorgmod_dav

Install via apxs

7

configure --with-apxs=usrlocalapachebinapxs make make install

Configuration

Tell Apache about it

apxs -cia should have done this for you

8

Loadmodule dav_module libexeclibdavsoAddmodule mod_davc

Apache 20For Apache 20 mod_dav is part of the standard distribution

Not enabled by default in a source build

Or install with apxs

9

--enable-dav --enable-dav-fs

apxs -cia mod_davc apxs -cia mod_dav_fsc

Installation

Tell Apache about it

apxs -cia should have done this for you

10

LoadModule dav_module modulesmod_davso

Configuration

11

DavLockDB vardavdavlock ltDirectory wwwhtdocsuploadgt Dav On ltDirectorygt

DavLockDB

Path is relative to ServerRoot

Directory needs to be writeable by the User user or the Group group

12

13

mkdir vardav chown wwwwww vardav chmod 700 vardav

User www Group www DavLockDB vardavdavloc

Dav OnTurns on DAV for that directory

Directory can now be accessed with any DAV client

14

Alias uploads usrlocalapacheuploads ltDirectory usrlocalapacheuploadsgt Dav On Order allowdeny Allow from all ltDirectorygt

Permissions

usrlocalapacheuploads needs to be writeable by UserGroup also

This is a violation of basic Apache security principles

More on this in a moment

15

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 4: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Authoring

Create and edit documents

Uses standard HTTP methods for some things and has additional methods for others

4

Versioning

Delta-V

Not actually implemented in most DAV implementations

5

ReadWrite web

The initial vision for the web included the ability to write as well as read

Wikis are one interesting part of this

WebDAV is another way that its possible

6

Apache 13For Apache 13 mod_dav is a third-party module

Obtain it from httpwebdavorgmod_dav

Install via apxs

7

configure --with-apxs=usrlocalapachebinapxs make make install

Configuration

Tell Apache about it

apxs -cia should have done this for you

8

Loadmodule dav_module libexeclibdavsoAddmodule mod_davc

Apache 20For Apache 20 mod_dav is part of the standard distribution

Not enabled by default in a source build

Or install with apxs

9

--enable-dav --enable-dav-fs

apxs -cia mod_davc apxs -cia mod_dav_fsc

Installation

Tell Apache about it

apxs -cia should have done this for you

10

LoadModule dav_module modulesmod_davso

Configuration

11

DavLockDB vardavdavlock ltDirectory wwwhtdocsuploadgt Dav On ltDirectorygt

DavLockDB

Path is relative to ServerRoot

Directory needs to be writeable by the User user or the Group group

12

13

mkdir vardav chown wwwwww vardav chmod 700 vardav

User www Group www DavLockDB vardavdavloc

Dav OnTurns on DAV for that directory

Directory can now be accessed with any DAV client

14

Alias uploads usrlocalapacheuploads ltDirectory usrlocalapacheuploadsgt Dav On Order allowdeny Allow from all ltDirectorygt

Permissions

usrlocalapacheuploads needs to be writeable by UserGroup also

This is a violation of basic Apache security principles

More on this in a moment

15

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 5: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Versioning

Delta-V

Not actually implemented in most DAV implementations

5

ReadWrite web

The initial vision for the web included the ability to write as well as read

Wikis are one interesting part of this

WebDAV is another way that its possible

6

Apache 13For Apache 13 mod_dav is a third-party module

Obtain it from httpwebdavorgmod_dav

Install via apxs

7

configure --with-apxs=usrlocalapachebinapxs make make install

Configuration

Tell Apache about it

apxs -cia should have done this for you

8

Loadmodule dav_module libexeclibdavsoAddmodule mod_davc

Apache 20For Apache 20 mod_dav is part of the standard distribution

Not enabled by default in a source build

Or install with apxs

9

--enable-dav --enable-dav-fs

apxs -cia mod_davc apxs -cia mod_dav_fsc

Installation

Tell Apache about it

apxs -cia should have done this for you

10

LoadModule dav_module modulesmod_davso

Configuration

11

DavLockDB vardavdavlock ltDirectory wwwhtdocsuploadgt Dav On ltDirectorygt

DavLockDB

Path is relative to ServerRoot

Directory needs to be writeable by the User user or the Group group

12

13

mkdir vardav chown wwwwww vardav chmod 700 vardav

User www Group www DavLockDB vardavdavloc

Dav OnTurns on DAV for that directory

Directory can now be accessed with any DAV client

14

Alias uploads usrlocalapacheuploads ltDirectory usrlocalapacheuploadsgt Dav On Order allowdeny Allow from all ltDirectorygt

Permissions

usrlocalapacheuploads needs to be writeable by UserGroup also

This is a violation of basic Apache security principles

More on this in a moment

15

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 6: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

ReadWrite web

The initial vision for the web included the ability to write as well as read

Wikis are one interesting part of this

WebDAV is another way that its possible

6

Apache 13For Apache 13 mod_dav is a third-party module

Obtain it from httpwebdavorgmod_dav

Install via apxs

7

configure --with-apxs=usrlocalapachebinapxs make make install

Configuration

Tell Apache about it

apxs -cia should have done this for you

8

Loadmodule dav_module libexeclibdavsoAddmodule mod_davc

Apache 20For Apache 20 mod_dav is part of the standard distribution

Not enabled by default in a source build

Or install with apxs

9

--enable-dav --enable-dav-fs

apxs -cia mod_davc apxs -cia mod_dav_fsc

Installation

Tell Apache about it

apxs -cia should have done this for you

10

LoadModule dav_module modulesmod_davso

Configuration

11

DavLockDB vardavdavlock ltDirectory wwwhtdocsuploadgt Dav On ltDirectorygt

DavLockDB

Path is relative to ServerRoot

Directory needs to be writeable by the User user or the Group group

12

13

mkdir vardav chown wwwwww vardav chmod 700 vardav

User www Group www DavLockDB vardavdavloc

Dav OnTurns on DAV for that directory

Directory can now be accessed with any DAV client

14

Alias uploads usrlocalapacheuploads ltDirectory usrlocalapacheuploadsgt Dav On Order allowdeny Allow from all ltDirectorygt

Permissions

usrlocalapacheuploads needs to be writeable by UserGroup also

This is a violation of basic Apache security principles

More on this in a moment

15

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 7: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Apache 13For Apache 13 mod_dav is a third-party module

Obtain it from httpwebdavorgmod_dav

Install via apxs

7

configure --with-apxs=usrlocalapachebinapxs make make install

Configuration

Tell Apache about it

apxs -cia should have done this for you

8

Loadmodule dav_module libexeclibdavsoAddmodule mod_davc

Apache 20For Apache 20 mod_dav is part of the standard distribution

Not enabled by default in a source build

Or install with apxs

9

--enable-dav --enable-dav-fs

apxs -cia mod_davc apxs -cia mod_dav_fsc

Installation

Tell Apache about it

apxs -cia should have done this for you

10

LoadModule dav_module modulesmod_davso

Configuration

11

DavLockDB vardavdavlock ltDirectory wwwhtdocsuploadgt Dav On ltDirectorygt

DavLockDB

Path is relative to ServerRoot

Directory needs to be writeable by the User user or the Group group

12

13

mkdir vardav chown wwwwww vardav chmod 700 vardav

User www Group www DavLockDB vardavdavloc

Dav OnTurns on DAV for that directory

Directory can now be accessed with any DAV client

14

Alias uploads usrlocalapacheuploads ltDirectory usrlocalapacheuploadsgt Dav On Order allowdeny Allow from all ltDirectorygt

Permissions

usrlocalapacheuploads needs to be writeable by UserGroup also

This is a violation of basic Apache security principles

More on this in a moment

15

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 8: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Configuration

Tell Apache about it

apxs -cia should have done this for you

8

Loadmodule dav_module libexeclibdavsoAddmodule mod_davc

Apache 20For Apache 20 mod_dav is part of the standard distribution

Not enabled by default in a source build

Or install with apxs

9

--enable-dav --enable-dav-fs

apxs -cia mod_davc apxs -cia mod_dav_fsc

Installation

Tell Apache about it

apxs -cia should have done this for you

10

LoadModule dav_module modulesmod_davso

Configuration

11

DavLockDB vardavdavlock ltDirectory wwwhtdocsuploadgt Dav On ltDirectorygt

DavLockDB

Path is relative to ServerRoot

Directory needs to be writeable by the User user or the Group group

12

13

mkdir vardav chown wwwwww vardav chmod 700 vardav

User www Group www DavLockDB vardavdavloc

Dav OnTurns on DAV for that directory

Directory can now be accessed with any DAV client

14

Alias uploads usrlocalapacheuploads ltDirectory usrlocalapacheuploadsgt Dav On Order allowdeny Allow from all ltDirectorygt

Permissions

usrlocalapacheuploads needs to be writeable by UserGroup also

This is a violation of basic Apache security principles

More on this in a moment

15

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 9: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Apache 20For Apache 20 mod_dav is part of the standard distribution

Not enabled by default in a source build

Or install with apxs

9

--enable-dav --enable-dav-fs

apxs -cia mod_davc apxs -cia mod_dav_fsc

Installation

Tell Apache about it

apxs -cia should have done this for you

10

LoadModule dav_module modulesmod_davso

Configuration

11

DavLockDB vardavdavlock ltDirectory wwwhtdocsuploadgt Dav On ltDirectorygt

DavLockDB

Path is relative to ServerRoot

Directory needs to be writeable by the User user or the Group group

12

13

mkdir vardav chown wwwwww vardav chmod 700 vardav

User www Group www DavLockDB vardavdavloc

Dav OnTurns on DAV for that directory

Directory can now be accessed with any DAV client

14

Alias uploads usrlocalapacheuploads ltDirectory usrlocalapacheuploadsgt Dav On Order allowdeny Allow from all ltDirectorygt

Permissions

usrlocalapacheuploads needs to be writeable by UserGroup also

This is a violation of basic Apache security principles

More on this in a moment

15

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 10: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Installation

Tell Apache about it

apxs -cia should have done this for you

10

LoadModule dav_module modulesmod_davso

Configuration

11

DavLockDB vardavdavlock ltDirectory wwwhtdocsuploadgt Dav On ltDirectorygt

DavLockDB

Path is relative to ServerRoot

Directory needs to be writeable by the User user or the Group group

12

13

mkdir vardav chown wwwwww vardav chmod 700 vardav

User www Group www DavLockDB vardavdavloc

Dav OnTurns on DAV for that directory

Directory can now be accessed with any DAV client

14

Alias uploads usrlocalapacheuploads ltDirectory usrlocalapacheuploadsgt Dav On Order allowdeny Allow from all ltDirectorygt

Permissions

usrlocalapacheuploads needs to be writeable by UserGroup also

This is a violation of basic Apache security principles

More on this in a moment

15

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 11: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Configuration

11

DavLockDB vardavdavlock ltDirectory wwwhtdocsuploadgt Dav On ltDirectorygt

DavLockDB

Path is relative to ServerRoot

Directory needs to be writeable by the User user or the Group group

12

13

mkdir vardav chown wwwwww vardav chmod 700 vardav

User www Group www DavLockDB vardavdavloc

Dav OnTurns on DAV for that directory

Directory can now be accessed with any DAV client

14

Alias uploads usrlocalapacheuploads ltDirectory usrlocalapacheuploadsgt Dav On Order allowdeny Allow from all ltDirectorygt

Permissions

usrlocalapacheuploads needs to be writeable by UserGroup also

This is a violation of basic Apache security principles

More on this in a moment

15

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 12: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

DavLockDB

Path is relative to ServerRoot

Directory needs to be writeable by the User user or the Group group

12

13

mkdir vardav chown wwwwww vardav chmod 700 vardav

User www Group www DavLockDB vardavdavloc

Dav OnTurns on DAV for that directory

Directory can now be accessed with any DAV client

14

Alias uploads usrlocalapacheuploads ltDirectory usrlocalapacheuploadsgt Dav On Order allowdeny Allow from all ltDirectorygt

Permissions

usrlocalapacheuploads needs to be writeable by UserGroup also

This is a violation of basic Apache security principles

More on this in a moment

15

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 13: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

13

mkdir vardav chown wwwwww vardav chmod 700 vardav

User www Group www DavLockDB vardavdavloc

Dav OnTurns on DAV for that directory

Directory can now be accessed with any DAV client

14

Alias uploads usrlocalapacheuploads ltDirectory usrlocalapacheuploadsgt Dav On Order allowdeny Allow from all ltDirectorygt

Permissions

usrlocalapacheuploads needs to be writeable by UserGroup also

This is a violation of basic Apache security principles

More on this in a moment

15

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 14: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Dav OnTurns on DAV for that directory

Directory can now be accessed with any DAV client

14

Alias uploads usrlocalapacheuploads ltDirectory usrlocalapacheuploadsgt Dav On Order allowdeny Allow from all ltDirectorygt

Permissions

usrlocalapacheuploads needs to be writeable by UserGroup also

This is a violation of basic Apache security principles

More on this in a moment

15

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 15: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Permissions

usrlocalapacheuploads needs to be writeable by UserGroup also

This is a violation of basic Apache security principles

More on this in a moment

15

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 16: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Restricting Dav

16

ltLocation uploadsgt DAV On Limit just the DAV methods ltLimit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCKgt AuthType Basic AuthName uploads AuthUserFile etcapachepasswords Require user rich ltLimitgt ltLocationgt

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 17: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Possible problems

php files are parsed prior to being sent to the DAV client (Or ssi or cgi or whatever)

Files must be writeable by the User user

Different access control needed for DAV accesses than for regular web access

17

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 18: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

One possible solutionI run a secondary HTTP server on another port with a greatly reduced number of modules solely for DAV

Run it as a different user (say dav for example)

Content is owned by that user

Doesnt have php cgi etc loaded

18

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 19: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

ConfigurationServer 1

Server2

19

DocumentRoot varwwwhtdocs User nobody Group nobody Dav not installed View-only

DocumentRoot varwwwhtdocsUser davGroup dav Dav enabled php cgi etc not installed

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 20: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Permissions

Server 2 runs on an alternate port

Possibly runs SSL

varwwwhtdocs is owned by davdav

20

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 21: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Uploading php files

21

RewriteEngine On RewriteCond HTTP_METHOD ^PUT RewriteRule ^()php $1nophp [PT]

RewriteCond HTTPDESTINATION php RewriteRule - [F]

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 22: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Dav clientsMacOSX - Everything is DAV aware

22

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 23: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

WindowsWith IE 50 added a sort of DAV

Web Folders or Network Places

You can map a drive letter to a DAV share

You cant open files in place but you can copy them to and from the DAV share

Tends to generate a lot of warning messages in the Apache error log looking for _vti_something directories These can be safely ignored although you may want to turn down the LogLevel

23

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 24: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Or

24

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 25: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Linux

davfs - httpdavsourceforgenet

KDE Desktop

Nautillus

Lots of other things

25

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 26: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

DAV client appscadaver

Dreamweaver

KDE Desktop

DAV Explorer (httpwwwicsuciedu~webdav)

Others listed at

httpwwwwebdavorgprojects

26

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 27: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

cadaver

INSERT CADAVER DEMO HERE

27

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 28: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

SSL

Configuration Set up as an ordinary SSL vhost

Client Some client applications support it others do not

28

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 29: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Browser incompatibilitiesSome browsers donrsquot correctly handle trailing slash redirects

29

BrowserMatch MS FrontPage redirect-carefullyBrowserMatch ^WebDrive redirect-carefullyBrowserMatch ^WebDAVFS1[0123] redirect-carefully etc

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 30: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

iCalendar

RFC 2445 describes a calendaring protocol called iCalendar

Includes an ASCII format for expressing event information

Various applications understand and produce the iCal format eg the iCal Sunbird

So what does this have to do with WebDAV

30

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 31: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

iCalendarThe iCal application has the built-in ability to save a calendar to a Dav repository and subscribe to a calendar available over HTTP

When you make a change to your calendar in iCal it is automatically posted up to your Dav server

Demonstration of iCal goes here

31

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 32: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

OutlookIf you use Outlook there are a few ways to do the same thing with your OutlookExchange calendar

httpwww2etbyuedu~njonesshareoutlook2ical

This allows you to publish a calendar and have other people subscribe to that calendar giving shared calendaring with minimal effort

32

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 33: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

phpicalendar

httpwwwasburyeducalendar

Allows multiple content providers to publish their iCalendar content and have it all displayed in one place

33

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 34: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Subversion

Replacement for CVS

Uses DAV as the transfer protocol

ManyMost Open Source projects use this as their development environment

34

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 35: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Svn

Because SVN is DAVHTTP based you can see it in your browser which makes it immediately more accessible than CVS

httpssvnapacheorgreposasfhttpdhttpdtrunk

Also more friendly interface available

httpsvnapacheorgviewvchttpdhttpdtrunk

35

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 36: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

svn

36

ltLocation svngt Dav svn SvnPath homesvnrcb_svn

ltLimitExcept GET PROPFIND OPTIONS REPORTgt AuthType Basic AuthName docs AuthUserFile usrlocalapacheconfsvnpass

Require valid-user ltLimitExceptgt

ltLocationgt

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 37: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Autoversioning

37

ltLocation davgt DAV svn SvnPath pathtosvnrepos SVNAutoversioning OnltLocationgt

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 38: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Network file systemsIf youre in a multi-OS environment Dav is a great replacement for things like NFS and SMB

If youre maintaining a website its a great replacement for FTP and can be run over HTTPS for security

Can authenticate the share against anything using available authentication modules

But it gets around some of the file permission problems that are common to other network file systems in multi-os environments

38

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39

Page 39: WebDAV - home.apache.orgpeople.apache.org/~rbowen/presentations/WebDAV.pdf · 2015. 11. 30. · So, what does this have to do with WebDAV? 30. iCalendar The iCal application has the

Questions

apache on ircfreenodenet

rbowenapacheorg

httppeopleapacheorg~rbowen

39


Recommended