Menu

21 december 2010

WebDAV op de Mac activeren

Er zijn een aantal iOS App’s die gebruik kunnen maken van een WebDAV server om bestanden te kunnen uitwisselen. Wanneer je geen MobileMe account bezit dan kan een WebDAV server heel erg handig zijn om documenten op je Mac te benaderen via je iPad. App’s zoals Pages, Keynote, Numbers, GoodReader, etc ondersteunen het gebruik van een WebDAV server.

De WebDAV server is standaard aanwezig in Mac OS X, hij dient alleen nog geconfigureerd te worden. Helaas is dit niet voor iedere Mac OS X gebruiker een optie, de configuratie is niet mogelijk via de grafische interface maar dient te gebeuren met behulp van OS X Terminal. Begin hier alleen aan als je exact weet waarmee je bezigt bent!

Volg de onderstaande procedure om WebDAV te configureren onder Mac OS X (10.6):

1. Stop de webserver

Zorg er ervoor dat Apache webserver op je Mac is gestopt!

 ▸ Systeemvoorkeuren ▸ Delen ▸ optie: Webserver

2. WebDAV activeren 

Om WebDAV te kunnen gebruiken dient Apache bij het starten de WebDAV module en daarbij behorende config te laden. Open /etc/apache2/httpd.conf met een editor en root rechten.

Verwijder het remark ‘#‘-teken dat voor de onderstaande regels staat:

LoadModule dav_module libexec/apache2/mod_dav.so

Include /private/etc/apache2/extra/httpd-dav.conf

Sla de wijzingen op.

3. WebDAV configureren

In het WebDAV configuratie bestand gaan we de map definiëren waar de bestanden kunnen worden opgeslagen. Tevens maken we hierin een alias aan stellen we de vorm va autorisatie in.

Open het WebDAV configuratiebestand /etc/apache2/extra/httpd-dav.conf met een editor en root rechten. Vervang het complete gedeelte code vanaf DavLockDB….. tot …./Directory> door de onderstaande code:

DavLockDB "/Library/WebServer/davlocks/DAVLockDB"
    Alias /webdav "/Library/WebServer/Documents/webdav"
    <Directory "/Library/WebServer/Documents/webdav">
        Dav On
        Order Allow,Deny
        Allow from all
        AuthType Digest
        AuthName Private
        AuthUserFile "/usr/user.passwd"
        AuthDigestProvider file
        Require valid-user
        <LimitExcept GET OPTIONS>
        require user richard
        </LimitExcept>
    </Directory
>

De WebDAV server gaat gebruik maken van de map: /Library/WebServer/Documents/webdav en de alias ‘/webdav‘. Als autorisatie gebruiken we de digest optie.

Vervang richard in de regel ‘require user richard‘ door een naam naar eigen keuze. Onthoud deze naam!

4. Mappen aanmaken

Voor de opslag van de documenten en de DavLockDB is een map nodig, deze maken we aan met de onderstaande commando’s:

sudo mkdir -p /Library/WebServer/davlocks/
sudo mkdir -p /Library/WebServer/Documents/webdav       
sudo touch /Library/WebServer/davlocks/DAVLockDB

5. Schrijfrechten

De juiste rechten zijn op de mappen zijn nodig om bestanden te kunnen lezen en schrijven via de Apache WebDAV verbinding:

sudo chown -R www:www /Library/WebServer/davlocks
sudo chown -R www:www /Library/WebServer/Documents/webdav

6. Wachtwoord

Als laatste dienen we een wachtwoord te activeren voor de gebruikernaam die we hebben aangemaakt in punt 3, in mijn geval is dat de gebruikersnaam richard.

sudo htdigest -c "/usr/user.passwd" Private richard

7. Start de webserver

Start de webserver:  ▸ Systeemvoorkeuren ▸ Delen ▸ optie: Webserver

8. Verbinding testen

De WebDAV server is nu klaar voor gebruik!

Start een iPad applicatie die WebDAV ondersteuning heeft en test de verbinding. Gebruik als adres: http://ip_address/webdav en autoriseer jezelf met de gebruikersnaam en het bijbehorende wachtwoord.

Om de verbinding te testen kan je ook gebruik maken van het programma Transmit of een ander filetransfer programma dat WebDAV ondersteund.




Gerelateerde tips:




Reacties


  • Dirkuijt 21 december 2010 om 8:42

    Nice!
    Op deze manier kan je het toch op elke webserver met Apache maken?!

  • Richard IJzermans 21 december 2010 om 9:36

    Inderdaad!

  • dirkuijt 21 december 2010 om 14:16

    …building in progress…

    thanks man! Top tip!

  • Patrick 30 januari 2011 om 17:09

    Hallo,

    Als ik met transmit me connectie probeer te testen. Zegt hij dat me wachtwoord/gebruikersnaam niet goed is. Ik heb alle stappen nog een keer doorgenomen en me wachtwoord en gebruikersnaam veranderd. Maar niks helpt.

  • Tader 6 september 2011 om 12:35

    Het lijkt mij niet wenselijk om mensen aan te leren om /usr te “vervuilen”. Het is beter om de user.passwd file ergens anders te plaatsen, bijvoorbeeld in /etc/webdav of ergens anders. In de Unix standaarden horen er in principe geen confguratie bestanden in /usr/, dit pad zou in principe read-only gemount moeten kunnen zijn… http://www.pathname.com/fhs/pub/fhs-2.3.html#THEUSRHIERARCHY

    Ik zou zelf de davlocks ook ergens in /var plaatsen, maar ik weet niet wat de juiste Mac-manier is ;)

Een reactie toevoegen: