venerdì 13 giugno 2008

Apache2, WebDAV e WindowsXP

A qualcuno sara' capitato, e dato che ho dovuto spremere google non poco per trovare la maledetta soluzione, ne parlo direttamente qui cosi' sono sicuro che non si va a perdere.

Avete installato il vostro bel web-server Apache2, avete fatto in modo che sia sicuro e funzionale al 100%, avete protetto le directory, siete riusciti a far andare autenticazioni non standard, firewall, maremme in carriola e adesso tutto e' come lo volevate. E decidete, bonta' vostra, che una certa directory del server Apache vi serve che sia anche scrivibile, usando il buon modulo mod_dav per abilitare il servizio. Tutto bene, direte voi: da Linux usando il 1847,2 per cento dei client disponibili, tutto funziona alla perfezione.
Ma poi, arriva la maledizione. Da qualche parte voi [oppure (groarrrrr!) qualcuno dei vostri partner commerciali che deve accedere a quella directory] avete un bel computer con un bel sistema operativo Windows XP che deve poter accedere a quella cartella.

Che ci vuole?!? Si usa il protocollo "Cartelle Remote" di XP, no?
Ni.

Andate su "Risorse di rete", selezionate "Aggiungi risorsa di rete", e avviate la "Aggiunta guidata risorse di rete", date avanti e selezionate (probabilmente sara' l'unica opzione disponibile, salvo complicazioni...) "Scegliere un altro percorso di rete".
Vi chiede l'indirizzo internet o il percorso di rete della risorsa, e qui casca l'asino.

Perche' supponiamo che il vostro server abbia il dominio mioserver.miodominio.com, e che la cartella dav sia "questaqui" sulla home del server. Come natura insegna voi dovreste andare a digitare http://mioserver.miodominio.com/questaqui e *si* *suppone* che XP si colleghi alla cartella con il protocollo DAV.
E invece no, saltano fuori millemila errori, l'autenticazione non passa manco a legnate, e il buon Apache gonfia a dismisura i log di errori di ogni genere, con utilissimi messaggi del tipo:

$IP - - [$data_e_ora] "PROPFIND /QUESTAQUI HTTP/1.1" 200 6258 "-" "Microsoft-WebDAV-MiniRedir/5.1.2600"

Bene, qui casca l'asino. Per collegarsi ad occhi chiusi ad una condivisione Dav, usando l'esempio che ho posto sopra, alla voce indirizzo internet o percorso, dovete indicare il server *COMPLETO* *DELLA* *PORTA*, ossia:

http://mioserver.miodominio.com:80/questaqui

Et voila', automagicamente funziona tutto alla perfezione, e senza dover smandruppare milioni di righe di configurazione del modulo o del server, e senza dover installare nessun programma scrauso sotto XP...

PS: funziona invece senza battere ciglio la sintassi, da prompt: net use q: http://mioserver.miodominio.com/questaqui [sostituite a "q:" il nome di una unita' di rete utilizzabile (-: ]

3 commenti:

Grizzly ha detto...

Si, da come potrete capire mentre voi guardavate la partita io ero in ufficio a studiare il funzionamento di mod_dav (-:

Anonimo ha detto...

Come commento va bene "non funziona" ?

Quantomeno, non col mio XP SP3.
Dice che non riesce a trovare la rete.

Dai log di apache non si cava nulla di comprensibile.
Naturalmente usando l' IP e' tutto ok.

Antonio (mc4366@mclink.it)

Grizzly ha detto...

Come commento va bene "non funziona" ?
Un tantinello scarno, magari, non credi? (-;

Dai log di apache non si cava nulla di comprensibile.
Beh, magari dillo cosa dicono questi benedetti log... (((-:

Naturalmente usando l' IP e' tutto ok.
... perche' mi fai venire il dubbio che il problema sia di DNS, oppure di virtual-server errato (funziona con l'IP perche' prende la configurazione generica, ma il virtual-server specifico per quel nome host abbia qualche errore...)

Se ti serve una mano piu' specifica scrivimi un e-mail (link in homepage), sono a disposizione.