Installazione e Configurazione Server WebDav

Installazione Base

  1. Abilitare i moduli WebDAV.

    sudo a2enmod dav 
    sudo a2enmod dav_fs

  2. Riavviare Apache.

    sudo service apache2 restart

  3. Creare la cartella che farà da repository WebDAV ed assegnarla ad Apache (www-data).

    mkdir -p <Your DocumentRoot>/web 
    chown www-data <Your DocumentRoot>/web

  4. Creare il file delle password per WrbDAV.

    htpasswd -c <Your DocumentRoot>/passwd.dav <Nome_Utente>

  5. Cambiare Owner e permessi del file appena creato come segue:

    chown root:www-data <Your DocumentRoot>/passwd.dav
    chmod 640 <Your DocumentRoot>/passwd.dav

  6. Modificare il file di configurazione del VirtualHost in uso (presumibilmente Default) come segue:

    sudo nano /etc/apache2/sites-available/default

    e renderlo simile a quello seguente

    <VirtualHost *:80>
    
            DocumentRoot /var/www/web1/web/
            <Directory /var/www/web1/web/>
                    Options Indexes MultiViews
                    AllowOverride None
                    Order allow,deny
                    allow from all
            </Directory>
    
    	Alias /webdav /var/www/web1/web
    
            <Location /webdav>
               DAV On
               AuthType Basic
               AuthName "webdav"
               AuthUserFile /var/www/web1/passwd.dav
               Require valid-user
           </Location>
    
    </VirtualHost>

    Ovviamente i percorsi vanno adattati alla situazione

  7. Riavviare Apache.

    sudo service apache2 restart

Il server WebDAV ora dovrebbe essere raggiungibile su http://site-address/webdav con le credenziali dell'utente create al punto 5

Installazione WebDAV CGI

Installazione pre-requisiti

## Debian/Ubuntu quick install: 
sudo apt-get install libdbi-perl libdbd-sqlite3-perl libtimedate-perl libuuid-tiny-perl libxml-simple-perl libquota-perl libarchive-zip-perl \
libgraphics-magick-perl libmodule-load-perl libfile-copy-link-perl libjson-perl libdatetime-perl

sudo perl -MCPAN -e "install DateTime::Format::Human::Duration"

## only for SMB backend users:
sudo apt-get install libfilesys-smbclient-perl

## only for RCS backend users:
sudo apt-get install librcs-perl

Installazione pacchetti aggiuntivi

I seguenti pacchetti sono facoltativi ma rendono migliore l'interfaccia di WebDAV CGI:

  1. Speedy - rende WebDAV CGI più veloce (Debian/Ubuntu: speedy-cgi-perl)
  2. Ghostscript - consente all'interfaccia di WebDAV CGI di generare i thumbnails per o files PDF/PS (Debian/Ubuntu: ghostscript)
  3. smbclient (solo per utilizzo del backend SMB) - consente all'interfaccia web di visualizzare informazioni sulla Quota (Debian/Ubuntu: smbclient)
  4. kinit (solo per utilizzo dei backends SMB e AFS) - consente di omettere il modulo mod_auth_kerberos (Debian/Ubuntu: krb5-user)
## Debian/Ubuntu quick install:
apt-get install speedy-cgi-perl ghostscript

## only for SMB backend users:
apt-get install smbclient

## only for SMB and AFS backend users:
apt-get install krb5-user

WebDAV CGI

  1. Scaricare WrbDav CGI
  2. Spostarsi in /etc

    cd /etc

  3. Decomprimere il file precedentemente scaricato

    sudo tar jxf webdavcgi-latest.tar.gz2

  4. Entrare nella cartella appena estratta

    cd webdavcgi*

  5. Avviare l'installazione

    sudo ./install.sh

  6. Vedere la sezione seguente per la configurazione
  7. Configurare Apache
    • Abilitare il modulo rewrite

      a2enmod rewrite

    • Verificare le sezioni di configurazione specifiche per ogni backend AFS, GFS, SMB/CIFS, DBB e RCS
  8. Modificare il file di configurazione del VirtualHost in uso (presumibilmente Default) aggiungendo le voci per lo scenario desiderato:
    ### EXAMPLE 1: a complete (virtual) server root handled by WebDAV CGI:
    ScriptAlias /webdavcgi /etc/webdavcgi/cgi-bin/webdavwrapper
    # ScriptAlias /logout /etc/webdavcgi/cgi-bin/logout
    <Location /webdavcgi>
            AuthType Basic
            AuthName "WebDAV/CalDAV/CardDAV space"
            AuthUserFile /path-to-my-auth-file
            Require valid-user
    </Location>
    RewriteEngine On
    # RewriteRule /logout - [L]
    RewriteRule ^/ /webdavcgi [PT,E=WEBDAVCONF:/etc/webdav.conf,E=PERLLIB:/etc/webdavcgi/lib/perl,L]
    ### EXAMPLE 2: a virtual path /webdav
    ScriptAlias /webdavcgi /etc/webdavcgi/cgi-bin/webdavwrapper
    # ScriptAlias /webdav/logout /etc/webdavcgi/cgi-bin/logout
    <Location /webdavcgi>
            AuthType Basic
            AuthName "WebDAV space"
            AuthUserFile /path-to-my-auth-file
            Require valid-user
    </Location>
    # if you want to map this to a real path, do that:
    # (end setup $VIRTUAL_BASE='/webdav/?' and $DOCUMENT_ROOT in your WebDAV CGI config)
    RewriteEngine On
    # RewriteRule ^/webdav/logout - [L]
    RewriteRule ^/webdav /webdavcgi  [PT,E=WEBDAVCONF:/etc/webdav.conf,E=PERLLIB:/etc/webdavcgi/lib/perl,L]
    ### EXAMPLE 3: a .htaccess file to handle a complete folder with WebDAV CGI:
    ### Prerequisites: /webdavcgi is a script alias 
    ##       (ScriptAlias /webdavcgi /etc/webdavcgi/cgi-bin/webdavwrapper) and
    ###      'AllowOverride AuthConfig FileInfo' is set for the current folder
    RewriteEngine On
    RewriteRule .* /webdavcgi [E=WEBDAVCONF:/etc/webdav.conf,E=PERLLIB:/etc/webdavcgi/lib/perl]
    
    AuthType Basic
    AuthName "A protected WebDAV folder"
    AuthUserFile /path-to-my-auth-file
    Require valid-user
Questa guida è un Work In Progress

Riferimenti

linux/prepare_webdav_server.txt · Ultima modifica: 2015/06/08 20:15 da 127.0.0.1
Torna su
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0