source: sandbox/2.3-MailArchiver/filemanager/doc/INSTALL_WebDAV @ 6779

Revision 6779, 4.7 KB checked in by rafaelraymundo, 12 years ago (diff)

Ticket #2946 - Liberado Expresso(branch 2.3) integrado ao MailArchiver?.

Line 
1INSTALL : WebDAV file share
2---------------------------
3Note: if you don't know what WebDAV is you probably don't need it.  The default
4vfs_sql is generally faster and easier to setup.
5
6Filemanager's WebDAV support allows you to store your files online in
7egroupware, in a way that cooperates well with other web applications (for
8instance, in Windows you can then access your files as a "web folder", and
9similarly KDE, Gnome, MacOSX, and amultitude of applications (eg MS Office and
10OpenOffice.org) all include some way of browsing files on a WebDAV share)
11
12
13Installation
14------------
15To install:
16
171/      Setup a WebDAV server - currently this code has only been well tested using
18        Apache's mod_dav (http://www.webdav.org/mod_dav/).  mod_dav is included in
19        Apache 2, and most Linux distributions include it as a package.
20
21        To setup mod_dav ensure that you have the module installed correctly ( RTFM :)
22        and create a virtual host (eg files.yourdomain.com) something like this:
23
24                <VirtualHost files.yourdomain.com:80>
25                        AccessFileName .htaccess
26                        ServerAdmin webmaster@yourdomain.com
27                        DocumentRoot /var/files
28                        <Location />
29                                AllowOverride All
30                                Options +Indexes
31                                DAV on
32                                DirectoryIndex /
33                                RemoveHandler cgi-script .cgi .pl
34                                RemoveType application/x-httpd-php .php .php3
35                                RemoveType application/x-httpd-php-source .phps
36                        </Location>
37                        <Files ~ "^\.ht">
38                                #This ensures egroupware can modify .htaccess files
39                                order deny,allow
40                                deny from all
41                                #make sure your egroupware server is included here.
42                                allow from localhost .localdomain
43                        </Files>
44                        ServerName files.yourdomain.com
45                        ErrorLog logs/dav_err
46                        CustomLog logs/dav_acc combined
47                </VirtualHost>
48
492/      On the setup page (egroupware/setup/config.php) specify
50        the WebDAV server URL (eg http://files.yourdomain.com ) in the: "Full path
51        for users and groups files" text area, and select DAV in the:
52        "Select where you want to store/retrieve filesystem information"
53        combo.  If your file repository supports SSL you might want to enter
54        'https://files.yourdomain.com' instead - note that phpGroupWare itself wont
55        use SSL to access the repository, but when it redirects the users browser to
56        the repository it will use the secure https url.
57
583/      Make sure your WebDAV repository contains a "home" directory (important!)
59        So if your WebDAV directory is /var/files, you would need:
60                /var/files/
61                /var/files/home/
62
634/      You now want some kind of authentication on the WebDAV repository, so that
64        users accessing it directly still need their egroupware password.  By default
65        there is no security through Apache's WebDAV module and anyone could access
66        your files.
67
68        To enable authentication you must use a third-party Apache authentication
69        module.  Which you use depends on how you have setup authentication in
70        phpGroupWare - for instance if you use an SQL DB (the default) then set up
71        mod_auth_pgsql (http://www.giuseppetanzilli.it/mod_auth_pgsql/) or
72        mod_auth_mysql (http://modauthmysql.sourceforge.net/)
73
74        An example .htaccess file for your repository's root
75        (e.g. /var/files) when using mod_auth_mysql would be:
76
77                Options None
78                DirectoryIndex index.html
79                RemoveHandler cgi-script .cgi .pl
80                RemoveType application/x-httpd-php .php .php3
81                RemoveType application/x-httpd-php-source .phps
82
83                AuthMySQL_Host localhost
84                AuthMySQL_User <mysql user>
85                AuthMySQL_Password <mysql password>
86                Auth_MySQL_DB <mysql egroupware database>
87
88                AuthMySQL_Password_Table "phpgw_accounts AS users"
89                AuthMySQL_Username_Field users.account_lid
90                AuthMySQL_Password_Field account_pwd
91
92                Auth_MySQL_Encryption_Types PHP_MD5
93
94                AuthName "V-Manager"
95                AuthType Basic
96                require valid-user
97
98        eGroupWare's WebDAV vfs class has some support for adding
99        .htaccess files when creating new directories but does not do
100        so when creating a new directory for a new user so you will
101        need to do this by hand or modify the vfs_dav class.  The .htaccess
102        file would look like "require user <username>"
103
104        Filemanager also supports group directories.  Add the
105        following to the .htaccess file:
106
107                AuthMySQL_Group_Table "phpgw_accounts AS groups, phpgw_accounts AS users, phpgw_acl AS acl"
108                Auth_MySQL_Group_Field groups.account_lid
109                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'"
110
111        And finally make the group directories by hand:
112
113                mkdir home/Admins; mkdir home/Default
114
115        and each directory's .htaccess file by hand:
116
117                require group Admins
118
119TODO:
120
121Create group directories automaticly
122Create .htaccess file for group directories automaticly
123Create .htaccess files for new user directories automaticly
124Only list group directories to which the user has access
Note: See TracBrowser for help on using the repository browser.