====== Installazione e Configurazione Server WebDav ======
===== Installazione Base =====
- Abilitare i moduli WebDAV. sudo a2enmod dav
sudo a2enmod dav_fs
- Riavviare Apache. sudo service apache2 restart
- Creare la cartella che farà da repository WebDAV ed assegnarla ad Apache (www-data). mkdir -p /web
chown www-data /web
- Creare il file delle password per WrbDAV. htpasswd -c /passwd.dav
- Cambiare Owner e permessi del file appena creato come segue: chown root:www-data /passwd.dav
chmod 640 /passwd.dav
- 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
DocumentRoot /var/www/web1/web/
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
Alias /webdav /var/www/web1/web
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/web1/passwd.dav
Require valid-user
Ovviamente i percorsi vanno adattati alla situazione
- 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:
- Speedy - rende WebDAV CGI più veloce (Debian/Ubuntu: speedy-cgi-perl)
- Ghostscript - consente all'interfaccia di WebDAV CGI di generare i thumbnails per o files PDF/PS (Debian/Ubuntu: ghostscript)
- smbclient (solo per utilizzo del backend SMB) - consente all'interfaccia web di visualizzare informazioni sulla Quota (Debian/Ubuntu: smbclient)
- 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 =====
- Scaricare [[http://webdavcgi.sourceforge.net/index.html#download|WrbDav CGI]]
- Spostarsi in //''/etc''// cd /etc
- Decomprimere il file precedentemente scaricato sudo tar jxf webdavcgi-latest.tar.gz2
- Entrare nella cartella appena estratta cd webdavcgi*
- Avviare l'installazione sudo ./install.sh
- Vedere la sezione seguente per la configurazione
- Configurare Apache
* Abilitare il modulo //''rewrite''// a2enmod rewrite
* Verificare le sezioni di configurazione specifiche per ogni backend [[http://webdavcgi.sourceforge.net/doc.html#afs|AFS]], [[http://webdavcgi.sourceforge.net/doc.html#gfs|GFS]], [[http://webdavcgi.sourceforge.net/doc.html#smb|SMB/CIFS]], [[http://webdavcgi.sourceforge.net/doc.html#dbb|DBB]] e [[http://webdavcgi.sourceforge.net/doc.html#rcs|RCS]]
- 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
AuthType Basic
AuthName "WebDAV/CalDAV/CardDAV space"
AuthUserFile /path-to-my-auth-file
Require valid-user
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
AuthType Basic
AuthName "WebDAV space"
AuthUserFile /path-to-my-auth-file
Require valid-user
# 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 =====
^ Argomento ^ Sito ^
| Preparazione Apache con WebDAV | http://www.qazxdr.com/setting-up-webdav-server-on-ubuntu-12-04/ |
| Installazione WebDAV CGI | http://webdavcgi.sourceforge.net/doc.html#installation \\ http://webdavcgi.sourceforge.net/doc.html#setup|