====== 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|