doc:appunti:linux:sa:webdav
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doc:appunti:linux:sa:webdav [2018/11/09 12:15] – [Installazione e configurazione di WebDAV CGI] niccolo | doc:appunti:linux:sa:webdav [2020/03/02 12:05] (current) – [Accesso da Windows 7 e successivi] niccolo | ||
|---|---|---|---|
| Line 16: | Line 16: | ||
| < | < | ||
| DAV On | DAV On | ||
| + | DirectorySlash Off | ||
| AuthType Basic | AuthType Basic | ||
| AuthName " | AuthName " | ||
| Line 31: | Line 32: | ||
| < | < | ||
| DAV On | DAV On | ||
| + | DirectorySlash Off | ||
| AuthType Digest | AuthType Digest | ||
| BrowserMatch " | BrowserMatch " | ||
| Line 41: | Line 43: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | Se possibile bisogna proteggere i file almeno a livello di gruppo, in questo modo: | ||
| + | |||
| + | - La directory condivisa **appartiene al gruppo** che ha facoltà di scrittura. | ||
| + | - La directory ha lo **sticky bit di gruppo attivo** (mode 0x2770), così che gli oggetti creati in essa appartengono al gruppo stesso. | ||
| + | - Gli utenti che si autenticano via WebDAV (su **/ | ||
| + | - L' | ||
| + | - Apache ha una **umask 007** (si può mettere in ''/ | ||
| + | |||
| + | Per verificare il funzionamento della condivisione WebDAV si può utilizzare **davfs** da riga di comando GNU/Linux. Installare il pacchetto Debian **davfs2** ed eseguire il comando: | ||
| + | |||
| + | < | ||
| + | mount -t davfs -o noexec https:// | ||
| + | </ | ||
| + | |||
| + | Login e password vengono chieste interattivamente. | ||
| ====== WebDAV CGI 0.8.3 ====== | ====== WebDAV CGI 0.8.3 ====== | ||
| Line 257: | Line 275: | ||
| cd .. | cd .. | ||
| mv webdavcgi / | mv webdavcgi / | ||
| + | </ | ||
| + | |||
| + | La configurazione va fatta in **/ | ||
| + | |||
| + | <code perl> | ||
| + | ## the install base is needed to find webdav-ui.* and locale files | ||
| + | ## (don't forget the trailing slash): | ||
| + | $INSTALL_BASE = '/ | ||
| + | |||
| + | ## the backend module (supported: FS, AFS, GFS, SMB, DBB, RCS, GIT): | ||
| + | $BACKEND = ' | ||
| + | |||
| + | ## this is an example if a user starts with home dir (http:// | ||
| + | $VIRTUAL_BASE = '/'; | ||
| + | $DOCUMENT_ROOT = '/ | ||
| + | ## if you use a complex home folder structure, try this: | ||
| + | # $DOCUMENT_ROOT=(getpwnam($ENV{REMOTE_USER}))[7].'/'; | ||
| + | |||
| + | $DBI_SRC=' | ||
| + | $DBI_USER=''; | ||
| + | $DBI_PASS=''; | ||
| + | $CREATE_DB = !-e '/ | ||
| + | </ | ||
| + | |||
| + | I database SQLite3 di supporto verranno creati in **/ | ||
| + | |||
| + | < | ||
| + | mkdir / | ||
| + | chmo 1777 / | ||
| + | </ | ||
| + | |||
| + | **ATTENZIONE** Con la configurazione mostrata sopra per ogni **REMOTE_USER** che accede, viene creato un database SQLite3 diverso. Se tuttavia si vuole accedere contemporaneamente agli stessi file con utenti diversi, bisogna che il database sia unico e scrivibile da tutti, altrimenti il meccanismo di lock non funziona. | ||
| + | |||
| + | ====== Accesso da Windows 7 e successivi ====== | ||
| + | |||
| + | Windows ha un client nativo per WebDAV, ma è risaputo che soffra di numerose limitazioni e difetti, inoltre il comportamento di tale client non è consistente nelle varie versioni di Windows. Esistono numerose ricette di compatibilità che prevedono l' | ||
| + | |||
| + | Una lettura interessante è **[[https:// | ||
| + | |||
| + | L' | ||
| + | |||
| + | Il percorso di rete è qualcosa del genere: **%%https:// | ||
| + | |||
| + | L' | ||
| + | |||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | </ | ||
| + | |||
| + | Le soluzioni che prevedono di modificare o aggiungere chiavi nel nodo **HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\** del registry non hanno funzionato. Né l' | ||
| + | |||
| + | Da quanto scritto nella knowledge base Microsoft sembra che il problema sia l' | ||
| + | |||
| + | La soluzione è **connettere l' | ||
| + | |||
| + | Un' | ||
| + | |||
| + | Ecco la riga di comando necessaria a connettere il disco di rete Z: (il comando non necessita dei permessi di amministratore, | ||
| + | |||
| + | < | ||
| + | net use Z: https:// | ||
| + | </ | ||
| + | |||
| + | Per disconnettere il disco è sufficiente: | ||
| + | |||
| + | < | ||
| + | net use Z: /delete | ||
| + | </ | ||
| + | |||
| + | Il messaggio di errore di Windows nel caso in cui il server abbia un certificato auto-firmato è del tutto incomprensibile: | ||
| + | |||
| + | < | ||
| + | Errore di sistema 1790. | ||
| + | Accesso alla rete non riuscito. | ||
| + | </ | ||
| + | |||
| + | Al primo errore di autenticazione Windows entra in stato confusionale e non proverà più a connettersi. Un secondo tentativo infatti produce un messaggio di errore diverso, ancora più incomprensibile: | ||
| + | |||
| + | < | ||
| + | Errore di sistema 59. | ||
| + | Errore di rete imprevisto. | ||
| + | </ | ||
| + | |||
| + | Per forzare Windows a tentare nuovamente la connessione è necessario riavviare il servizio WebClient, usando i permessi di Administrator: | ||
| + | |||
| + | < | ||
| + | net stop WebClient | ||
| + | net start WebClient | ||
| </ | </ | ||
doc/appunti/linux/sa/webdav.1541762124.txt.gz · Last modified: by niccolo
