Weblog

door Carlos onder VPS Case Studies | 3 comments

Online Harde Schijf - Een Xen VPS als WebDAV server

Wij merken dat de vraag naar harde schijfruimte die online bereikbaar is enorm groeit. Veel klanten willen een online harde schijf voor backup, het gebruik van werkstations op meerdere locaties of gewoon omdat zij willen dat hun data redundant wordt opgeslagen.

De meeste groei zien wij echter bij groepen mensen die vanaf meerdere locaties bestanden willen delen. Deze groepen zitten nu nog meestal bij internet-, media- en softwarebedrijven en bij de overheid. De verwachting is echter dat het samen werken aan bestanden binnen enkele jaren gemeengoed zal worden.

Een VPS is door de flexibiliteit en de hoge mate van afscheiding het ideale product om een online harde schijf mee op te zetten. Tevens kan er, ook bij Windows filesharing, gewoon van een Linux OS gebruik worden gemaakt en dit bespaart enorm in de kosten.

Er is voor een Linux gebaseerde fileserver niet veel RAM nodig en de schijfruimte kan los worden bijgekocht naar behoefte. Een Xen VPS 1 is meestal al geschikt om een online harde schijf te maken.

Wij gebruiken de Apache mod_webdav om via een VPS online harde schijf ruimte aan te bieden. De WebDAV module stelt gebruikers in staat bestanden te editen en te beheren over het internet. De Apple dienst mobileme (het oude mac.com) maakt hier bijvoorbeeld ook gebruik van.

WebDAV faciliteert ook het gemakkelijk met meerdere gebruikers tegelijk aan 1 bestand werken, net als versiecontrolesoftware zoals SVN en CVS.

Omdat WebDAV een extensie op het HTTP protocol is heeft het ook geen last van poorten die door de access ISP geblokeerd worden. Poorten die Windows filesharing mogelijk maken worden door deze partijen vaak geblokkeerd om hacken te voorkomen. Dit maakt het echter voor file sharing programma's, zoals Samba, die deze poorten gebruiken extreem moeilijk om effectief te functioneren.

In de rest van dit artikel vindt u een howto om van een VPS een SSL-encrypted WebDAV server te maken. Wij kunnen dit natuurlijk ook voor u opzetten als onderdeel van de VPS oplevering.

Let er op dat op het moment dat u WebDAV gebruikt er restricties zitten op bestandsnamen: alleen cijfers, letters, punten, en underscores zijn geldige karakters in bestandsnamen.

WebDAV Configuratie

We zullen in dit voorbeeld CentOS 5 gebruiken. Voor andere OSsen is de werkijze hetzelfde, alleen kunnen locaties van bestanden verschillen.

Wat u nodig heeft om WebDAV te laten werken is: 
- Apache 2.x
- Apache module dav_module
- Apache module dav_fs_module
- Apache module mod_ssl
- ssh access

log in op de server als root met ssh

Edit nu de file: /etc/https/conf/httpd.conf

Wanneer er in de httpd.conf file <IfModule mod_dav_fs.c> staat, comment dat het hele blok uit (# voor de regels zetten):

# <IfModule mod_dav_fs.c>
# Location of the WebDAV lock database.
# DAVLockDB /var/lib/dav/lockdb #</IfModule>

zet daaronder:

Include /etc/httpd/conf.d/webdav.conf

maak nu het bestand /etc/httpd/conf.d/webdav.conf aan en zet daarin:

BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "Microsoft-WebDAV-MiniRedir/5.1.2600" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch"^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully 

DAVLockDB /var/lib/dav/lockdb
DAVMinTimeout 600
DAVDepthInfinity On

Alias /share "/home/dav/share"

<Directory "/home/dav/share">
DAV On
AuthName "Internet Shared Disk"
AuthType Digest
AuthUserFile /home/dav/.passwd

<Limit GET PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require user UW_GEBRUIKERSNAAM
</Limit>
</Directory>

maak de WebDAV shared folder nu schrijfbaar:

chmod 711 /home/dav/
chmod 777 /home/dav/share

maak nu het .passwd file aan door op de prompt te tikken:

htpasswd -bc /home/dav/.passwd UW_GEBRUIKERSNAAM

restart nu de webserver met het commando:

apachectl restart

De WebDAV verbinding is nu te testen door te surfen naar: http://<UW VPS>/share

(als het goed is krijgt u een 403 forbidden Error omdat er geen index.htm file in de 'webroot' staat.)

SSL Configuratie

Met onderstaande aanwijzingen maakt u een self-signed SSL certificaat op uw WebDAV verbinding te encrypten. Hiermee installeren we het self-signed SSL certificaat als default aan op de server. installeer mod_ssl met het volgende commando:

yum install mod_ssl.x86_64

Creëer een self-signed SSL certificaat door de volgende commando's uit te voeren:

mkdir /etc/httpd/ssl 
cd /etc/httpd/ssl/

openssl req -new -nodes -keyout server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key \
-out server.crt

Edit nu de file: /etc/httpd/conf.d/ssl.conf Zet een comment token (#) voor de VirtualHost regels:

# <VirtualHost _default_:443>
...
# </VirtualHost>

zorg er nu voor dat de volgende config-variabelen juist staan:

SSLCertificateFile /etc/httpd/ssl/server.crt 
SSLCertificateKeyFile /etc/httpd/ssl/server.key

nu kunt u Apache herstarten met het command:

apachectl restart

De WebDAV verbinding is nu te testen door te serven naar: https://<UW VPS>/share

(als het goed is krijgt u een 403 forbidden Error omdat er geen index.html file in de 'webroot' staat.)

Contact maken met de WebDAV Share
Windows

In de verkenner gaat u naar: 
1. Extra -> Netwerkverbinding maken
2. Kies dan voor "Meld u aan voor online opslag of maak verbinding met een netwerkserver"
3. Kies voor "Andere netwerklocatie kiezen"
4. Vul de URL in bij "Internet- of netwerkadres"
5. er zal nu een Beveiligingswaarschuwing komen omdat er een zelf-gegenereerd SSL certificaat wordt gebruikt. Dit is ok.
6. Vul naam en wachtwoord in als er om gevraagd wordt.
7. kies een naam voor de netwerklocatie
8. klik op voltooien Dan ziet u bij "Mijn Netwerklocaties" de zojuist aangemaakte share op uw VPS.

MacOS
1. Met de focus op de Finder, Druk op <Appeltje + K> of in de menubalk naar GO >> "Connect to Server" Dit opent het "Connect to server" venster
2. vul in bij het "Server Address" de URL in
3. er zal nu een Beveiligingswaarschuwing komen omdat er een zelf-gegenereerd SSL certificaat wordt gebruikt. Dit is ok.
4. Vul naam en wachtwoord in als er om gevraagd wordt.

U ziet nu een "mounted-disk" icoon en heeft nu een verbinding met uw VPS.

Comments (3)

Ctm zegt:

Werkt dit ook onder Vista? Dacht dat webdav daar niet goed onder werkte?

Lennard zegt:

Het werkt wel onder Vista maar er zijn inderdaad wat zaken om rekening mee te houden. We gaan hier toevallig de komende dagen een post over publiceren.

Anthony zegt:

Ook SVN kunnen gebruiken zou erg handig zijn. Wijzigingen aan websites kunnen committen is ook veel handiger dan met FTP werken.

Laat een reactie achter

  • * Verplichte velden
VPS Bestellen
VPS Bestellen