Accessing WebDAV Folders on Linux?
Saqib Ali asks: "I was wondering if any Slashdot readers are accessing WebDAV folders on their Linux box. I heavily use DAV folders to store files and documents. On a Windows machine, I can easily access them using WebFolder or native DAV support in MS Office Suite. But when I switch to my Linux box, I have a hard time accessing the files on the DAV folders. I haven't seen any application on Linux that support DAV natively. OpenOffice/StartOffice don't support DAV either. I know there is nautilus which uses gnome-vfs to access files on DAV, but that doesn't help if the apps don't support DAV themselves. Are there Linux app that support DAV natively? How about integerating gnome-vfs into OpenOffice? Any ideas?" For those who just want access to the files, and don't mind the extra steps, you can use utilities like Cadaver but probably, what many of you might be looking for is a simple file system driver. What are you usin to access your DAV resources?
What is WebDAV?
Briefly: WebDAV stands for "Web-based Distributed Authoring and Versioning". It is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers.
I have been pwned because my
Disclaimer: I don't currently, nor have I ever, used WebDAV before.
Well, KDE 3 supports WebDAV. If you use Konqi to browse to your WebDAV folder, you can open the documents therein with any app - KDE copies it to a tempfile, then re-uploads it when the editor terminates. At least, that's how it works for the other protocols, e.g. FTP. KDE native programs upload the file on every save.
There's a WebDAV mode for [X]Emacs, and Emacs/w3 supports WebDAV.
Of course, if you go with DavFS, any Linux app can access WebDAV servers.
http://dav.sourceforge.net/
Seems like they've got what you're looking for.
I use a command line client with the horrible name cadaver. Cadaver can run WebDAV over SSL (https) for secure remote operation.
Cadaver is a part of Redhat (at least on 7.3), runs on MAC OS X, and a cygwin port is available for Windows.
RFC1925
I've been using DavFS for awhile now. It is a kernel modules which allows you to mount a dav location as a filesystem -- which pretty much allows any app to use the dav.
:)
It was easy enough to compile for my RH7.1 system, you just need the kernel headers installed, and you can build/install the module, and then use mount.davfs to mount a location just like a samba share. It supports user auth. and you can compile in ssl support (a must in my book
My only issue is that you need to choose your mount point carefully, as an 'ls' even on the directory containing the mount point can take a second or two to complete (since the fs needs to perform a propget on the server); so I suggest placing your mount point in a subdirectory that you will only access when you're doing dav work... (ie not in your home directory). Other than that, it's great. I love it especially because it very tolerant of the server restarting/going offline, since it's just http gets and doesn't have any "state" like nfs.
I've also mounting the drives on XP and OSX, which makes sharing documents (even securely to my office box over ssl) very cool. And setting up a dav share is just like setting up any other web location in apache (I use the mod_dav that ships with RH7.2 for my server...)
In short, very cool stuff.
Nautilus is awesome for WebDAV and Apple's iDisk (which is just WebDAV anyway). Copy, preview, change, all in your file manager.
Yum!
I don't personally use it, but OpenOffice claims that they support WebDAV natively.
Well, I haven't used it yet, but I plan to. I just looked at the Kiwi file system. Looks nice.
Employee of Inrupt, Project Release Manager and Community Manager for Solid
Whenever I try to compile davfs it fails, I do: # ./configure --with-kernel=/usr/src/linux-2.4.7-10
# make
and I get the following error message:
Making all in davfs
make[2]: Entering directory `/home/saqib/davfs-0.2.4/davfs'
gcc -c -o inode.o -O3 -Wall -DMODULE -D__KERNEL__ -DLINUX -fomit-frame-pointer -I/usr/src/linux-2.4.7-10/include inode.c
inode.c:622: parse error before string constant
inode.c:622: warning: type defaults to `int' in declaration of `MODULE_LICENSE'
inode.c:622: warning: data definition has no type or storage class
make[2]: *** [inode.o] Error 1
make[2]: Leaving directory `/home/saqib/davfs-0.2.4/davfs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/saqib/davfs-0.2.4'
make: *** [all-recursive-am] Error 2
Any ideas on how to fix this?
Consensus is good, but informed dictatorship is better
This is a typical problem installing from source with Linux--something is probably broken in either the source or your setup. Some idiots insist that compiling and installing is "not that time-consuming" and "not as tempermental as [I] suggest"--yeah right. Gotta love the open source "community". ;-)
The line appears to use a macro called MODULE_LICENSE . It appears to allow a module to store which type of license it falls under...interesting. The macro is in my 2.4.17 kernel source and the program/module seems to compile find on my machine. Could the macro be something new?
Perhaps the macro is only in the newer kernels, or maybe the patch added to your kernel breaks it somehow. (usually extra numbers indicate your kernel was patched/modified by the distro maintainers--I'm assuming this is the case.) I would suggest just getting the newest kernel from kernel.org. You'll lose whatever patches were made to that kernel, however I think this is a good thing unless you really really need what the patch does. In fact I recommend upgrading to a newer kernel anyway, as 2.4.7 was still in the stage where there were those funky problems.
iDisk is not WebDAV!
It is AFP.