INSTALL : WebDAV file share --------------------------- Note: if you don't know what WebDAV is you probably don't need it. The default vfs_sql is generally faster and easier to setup. Filemanager's WebDAV support allows you to store your files online in egroupware, in a way that cooperates well with other web applications (for instance, in Windows you can then access your files as a "web folder", and similarly KDE, Gnome, MacOSX, and amultitude of applications (eg MS Office and OpenOffice.org) all include some way of browsing files on a WebDAV share) Installation ------------ To install: 1/ Setup a WebDAV server - currently this code has only been well tested using Apache's mod_dav (http://www.webdav.org/mod_dav/). mod_dav is included in Apache 2, and most Linux distributions include it as a package. To setup mod_dav ensure that you have the module installed correctly ( RTFM :) and create a virtual host (eg files.yourdomain.com) something like this: AccessFileName .htaccess ServerAdmin webmaster@yourdomain.com DocumentRoot /var/files AllowOverride All Options +Indexes DAV on DirectoryIndex / RemoveHandler cgi-script .cgi .pl RemoveType application/x-httpd-php .php .php3 RemoveType application/x-httpd-php-source .phps #This ensures egroupware can modify .htaccess files order deny,allow deny from all #make sure your egroupware server is included here. allow from localhost .localdomain ServerName files.yourdomain.com ErrorLog logs/dav_err CustomLog logs/dav_acc combined 2/ On the setup page (egroupware/setup/config.php) specify the WebDAV server URL (eg http://files.yourdomain.com ) in the: "Full path for users and groups files" text area, and select DAV in the: "Select where you want to store/retrieve filesystem information" combo. If your file repository supports SSL you might want to enter 'https://files.yourdomain.com' instead - note that phpGroupWare itself wont use SSL to access the repository, but when it redirects the users browser to the repository it will use the secure https url. 3/ Make sure your WebDAV repository contains a "home" directory (important!) So if your WebDAV directory is /var/files, you would need: /var/files/ /var/files/home/ 4/ You now want some kind of authentication on the WebDAV repository, so that users accessing it directly still need their egroupware password. By default there is no security through Apache's WebDAV module and anyone could access your files. To enable authentication you must use a third-party Apache authentication module. Which you use depends on how you have setup authentication in phpGroupWare - for instance if you use an SQL DB (the default) then set up mod_auth_pgsql (http://www.giuseppetanzilli.it/mod_auth_pgsql/) or mod_auth_mysql (http://modauthmysql.sourceforge.net/) An example .htaccess file for your repository's root (e.g. /var/files) when using mod_auth_mysql would be: Options None DirectoryIndex index.html RemoveHandler cgi-script .cgi .pl RemoveType application/x-httpd-php .php .php3 RemoveType application/x-httpd-php-source .phps AuthMySQL_Host localhost AuthMySQL_User AuthMySQL_Password Auth_MySQL_DB AuthMySQL_Password_Table "phpgw_accounts AS users" AuthMySQL_Username_Field users.account_lid AuthMySQL_Password_Field account_pwd Auth_MySQL_Encryption_Types PHP_MD5 AuthName "V-Manager" AuthType Basic require valid-user eGroupWare's WebDAV vfs class has some support for adding .htaccess files when creating new directories but does not do so when creating a new directory for a new user so you will need to do this by hand or modify the vfs_dav class. The .htaccess file would look like "require user " Filemanager also supports group directories. Add the following to the .htaccess file: AuthMySQL_Group_Table "phpgw_accounts AS groups, phpgw_accounts AS users, phpgw_acl AS acl" Auth_MySQL_Group_Field groups.account_lid Auth_MySQL_Group_Clause " AND groups.account_type='g' AND users.account_type='u' AND groups.account_id=acl.acl_location AND users.account_id=acl.acl_account AND groups.account_lid='Admins'" And finally make the group directories by hand: mkdir home/Admins; mkdir home/Default and each directory's .htaccess file by hand: require group Admins TODO: Create group directories automaticly Create .htaccess file for group directories automaticly Create .htaccess files for new user directories automaticly Only list group directories to which the user has access