4 Haziran 2014 Çarşamba

WebDAV ile dosya paylaşımı

Versiyonlanması gerekmeyen büyük boyutlu dosyaları versiyon kontrol sunucularında (SVN vb.) tutmak yerine farklı bir dosya paylaşım ortamı kullanmak mantıklı bir tercih olabilir. Apache sunucusu HTTP protokolüne ek özellikler kazandıran WebDAV (Web-based Distributed Authoring and Versioning) protokol standardını desteklemektedir. Bu özellik, Web sunucuları üzerinde interaktif şekidle dosya paylaşım ve düzenleme imkanını bize vermektedir. Sunucuların sunduğu bu desteği kullanabilmek için istemci tarafının da desteği gerekmektedir. Günümüzdeki çoğu işletm sistemi, dosya yöneticilerine bu desteği koymuş durumdadır.

Bu yazıda Debian üzerinde kurulu Apache 2.x Web sunucusu ve Windows 7 istemcisi kullanarak dosya paylaşımı örneklenmiştir.

Güvenlik açısından dikkat edilmesi gerekenler -- DİKKAT --

  • Web üzerinden erişimin sadece HTTPS üzerinden yapılmasına dikkat edilmelidir.
  • Kullanıcılar kısıtlı bir küme olmasına ve belirli bir dizinle sınırlanmış olmasına rağmen dışarıdan sunucu üzerine müdahale izni verilmiş olmaktadır. Bu nedenle paylaşım dizinine zararlı kod yüklenmesi olasıdır. Web sunucu ve genel olarak işletim sistemi üzerinde paylaşım dizinindeki dosyaların çalıştırılamamasını sağlayıcı önlemler ayrıca alınmalıdır.

Apache 2.x üzerinde WebDAV desteğinin etkinleştirilmesi

  • DAV modüllerinin etkinleştirilmesi
  • cd /etc/apache2/mods-enabled
    ln -s ../mods-available/dav.load
    ln -s ../mods-available/dav_fs.conf
    ln -s ../mods-available/dav_fs.load
  • Web sunucu kullanıcısının paylaşım dizine yazabilmesinin sağlanması
  • chown -R www-data:www-data /home/www-data/paylasim
    chmod -R u+rw /home/www-data/paylasim
  • Apache ayar dosyasında örnek ayarlama:
  • Alias /paylasim /home/www-data/paylasim
    <Location /paylasim>
      Dav On
      AuthType Basic
      AuthName "Paylasim"
      AuthUserFile /secrets/.htpasswd
      Require valid-user
      Options Indexes FollowSymLinks
    </Location> 
  • Ayarların aktifleştirilmesi:
  • service apache2 reload

Windows 7 istemci ayarları

  • Basic authentication etkinleştirilmesi için registry içerisinde HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\UseBasicAuth şeklinde DWORD türünde bir değer tanımlanıp içeriğine 0 dışında bir rakam atanmalıdır.
  • Sunucu SSL sertifikası Internet Exporer tarafından güvenilir görünmüyorsa install seçeneği üzerinden güvenilir sertifika havuzuna eklenmelidir.
  • Internet Explorer menü çubuğu üzerinden Tools > Map network drive seçilerek ilgili Web URL'si ağ sürücüsü olarak tanımlanır. Tanımlama esnasında "Reconnect at logon" seçilmemiş, "Connect using different credentials" seçilmiş olmalıdır. Örneğimizde tanımlanacak URL şöyle olabilir:
  • https://sunucumuz/paylasim/
  • Doğrulama bilgileri (kullanıcı adı/şifre) girilerek tanımlama işlemi tamamlanır.

Linkler